DA14585中如何将Peripheral改为Broadcaster

15 篇文章 1 订阅
4 篇文章 1 订阅

本文主要讲解如何将普通的可连接角色改为广播角色,只广播数据但不进行连接。
在一般情况下的BLE 一对一连接时,是需要与主机连接的,并且要设定服务,而Broadcaster角色适合用于不需要连接的场合,比如空间环境温度检测,多传感器布局的情况。

一、如何实现

第一处修改:

在这里插入图片描述

第二处修改:

在这里插入图片描述

第三处修改:

在修改发送广播的数据包类型为non_connectable。
在这里插入图片描述
这里需要注意的是app_add_ad_struct里,需要判断添加的数据是在广播数据里还是扫描响应数据里,根据实际情况修改。

第四处修改:

新增user_app_on_adv_nonconn_complete函数接口,与app_on_adv_nonconn_complete对应。
在这里插入图片描述
在user_app_on_adv_nonconn_complete中写入应用层算法,比如这里是广播停止后继续广播。
之后我们的广播类型就是不可链接的广播角色数据了。

二、数据传送

那么,我们如何在广播数据中发送有效数据呢。这里只需要按照特定格式追加在广播信息中就好了
在DA14585的SDK中有提供专门的函数接口static void app_add_ad_struct(struct gapm_start_advertise_cmd *cmd, void *ad_struct_data, uint8_t ad_struct_len, uint8_t adv_connectable);
通过以上接口,我们定时更新ad_struct_data对应的数据参数就可以了。
结果如下:
在这里插入图片描述

数据类型为0xFF是厂商自定义数据段,后面的数据是需要广播的数据。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TomWang-0214

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值