Lazy loaded image
🗒️4.nimble案例分析—blehr
00 min
2024-11-30
2024-12-22
type
status
date
slug
summary
tags
category
icon
password

1.简介内容

这是一个基于蓝牙实现心率传感器数据收发的示例,展示了如何通过蓝牙协议栈实现心率数据的传输和交互。
在这个示例中,设备通过 GATT 服务提供了一个心率测量特征。心率数据通过带通知属性的特征(TX 特征)实时发送给手机或其他蓝牙中心设备
核心功能包括:
  1. 数据采集与发送
    1. 心率传感器周期性采集用户的心率数据,并将其通过蓝牙通知的形式发送给连接的设备(如手机 APP)。这需要对蓝牙特征启用通知功能,确保数据可以实时传递。

2.软硬件平台

硬件平台是nordic的nrf5x系列开发板nrf52832。
软件平台采用的是nrf5x系列芯片的RT-Thread嵌入式系统工程,使用了nimble软件包

3. 试验

 

3.1. 验板

notion image

3.1.1. 程序配置设置

步骤跟第一章都是一样的,区别在于选择示例的时候要选择heartrate sensor
notion image

3.2. 实验结果

把示例编译烧入板子后,来到串口控制台输入ble_hr运行实例
notion image
当程序在开发板运行后,使用nRFconnect可以搜到对应的蓝牙
notion image
连接后可以看到心率传感器的服务特征以及一个设备的信息
点击第一个特征旁边的读取箭头就能把通知打开
然后就会不断地收到来自设备的心率数据
notion image

4. 代码分析

示例的启动函数相比于前面的案例多了一个开启定时器的函数
这个示例的核心功能是模拟生成心率数据,并通过蓝牙发送给手机。
设备通过心率测量特征向手机发送模拟的心率值,利用蓝牙的通知属性,将生成的心率数据实时推送到手机端。整个实现展示了如何基于蓝牙协议栈完成简单的数据生成和传输功能,同时为进一步扩展提供了基础框架。
在服务和特征的配置中,示例设置了两个服务,并为其中的特征分别实现了回调函数。当 APP 端尝试读取数据时,设备会触发相应的回调函数,根据特定逻辑生成或返回数据,从而实现与 APP 的交互。
 
 
💡
有关题目或文章的问题,欢迎您在底部评论区留言,一起交流~
上一篇
C语言指针-无重复字符的最长子串-[leetcode-3]
下一篇
3.nimble案例分析—UART串口

Comments
Loading...