Solution: BLE Accelerometer¶
1 功能概述¶
本文主要介绍 PAN10xx BLE Accelerometer和手机 APP 进行连接,通过 APP 上报Accelerometer实时坐标并修改上报时间间隔, 此功能支持pan107x
芯片
2 环境要求¶
board:
pan107x evb
uart (option): 显示串口log
NRF Connect/BLE调试助手APP
3 编译和烧录¶
pan107x
芯片例程位置:<home>\nimble\samples\solutions\ble_accelerometer\keil_107x
使用keil
进行打开项目进行编译烧录。
4 演示说明¶
PAN107 EVB板GPIO P07、P10与g-sensor电路用跳线帽连接。
EVB板上电灯的颜色默认是蓝色,BLE广播设备的名字是”b+acc sensor” 。
打开安卓手机”NRF Connect“ app,在app上启动搜索设备。
搜索到后点击连接,连接成功后就可以控制g-sensor的定时上报及显示实时坐标。
5 设备连接和控制¶
5.1 广播数据¶
Adv Data Type |
Description |
Length |
Detail |
---|---|---|---|
0xff |
Device id |
10byte |
0xD1, 0x07, 0xc9, 0x7a, 0xbb, 0x8f, 0xdd, 0x4b, 0x00, 0x11 |
0x07 |
128-bit UUID |
16byte |
0x9e, 0xca, 0xdc, 0x24, 0x0e, 0xe5, 0xa9, 0xe0, |
0x09 |
Device name |
n byte |
“b+acc sensor” |
5.2 GATT服务¶
Function |
Service Attribute |
UUID(128bit) |
---|---|---|
Useless |
Primary service |
0xE9, 0x5D, 0x07, 0x53, 0x25, 0x1D, 0x47, 0x0A, |
Notify g-sensor的坐标 |
Notify characteristic declaration |
0xE9, 0x5D, 0xCA, 0x4B, 0x25, 0x1D, 0x47, 0x0A, |
控制g-sensor的周期 |
Write characteristic declaration |
0xE9, 0x5D, 0xFB, 0x24, 0x25, 0x1D, 0x47, 0x0A, |
5.3 通信协议¶
5.3.1 Period Control¶
UUID = {0xE9, 0x5D, 0xFB, 0x24, 0x25, 0x1D, 0x47, 0x0A,0xA0, 0x62, 0xFA, 0x19, 0x22, 0xDF, 0xA9, 0xA8}
Period(ms) |
Length |
Detail |
---|---|---|
500 |
1byte |
0x01 |
1000 |
1byte |
0x02 |
1500 |
1byte |
0x03 |
2000 |
1byte |
0x04 |
控制Accelerometer上报周期时间。
5.3.2 Notify Accelerometer Coordinate¶
UUID = {0xE9, 0x5D, 0xCA, 0x4B, 0x25, 0x1D, 0x47, 0x0A,0xA0, 0x62, 0xFA, 0x19, 0x22, 0xDF, 0xA9, 0xA8}
每次收到控制命令后将Accelerometer的实时坐标通知给手机app。