Android手机Nexus One连接Apple Bluetooth Keyboard
Posted on August 20, 2010 by henry
首先所有带蓝牙的android手机理论上都是可以连接蓝牙键盘鼠标的(Human Interface Device),不幸地是官方的蓝牙profile中默认不包括HID profile。所以只有采用第三方的ROM如Cyanogen(CM6版本以上)或在官方的rom上搭配bluez utility来实现蓝牙键鼠的连接。
这里我们仅讨论第二种在官方ROM上添加工具的方案。手机必须取得root权限,或者是ADP (Android Dev Phone),并且需要安装busybox。
1. 先下载需要的工具。
$ wget http://androidobex.googlecode.com/files/hciconfig
$ wget http://androidobex.googlecode.com/files/hcitool
$ wget http://androidobex.googlecode.com/files/hidd
2. 提升到root权限,并且将/system挂载成可读写,默认为read-only
$ su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# chmod 777 /system/xbin
3. 从本地复制第一步下载的文件到手机
$ adb push hidd /system/xbin
$ adb push hcitool /system/xbin
$ adb push hciconfig /system/xbin
4. 如果你的手机不是ADP的话,可能无法直接从本地电脑复制文件到手机。这样你可以先用usb线连接手机,把以上三个文件复制到sdcard根目录上,然后执行。
# cp /sdcard/hidd /system/xbin/
# cp /sdcard/hcitool /system/xbin/
# cp /sdcard/hciconfig /system/xbin/
5. 打开手机蓝牙,在Settings -> Wireless & network settings -> Bluetooth settings中找到键盘并且配对。pin code可以填写0000,配对成功后会发现该设备显示为’paried but not connected’,这是因为缺少HID profile。
6. 现在要用到之前拷入手机的三个文件。实际情况中设备的Mac地址会与下面的例子有所不同,根据实际情况输入。
# hciconfig
hci0: Type: UART
BD Address: 00:22:A5:B8:AD:65 ACL MTU: 1021:4 SCO MTU: 180:4
UP RUNNING PSCAN
RX bytes:8672 acl:98 sco:0 events:285 errors:0
TX bytes:3336 acl:102 sco:0 commands:89 errors:0
# hcitool dev
Devices:
hci0 00:22:A5:B8:AD:65
# hcitool scan
Scanning …
00:1D:4F:A7:9A:49 Apple Wireless Keyboard
# hidd –connect 00:1D:4F:A7:9A:49
# hcitool con
Connections:
< ACL 00:1D:4F:A7:9A:49 handle 1 state 1 lm MASTER
9. 至此,Apple Bluetooth Keyboard连接成功。打开任意程序,蓝牙键盘敲击的键将出现在输入栏。经过测试,谷歌中文法也可以正常使用并且可以用数字键选择候选字。
10. 剩下的问题就是苹果的键盘的多功能键(调节音量,屏幕亮度)暂时还不能在手机里使用,有待进一步研究如何修改这几个键位。
分享到:
相关推荐
首先,Android手机变成滑动鼠标键盘的核心技术是利用蓝牙或Wi-Fi进行无线通信。这些无线协议允许Android设备与电脑之间建立连接,传输触摸屏上的手势和按键信息。对于蓝牙,需要设备支持蓝牙 HID (Human Interface ...
这可能是一个Java项目,包含实现BLE HID功能的核心代码,包括初始化蓝牙连接,注册HID服务,处理键盘和鼠标事件,以及通过BLE将这些事件转发到目标设备的逻辑。 在实现这样的功能时,开发者可能需要以下关键知识点...
蓝牙支持多种设备间的连接,如手机、电脑、耳机等,其主要特点包括: - **传输范围**:10cm到10m之间,通过增强功率或外设可扩展至100m。 - **频段**:2.4GHz ISM频段。 - **调制方式**:跳频扩频技术。 - **数据...
在本案例中,我们关注的是"短信远控电脑 V2.0 Bate",这表明这是一个通过短信进行远程控制的系统版本,可能用于应急操作或者是在没有Wi-Fi或蓝牙连接的情况下远程操控电脑。 1. **短信通信机制**: - 短信作为控制...
- **蓝牙API**:改进了蓝牙功能,支持蓝牙A2DP和HFP配置文件。 - **数据同步**:增强了数据同步框架,包括Exchange支持。 - **Wi-Fi热点**:允许设备作为Wi-Fi热点共享互联网连接。 - **相机**:提供了更高级的相机...
这为远程控制提供了可能,比如用户可以通过智能手机或平板电脑上的BLE-HID设备,通过WebSocket连接来控制家中的智能设备,例如电视、灯光或空调。 Mongoose是这个项目中用到的一个关键库,它是一个开源的Web服务器...
内核层是Android系统的基础,依赖于Linux 2.6内核,包含了各种设备驱动,如显示、键盘、内存、相机、音频、蓝牙、WiFi、Binder IPC,以及电源管理、进程管理、内存管理等核心服务。对于传感器,驱动层会根据硬件特性...
- **Android键盘**:介绍标准的Android键盘。 - **TouchPal**:介绍一种流行的第三方键盘。 - **谷歌拼音输入法键盘**:介绍谷歌提供的拼音输入法。 - **使用屏幕键盘**: - **输入法简介**:概述不同类型的...