当前页面为 开发中 版本,查看特定版本的文档,请在页面左下角的下拉菜单中进行选择。

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 演示说明

  1. PAN107 EVB板GPIO P07、P10与g-sensor电路用跳线帽连接。

  2. EVB板上电灯的颜色默认是蓝色,BLE广播设备的名字是”b+acc sensor” 。

  3. 打开安卓手机”NRF Connect“ app,在app上启动搜索设备。

  4. 搜索到后点击连接,连接成功后就可以控制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,
0x93, 0xf3, 0xa3, 0xb5, 0x01, 0x20, 0x40, 0x6e

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,
0xA0, 0x62, 0xFA, 0x19, 0x22, 0xDF, 0xA9, 0xA8

Notify g-sensor的坐标

Notify characteristic declaration

0xE9, 0x5D, 0xCA, 0x4B, 0x25, 0x1D, 0x47, 0x0A,
0xA0, 0x62, 0xFA, 0x19, 0x22, 0xDF, 0xA9, 0xA8

控制g-sensor的周期

Write characteristic declaration

0xE9, 0x5D, 0xFB, 0x24, 0x25, 0x1D, 0x47, 0x0A,
0xA0, 0x62, 0xFA, 0x19, 0x22, 0xDF, 0xA9, 0xA8

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。

6 RAM/Flash资源使用情况

PAN107x:

Flash Size: 127.64k
RAM Size:  33.60 k