智能手机模拟蓝牙键盘

时间:2022-06-30 02:47:08

智能手机模拟蓝牙键盘

摘要:该文主要分析如何在现今非常红火的Android平台上,利用Android现有架构实现智能手机模拟蓝牙键盘的功能。侧重点在于其原理及实现方案要点,不深入探讨实现的代码细节。

关键词:智能手机;模拟;蓝牙键盘;Android平台

中图分类号:TN929 文献标识码:A 文章编号:1009-3044(2013)13-3136-04

1 蓝牙在Android平台上的应用

2007年6月,苹果公司在美国推出iphone,由此拉开了智能手机的时代。随后,Google公司推出基于Linux平台的开源智能手机操作系统―Android,其市场份额很快直追iOS和RIM。除了智能手机,平板电脑厂商也相继推出Android平台的产品。

Android从最初的1.0发展到现在的2.3,以及专门面向平板电脑的3.0版本,功能越来越丰富,系统也越来越稳定。随着无线技术的广泛应用,蓝牙技术在手机上应用也非常广泛,如蓝牙耳机听音乐、打电话;手机间通过蓝牙传输文件或联系人;笔记本电脑通过蓝牙利用手机拨号上网。该文则重点介绍怎样在Android平台上实现将手机模拟成蓝牙键盘,通过蓝牙连接支持蓝牙HID的电脑,便可以通过手机操作电脑或向电脑输入数据。

控制通道:用于传输一些控制信息,如断开虚拟缆线。

中断通道:传输HID设备的报告数据,如按键等。

连接过程可以由HID主机或HID设备发起,先建立控制通道,然后中断通道。两个通道都建立好后,HID设备即可开始传输事件(如键盘按键等)。

3 蓝牙键盘模拟应用的功能场景

键盘端输入pin验证

如果host和键盘的pin码一致,验证通过,双方建立好信任关系(生成linkkey);

解除配对的过程可以由host或者蓝牙键盘任何一方发起,解除配对的一方会将自己保存的对方的linkkey删除,信任关系解除。

3.2可被发现模式

蓝牙键盘需要置为可被发现模式,才能被没有配对蓝牙键盘的设备搜索发现;

3.3 连接/断开连接

由Host发起连接:Host发起连接请求,键盘接受请求,即可完成连接;

由蓝牙键盘发起连接:蓝牙键盘虽然无法搜索或显示周围的host,但如果上次连接的Host的信任关系还保存着,只要有按键操作,键盘也会主动尝试连接最后一次连接的Host。

Host和键盘都可以发起断开连接操作。

3.4 键盘输入

键盘模拟程序主要提供用户操作的界面,主要功能:

显示模拟键盘与HID主机的连接状态

绿色:以连接到某HID主机,在连接状态按下Connected按钮,可以断开与主机 的连接;

灰色:没有与任何HID主机连接

显示Caps Lock的状态

绿色:Caps Lock状态;在非Caps Lock状态按下Caps键,将进入该状态;

灰色:非Caps Lock状态;在Caps Lock状态按下Caps键,将进入该状态;

提供各按键的操作按钮

4.3.4 其他

将手机置为可被其他设备搜索到的模式的功能已经在标准Android的BluetoothSetting中实现,利用既有功能即可。

5 结束语

本文重点介绍了智能手机模拟蓝牙键盘的实现方法,进而可以通过蓝牙键盘远程控制电脑。随着智能手机的推广,人们对移动性的充分利用的需求将会越来越多,可以进行近距离通信的蓝牙方式必将成为开发的热点。该文所实现的功能将为移动学习和办公带来极大地便利。

参考文献:

[1] Bluetooth HUMAN INTERFACE DEVICE (HID) PROFILE V1.0,Bluetooth Special Interest Group (SIG) [Z].

[2] Universal Serial Bus Device Class Definition for Human Interface Devices(HID),Version1.11[Z].

上一篇:组合最优化与计算复杂性综述 下一篇:“吸金”黄渤,不红不行