原创 BLE之让iphone4s控制我的PC

2012-8-22 19:29 5232 9 9 分类: 消费电子

iphone4s一个重要革新是集成了蓝牙4.0(BT4.0),这是双模蓝牙,支持低功耗,简称BLE,关于蓝牙的方面,可以直接到官网下些文件来了解.

今天对BLE作一简单的说明,好让各位明白用iphone4s大致是怎么控制到PC的,BLE中有多种角色,其中两种是Central和Peripheral,相当于主和从的意思,一个Central可以连接多个从,主从之间可以双向通信,手机是Central. 

为实现标题所言的功能,首先给在iphone4s写一个app,让它产生一个键盘的UI,并且在键按下后可以通过BLE将按下的键发送给Peripheral.至于如何写这么一个app,请移步百度搜索.

在Peripheral一边可以接收到这个键值,之后要通过USB发给PC,这一步就像使用USB键盘一样,使用CC2540会比较容易实现这一环节,因为它自有USB接口,且有TI已经实现的USB HID协议.在BLE-stack 1.1a版本当中,可以找到HIDDemo.eww这一例程,它原本是Central,可以再连接一个BLE键盘,这里以它为原型作更改,利用USB的部分,改变BLE角色,使之成为Peripheral,可以和手机连接.

这个想法已经实现,现在讲个大概:

 

给工程添加peripherel库"ble_single_chip_slave_pm_off.lib"
 
移除工程中现有的central.c/.h文件
 
增加文件peripheral.c/.h, 路径在"Projects\ble\Profiles\Roles"
 
增加文件simpleGATTprofile.c/.h, 路径在"Projects\ble\Profiles\SimpleProfile"
 
修改peripheral.c中updateReq.intervalMin = gapRole_MinConnInterval-20;
与苹果连接时必须如此设置.
 
修改simpleGATTprofile.c中Characteristic 1 Value为数组.
修改相应的读写回调函数
 
修改hidapp.c文件
增加函数simpleProfileChangeCB,并在些函数中实现对于接收到的按键的处理.将字发送到USB.
 
如果大伙有兴趣,可以到以下网址寻找资源.
http://dl.dbank.com/c040eraaob
 
1.1a版本协议下载地址:
http://dl.dbank.com/c040eraaob
ble

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条