ble连接过程建立_期一个BLE项目,根据项目可以衍生出BLE设备一主多从的一般性方法...

本文介绍了一个基于CC2541芯片的BLE主设备项目,该项目需要连接4个固定的从设备,实现自动连接、身份识别和数据读取。通过分析广播包、设备名和Mac地址作为识别方式,最终选择了Mac地址匹配方法进行设备筛选和自动绑定。通过MulticonnHandle[]存储从机连接handle,实现了多设备的通知型数据读取。方案适用于需识别绑定专属BLE设备且一主多从的场景,但因CC2540/1芯片限制,最多支持1拖3,建议使用CC2640/CC2650芯片扩展连接数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

期一个BLE项目,整套方案做下来发现虽然需求特殊,但是根据这个项目可以衍生出BLE设备一主多从的一般性方法。

项目的需求基本如下:

1.实现基于CC2541芯片的蓝牙主机固件代码,要求主机1拖4从机;

2.上电自动、同时连接4个BLE设备;

3.身份识别需求:扫描绑定这4个唯一设备,不允许自动连接其他BLE设备

4.同时连接的情况下,读取4个BLE设备的通知型数据,并串口封包转发。

这个项目的麻烦在于需求3,4的实现,需求2要求上电自动连接多个BLE设备本来问题不大,但是需求3要求设备绑定,于是最初考虑的方法是:

1.采取广播包识别设备UUID的方式,类似iBeacon广播包中16个字节的UUID,可以作为唯一身份识别;

2.读取扫描应答包的设备名作为唯一识别标准;

3.根据设备的Mac地址作为设备的身份识别。

iBeacon是苹果推出的基于BLE4.0技术的应用层解决方案,主要利用BLE广播包进行信息的推送等服务,在长度受限的广播包中定义了16个字节的UUID,作为iBeacon设备的唯一识别码,这也是蓝牙2.4G作为有源RFID的一个方案之一。应该来说,在广播包里存放身份ID是最佳方案,无需建立连接即可唯一识别设备。

但是,这个项目的4个从机: 血压、血氧、血糖、血脂设备均为固定蓝牙设备,我无法修改其固件代码,只能动主机代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值