专栏中心

EEPW首页 > 专栏 > (转)蓝牙广播数据格式和动态改变

(转)蓝牙广播数据格式和动态改变

发布人:电子禅石 时间:2018-07-26 来源:工程师 发布文章

本文由嵌入式企鹅圈原创团队成员黄鑫提供。 

广播内容的自定义是蓝牙BLE开发的基本技能,用户最多能够设置31字节。但是用户定义是必须要遵循BLE协议的。另外,ibeacon应用和一些特定的应用要利用广播来传递数据,而且不同时间段的广播内容还会改变,如ibeacon的major/minor和电量显示等待。本文即阐述蓝牙的广播数据格式和动态改变。

参考文档:bluetooth specification version 4.0, p1735-p1738

一、广播数据格式

总共31字节,由一个或者多个广播结构单元组成,每个单元由长度Length、广播内容类型AD Type、广播数据AD Data组成;长度为AD Type加上AD Data的长度,不包括长度自身所占字节。

二、常见广播内容类型AD Type

1.flag

AD Type是0x1,代表广播模式。LElimited Discoverable(AD data是0x0)是有限时间广播,而General Discoverable(AD data是0x1)是无限广播,直到被主动停止广播。

2. Manufacture specific data

AD Type是0xff,代表厂商数据,自定义的数据可以写到这里。很多第三方场景应用都是利用这个字段来进一步定义应用协议格式,如微信的airsync协议和ibeacon协议。

3. service

代表服务的UUID,一般用16bit的UUID。如微信airsync协议的ServiceUUID是0xFEE7。

4. TX POWER LEVEL

发射功率,主机根据它和RSSI就可以计算主机到从机的距离,ibeacon室内定位即是利用这点。


5. local name

设备名称

常见的广播内容类型就是上面五种,其他的不常见就不讲了。

三、广播动态改变

动态改变其实跟各个蓝牙单芯片的sdk事件处理机制有关,但是对于CC2541、DA14580和nrf52832等平台来说,他们的处理基本是一样的:

1)要想改变广播内容,必须先停止广播,再进行广播内容更新,然后重新广播生效。

2)必须要等到底层BLE协议栈完全停止广播后,发送确认信息给应用层之后,才能改变广播内容并重新广播。

以DA14580来举例,其在一直广播过程中,在需要改变广播内容时,要先向GAPM(广播属于GAP层管理)发送GAPM_CANCEL_CMD取消广播,底层处理完会受到一个GAPM_CMP_EVT完成的事件,在该事件处理中修改广播内容,并重新发送GAPM_START_ADVERTISE_CMD命令开始广播。

四、广播TIMEOUT

       对于DA14580来说,其默认是一直广播下去的,直到被取消或者转到连接状态。如果希望只广播一定时间就进入睡眠,则需要定义一个timer。

       对于nrf52832来说,其接口内置一个定时器,可以设置无线广播,也可以设置一个时间,时间到了就会收到一个TIMEOUT事件。

 

关注微信公众号:嵌入式企鹅圈,获得上百篇物联网原创技术分享!


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

村田汽车电子元件技术交流会现场视频7

视频 2008-08-22

用生成式系统级芯片(GenSoC)来重新定义硬件可编程性

华清远见嵌入式系统开发课程2

视频 2008-10-29

CAM350教程汇编PDF版

特斯拉在配备全自动驾驶软件的汽车发生事故后面临调查

Imec推出300mm GaN计划以驱动下一代功率器件

华清远见嵌入式系统开发课程4

视频 2008-12-31

益莱储携手安立,参加2025 台北国际电子暨物联网展

中国对所有英伟达人工智能芯片进口实施管控

AMD和索尼重新思考PS6芯片组图形处理流水线

抢先试产的英特尔18A PK 台积电N2

EDA/PCB 2025-10-11

探索台积电的OIP生态系统优势

EDA/PCB 2025-10-11

好消息!

jackwang 2002-09-28

好消息!

jackwang 2002-09-28

Wolfspeed股票疯狂卷土重来的背后

电源与新能源 2025-10-11

CAM350培训资料

华清远见嵌入式系统开发课程1

视频 2008-10-08

CAM350锣带制作指示

软银正寻求50亿美元贷款投资OpenAI,计划用Arm股票抵押

智能计算 2025-10-11

华清远见嵌入式系统开发课程3

视频 2008-11-11

CAM350应用技巧说明书(英文版)

更多 培训课堂
更多 焦点
更多 视频

技术专区