OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5560|回复: 0

低功耗蓝牙BLE之让iPhone5s控制个人PC

[复制链接]

21

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2013-3-2
在线时间
0 小时
发表于 2013-10-8 21:29:59 | 显示全部楼层 |阅读模式

 

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

今天对BLE作一简单的说明,好让各位明白用iPhone4s大致是怎么控制到PC的,BLE中有多种角色,其中两种是CentralPeripheral,相当于主和从的意思,一个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.cupdateReq.intervalMin = gapRole_MinConnInterval-20;

与苹果连接时必须如此设置.

修改simpleGATTprofile.cCharacteristic 1 Value为数组.

修改相应的读写回调函数

修改hidapp.c文件

增加函数simpleProfileChangeCB,并在些函数中实现对于接收到的按键的处理.将字发送到USB

果大家有兴趣,可以到以下网址寻找资源或联系我

http://dl.dbank.com/c040eraaob

jordum@szrfstar.com Jordum Cheung

1.1a版本协议下载地址:

http://dl.dbank.com/c040eraaob

 

领先的低功耗射频技术解决方案商
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 21:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表