这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 有奖活动 » 【e起DIY】低功耗蓝牙温湿度计:完结篇-蓝牙广播数据

共1条 1/1 1 跳转至

【e起DIY】低功耗蓝牙温湿度计:完结篇-蓝牙广播数据

高工
2026-06-07 19:09:22     打赏

简介

在前两篇文章中 【e起DIY】低功耗蓝牙温湿度计:开箱和环境搭建以及【e起DIY】低功耗蓝牙温湿度计:驱动DHT11 中我们分别介绍了环境的搭建、HelloWorld demo 以及如何驱动DHT11,那么在本章节中我将介绍如何通过蓝牙把数据广播出去。


实现思路

项目的实现思路是非常简单的即将所有的功能拆分为小的模块,然后再组装在一起,在项目的前期我们已经实现了对DHT11的RTOS驱动也成功的使用串口进行了输出。 所以本篇文章的重点即在如何使用蓝牙来把之前的DHT11的数据发送出去,好在NXP的资源demo比较丰富,可以直接使用最基础的蓝牙的服务上面进行修改,从而来完成项目的整体设计。



1- 首先这里如果想广播数据的话需要向这块开发板的蓝牙芯片中写入对应的固件,如果你正常安装的话,即可找到下述的固件

image.png

2- 把这个蓝牙固件烧录到蓝牙芯片内。我这里的包使用的是spsdk ,如果没有安装这个包的话建议使用虚拟环境安装。然后按住ISP按键和boot按键把开发板进入到boot模式。

26bcec64725529419fb22632979b75d6.png

连接成功后会如下所示能够扫描到UART的设备,然后进入到对应的固件文件夹内使用blhost把这个固件烧录到开发板中。 之后就可以在vscode中写对应的蓝牙代码了。如果不烧录这个固件的话会导致蓝牙没有响应。

3- 软件example的选择。 我这里的软件选择的是Ble_SENsor的demo

image.png

它这里默认的demo是通过手机的APP可以控制板载的LED灯的闪烁和熄灭。 我们将上述的代码和DHT11的代码进行组合。

4- 然后使用STBLE ToolBox进行连接。

4eca9aef05485a8da39cf9e2a1b5f34d.jpg已经可以找到上述的P2P设备,然后进行连接。

5 - 找到对应特征ID的服务,然后读取数据。

4a977ac256c1f0ec85fcf66500b624b3.jpg


6 - 对比串口的温度输出和蓝牙工具箱的数据输出如下所示。

1444097dabaca107261196eee7d8398a.jpg可以看到上述温度的输出是32度,即0x20 , 和FE44的服务的响应一致。 0x37 对应是55,和对应湿度的55%对应。 即输出正确。


总结

这里的蓝牙代码相对比较复杂一点,建议是使用AI来辅助完成。 这里的提示词思路是先把DHT11的驱动写好,然后进入到对应的蓝牙文件夹内让AI参考蓝牙的正确代码然后把DHT11的结合进去这样输出的代码大规律不会出错。






关键词: Zephyr     蓝牙     湿度计    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]