蓝牙无线传感器
蓝牙无线传感器
概述
本文主要描述蓝牙无线传感器/采集器设备的蓝牙服务和特征值以及相关接口。
振动动传感器
- 内置加速度传感器
- 采集加速度数据并进行 FFT 转换
BN5001
本节主要描述 BN5001 (振动传感器) 可选实现的服务,特征值以及配置参数等
服务和特征值
下面是设备支持的服务和特征值列表
TYPE | UUID | REQ | MANDATORY | NOTE |
---|---|---|---|---|
Generic Access Service |
0x1800 | M | - | - |
- Device Name | 0x2A00 | M | Read | Motor Sensor |
- Appearance | 0x2A01 | M | Read | 0x00 |
- Slave Preferred .. | 0x2A04 | M | Read | - |
Generic Attribute Service |
0x1801 | M | - | - |
- Service Changed | 0x2A05 | M | Indicate | - |
Device Information Service |
0x180A | M | - | - |
- Manufacturer Name String | 0x2A29 | M | Read | TDK |
- Model Number String | 0x2A24 | M | Read | BN5001 |
- Firmware Revision String | 0x2A26 | O | Read | x.x |
- Hardware Revision String | 0x2A27 | O | Read | x.x |
UART Service |
0x0001 | M | - | - |
- RX | 0x0002 | M | Read,Notify | 需要解锁 |
- TX | 0x0003 | M | Write | 需要解锁 |
Configuration Service |
0x7600 | M | - | - |
- Capabilities | 0x7501 | M | Read | 需要解锁 |
- Configuration | 0x7680 | M | Write | 需要解锁 |
- Lock State | 0x7506 | M | Write | - |
- Unlock | 0x7507 | M | Write | - |
- Factory Reset | 0x750b | O | Write | 需要解锁 |
DFU Service |
- | M | - | - |
- 具体请参考 DFU Service | - | M | - | 需要解锁 |
备注:
M
表示必须实现的服务或特征值O
表示可选实现的服务或特征值A
表示需要认证 (解锁) 以后才能读写的特征值
配置参数
下面是设备支持的配置参数
Name | Type ID | TYPE | SIZE | REQ | R/W | NOTE |
---|---|---|---|---|---|---|
Name | 0x01 | utf8 | - | M | RW | 设备本地名称 |
ADV Interval | 0x03 | uint16 | 2 | M | RW | 广播间隔,单位为毫秒 |
Radio Tx Power | 0x04 | int8 | 1 | M | RW | 无线发射功率 |
Supported Tx Power | 0x08 | int8[] | N | M | R | 只读,支持的发射功率,从小到大 |
Power Voltage | 0x80 | uint16 | 2 | M | R | 只读,电池电压 |
Device ID | 0x32 | utf8 | - | O | RW | 设备 ID |
Device Secret | 0x33 | utf8 | - | M | RW | 设备密钥 |
Slave Address | 0x34 | uint8 | 1 | O | RW | 从机地址码 |
Resolution | 0x70 | uint8 | 1 | O | RW | 频率分辨率,0: 低,1: 高 |
Sample Rate | 0x71 | uint16 | 2 | O | RW | 采样频率,单位Hz |
Update Interval | 0x72 | uint16 | 2 | O | RW | 更新间隔,单位秒 |
Axis | 0x73 | uint8 | 1 | O | RW | 振动方向,bit0~2: x,y,z |
Window | 0x74 | uint8 | 1 | O | RW | 窗函数,0,1,2,3 |
备注
频率分辨率模式 - Resolution
设置频率的分辨率
- 0:低分辨率模式,512个采样点
- 1:高分辨率模式,1024个采样点
采样频率 - Sample Rate
振动传感器的采样率,单位Hz,无符号整数
更新间隔 - Update Interval
设置传感器的数据发送间隔,单位:秒,无符号整数
振动方向 - Axis
获取特定方向的振动加速度值,无符号整数
- bit0:是否获取X方向振动数据
- bit1:是否获取Y方向振动数据
- bit2:是否获取Z方向振动数据
- bit3:是否获取XYZ三轴矢量合成后的振动数据
1 打开,0 为关闭
窗函数 - Window
为了防止频谱泄露,需要对时域信号进行加窗处理
-
- Rectangular 窗
-
- Bartlett 窗
-
- Hanning 窗
-
- Hamming 窗
振动数据格式
因为蓝牙数据包大小限制,单个数据包不能超过 200 个字节,振动数据需要分包传输。
第一个包的格式
ID | NAME | SIZE | SAMPLE | NOTE |
---|---|---|---|---|
1 | Packet Count | 1 | 0x02 | 总共包数 |
2 | Code | 1 | 0x03 | 功能码,总是为 0x03 |
3 | Size | 1 | 0x22 | 随后字节数, 单位为字节,最大为 200 |
4 | Serial Number | 1 | 0x00 | 包序号,从 0x00 开始, 依次递增 |
5 | Header Length | 1 | 0x06 | 消息头数据长度 |
6 | Points | 2 | 512 | 频点数 |
7 | Sample Rate | 2 | 1600 | 采样率 |
8 | Axis ID | 1 | 0x01 | 0x01 表示 x, 0x02 表示 y, 0x04表示 z 轴 |
9 | Flags | 1 | 0x00 | 标志参数 |
10 | Data 1 | 2 | 0x0022 | 第一个频点数据 |
11 | Data ... | 2 | 0x0022 | 第 N 个频点数据 |
12 | Data X | 2 | 0x1034 | 最后一个频点数据 |
13 | CRC | 2 | 0x0000 | 保留字节,总是为 0x0000 |
- 频点数为大端模式 16 位整数数组 (高字节在前),单位为
1/256
G
第二个包的格式
ID | NAME | SIZE | SAMPLE | NOTE |
---|---|---|---|---|
1 | Packet Count | 1 | 0x02 | 总共包数 |
2 | Code | 1 | 0x03 | 功能码,总是为 0x03 |
3 | Size | 1 | 0x22 | 随后字节数, 单位为字节,最大为 200 |
4 | Serial Number | 1 | 0x01 | 包序号,从 0x00 开始,依次递增 |
5 | Header Length | 1 | 0x00 | 消息头数据长度,总是为 0 |
6 | Data 1 | 2 | 0x0022 | 第一个频点数据 |
7 | Data ... | 2 | 0x0022 | 第 N 个频点数据 |
8 | Data X | 2 | 0x1034 | 最后一个频点数据 |
9 | CRC | 2 | 0x0000 | 保留字节,总是为0x0000 |
其他包格式同第二个包的格式
工作流程
- 冷启动开机
- 开始广播等待主机连接,超过 10 秒没有连接则进入休眠
- 主机连接连接成功,开始测量,超过 10 秒没有测量成功则进入休眠
- 测量完成,开始发送
- 发送完成,进入休眠
- 定时唤醒,回到状态 2, 定时唤醒定时器为 1 分钟 (可以设置)
- 如果主机连接后未成功解锁 1 分钟后主动断开,并且 5 分钟内不许再连
温湿度传感器
- 内置温湿度传感器
- 内置大气压传感器
BN1005
本节主要描述 BN1005 和 BN5003 (温湿度传感器) 可选实现的服务,特征值以及配置参数等
服务和特征值
下面是设备支持的服务和特征值列表
TYPE | UUID | REQ | MANDATORY | NOTE |
---|---|---|---|---|
Generic Access Service |
0x1800 | M | - | - |
- Device Name | 0x2A00 | M | Read | Solar Beacon |
- Appearance | 0x2A01 | M | Read | 0x00 |
- Slave Preferred .. | 0x2A04 | M | Read | - |
Generic Attribute Service |
0x1801 | M | - | - |
- Service Changed | 0x2A05 | M | Indicate | - |
Device Information Service |
0x180A | M | - | - |
- Manufacturer Name String | 0x2A29 | M | Read | TDK |
- Model Number String | 0x2A24 | M | Read | BN1005 |
- Firmware Revision String | 0x2A26 | O | Read | x.x |
- Hardware Revision String | 0x2A27 | O | Read | x.x |
Configuration Service |
0x7600 | M | - | - |
- Capabilities | 0x7501 | M | Read | 需要解锁 |
- Configuration | 0x7680 | M | Write | 需要解锁 |
- Lock State | 0x7506 | M | Write | - |
- Unlock | 0x7507 | M | Write | - |
- Factory Reset | 0x750b | O | Write | 需要解锁 |
DFU Service |
- | M | - | - |
- 具体请参考 DFU Service | - | M | - | 需要解锁 |
备注:
M
表示必须实现的服务或特征值O
表示可选实现的服务或特征值A
表示需要认证 (解锁) 以后才能读写的特征值
配置参数
下面是设备支持的配置参数
Name | Type ID | TYPE | SIZE | REQ | R/W | NOTE |
---|---|---|---|---|---|---|
Name | 0x01 | utf8 | - | M | RW | 设备本地名称 |
ADV Interval | 0x03 | uint16 | 2 | M | RW | 广播间隔,单位为毫秒 |
Radio Tx Power | 0x04 | int8 | 1 | M | RW | 无线发射功率 |
Supported Tx Power | 0x08 | int8[] | N | M | R | 只读,支持的发射功率,从小到大 |
Power Voltage | 0x80 | uint16 | 2 | M | R | 只读,电池电压,单位为毫安 |
Measure Interval | 0x20 | uint16 | 2 | M | RW | 测量间隔,单位为秒 |
Measure Mode | 0x21 | int8 | 1 | O | RW | 测量模式,0 表示正常模式 |
备注:
- 如果设置发射功率为设备不支持的功率,设备可选择一个与其最接近的支持的发射功率
测量模式:
0
正常模式1
高精度测量,可能需要更多的时间和功耗
BN5003
本节主要描述 BN1005 和 BN5003 (温湿度传感器) 可选实现的服务,特征值以及配置参数等
服务和特征值
下面是设备支持的服务和特征值列表
TYPE | UUID | REQ | MANDATORY | NOTE |
---|---|---|---|---|
Generic Access Service |
0x1800 | M | - | - |
- Device Name | 0x2A00 | M | Read | Temperature Sensor |
- Appearance | 0x2A01 | M | Read | 0x00 |
- Slave Preferred .. | 0x2A04 | M | Read | - |
Generic Attribute Service |
0x1801 | M | - | - |
- Service Changed | 0x2A05 | M | Indicate | - |
Device Information Service |
0x180A | M | - | - |
- Manufacturer Name String | 0x2A29 | M | Read | SAE |
- Model Number String | 0x2A24 | M | Read | BN5003 |
- Firmware Revision String | 0x2A26 | O | Read | x.x |
- Hardware Revision String | 0x2A27 | O | Read | x.x |
Configuration Service |
0x7600 | M | - | - |
- Capabilities | 0x7501 | M | Read | 需要解锁 |
- Configuration | 0x7680 | M | Write | 需要解锁 |
- Lock State | 0x7506 | M | Write | - |
- Unlock | 0x7507 | M | Write | - |
- Factory Reset | 0x750b | O | Write | 需要解锁 |
DFU Service |
- | M | - | - |
- 具体请参考 DFU Service | - | M | - | 需要解锁 |
备注:
M
表示必须实现的服务或特征值O
表示可选实现的服务或特征值A
表示需要认证 (解锁) 以后才能读写的特征值
配置参数
下面是设备支持的配置参数
Name | Type ID | TYPE | SIZE | REQ | R/W | NOTE |
---|---|---|---|---|---|---|
Name | 0x01 | utf8 | - | M | RW | 设备本地名称 |
ADV Interval | 0x03 | uint16 | 2 | M | RW | 广播间隔,单位为毫秒 |
Radio Tx Power | 0x04 | int8 | 1 | M | RW | 无线发射功率 |
Supported Tx Power | 0x08 | int8[] | N | M | R | 只读,支持的发射功率,从小到大 |
Power Voltage | 0x80 | uint16 | 2 | M | R | 只读,电池电压,单位为毫安 |
Measure Interval | 0x20 | uint16 | 2 | M | RW | 测量间隔,单位为秒 |
Measure Mode | 0x21 | int8 | 1 | O | RW | 测量模式,0 表示正常模式 |
备注:
- 如果设置发射功率为设备不支持的功率,设备可选择一个与其最接近的支持的发射功率
测量模式:
0
正常模式1
高精度测量,可能需要更多的时间和功耗
报警器
- 门磁传感器
- 水浸传感器
- 其他
BN5005
本节主要描述 BN5005 (报警器) 可选实现的服务,特征值以及配置参数等
服务和特征值
下面是设备支持的服务和特征值列表
TYPE | UUID | REQ | MANDATORY | NOTE |
---|---|---|---|---|
Generic Access Service |
0x1800 | M | - | - |
- Device Name | 0x2A00 | M | Read | Alarm Detector |
- Appearance | 0x2A01 | M | Read | 0x00 |
- Slave Preferred .. | 0x2A04 | M | Read | - |
Generic Attribute Service |
0x1801 | M | - | - |
- Service Changed | 0x2A05 | M | Indicate | - |
Device Information Service |
0x180A | M | - | - |
- Manufacturer Name String | 0x2A29 | M | Read | SAE |
- Model Number String | 0x2A24 | M | Read | BN5005 |
- Firmware Revision String | 0x2A26 | O | Read | x.x |
- Hardware Revision String | 0x2A27 | O | Read | x.x |
UART Service |
0x0001 | O | - | - |
- RX | 0x0002 | O | Read,Notify | 需要解锁 |
- TX | 0x0003 | O | Write | 需要解锁 |
Configuration Service |
0x7600 | M | - | - |
- Capabilities | 0x7501 | M | Read | 需要解锁 |
- Configuration | 0x7680 | M | Write | 需要解锁 |
- Lock State | 0x7506 | M | Write | - |
- Unlock | 0x7507 | M | Write | - |
- Factory Reset | 0x750b | O | Write | 需要解锁 |
DFU Service |
- | M | - | - |
- 具体请参考 DFU Service | - | M | - | 需要解锁 |
备注:
M
表示必须实现的服务或特征值O
表示可选实现的服务或特征值A
表示需要认证 (解锁) 以后才能读写的特征值
配置参数
下面是设备支持的配置参数
Name | Type ID | TYPE | SIZE | REQ | R/W | NOTE |
---|---|---|---|---|---|---|
Name | 0x01 | utf8 | - | M | RW | 设备本地名称 |
ADV Interval | 0x03 | uint16 | 2 | M | RW | 广播间隔,单位为毫秒 |
Radio Tx Power | 0x04 | int8 | 1 | M | RW | 无线发射功率 |
Supported Tx Power | 0x08 | int8[] | N | M | R | 只读,支持的发射功率,从小到大 |
Power Voltage | 0x80 | uint16 | 2 | M | R | 只读,电池电压,单位为毫安 |
Measure Interval | 0x20 | uint16 | 2 | M | RW | 测量间隔,单位为秒 |
Alarm Type | 0x88 | int8 | 1 | M | RW | 告警类型 |
备注:
- 如果设置发射功率为设备不支持的功率,设备可选择一个与其最接近的支持的发射功率
告警类型:
- 0: 普通开关量告警
- 1: 门磁
数据采集器
- RS232 接口
- RS485 接口
DT01-B
本节主要描述 DT01-B (基于 NB-IoT 通信的数据采集器) 可选实现的服务,特征值以及配置参数等
服务和特征值
下面是设备支持的服务和特征值列表
TYPE | UUID | REQ | MANDATORY | SECURITY |
---|---|---|---|---|
Generic Access Service |
0x1800 | M | - | - |
- Device Name | 0x2A00 | M | Read | DTU |
- Appearance | 0x2A01 | M | Read | 0x00 |
- Slave Preferred .. | 0x2A04 | M | Read | - |
Generic Attribute Service |
0x1801 | M | - | - |
- Service Changed | 0x2A05 | M | Indicate | - |
Device Information Service |
0x180A | M | - | - |
- Manufacturer Name String | 0x2A29 | M | Read | SAE |
- Model Number String | 0x2A24 | M | Read | DT01 |
- Firmware Revision String | 0x2A26 | O | Read | x.x |
- Hardware Revision String | 0x2A27 | O | Read | x.x |
Configuration Service |
0x7600 | M | - | - |
- Configuration | 0x7680 | M | Write | 需要解锁 |
- Lock State | 0x7506 | M | Write | - |
- Unlock | 0x7507 | M | Write | - |
- Factory Reset | 0x750b | O | Write | 需要解锁 |
DFU Service |
- | M | - | - |
- 具体请参考 DFU Service | - | M | - | 需要解锁 |
备注:
M
表示必须实现的服务或特征值O
表示可选实现的服务或特征值A
表示需要认证 (解锁) 以后才能读写的特征值
配置参数
下面是设备支持的配置参数
Name | Type ID | SIZE | REQ | R/W | NOTE |
---|---|---|---|---|---|
Name | 0x01 | - | M | RW | 设备本地名称 |
ADV Tx Power(RSSI) | 0x02 | 1 | M | RW | 1 米处测得的信号强度(RSSI) |
ADV Interval | 0x03 | 1 | M | RW | 广播间隔,单位为毫秒 |
Radio Tx Power | 0x04 | 1 | M | RW | 无线发射功率 |
Supported Tx Power | 0x08 | - | M | R | 只读,Beacon 支持的发射功率,从小到大排列 |
Server URI | 0x30 | - | M | RW | 服务器 URI 地址 |
Server Key | 0x31 | - | O | RW | 服务器公钥 |
Device ID | 0x32 | - | O | RW | 设备 ID |
Device Secret | 0x33 | - | M | RW | 设备密钥 |
ND2002
本节主要描述 ND2002 (基于 LoRA 通信的数据采集器) 可选实现的服务,特征值以及配置参数等
服务和特征值
下面是设备支持的服务和特征值列表
TYPE | UUID | REQ | MANDATORY | SECURITY |
---|---|---|---|---|
Generic Access Service |
0x1800 | M | - | - |
- Device Name | 0x2A00 | M | Read | DTU |
- Appearance | 0x2A01 | M | Read | 0x00 |
- Slave Preferred .. | 0x2A04 | M | Read | - |
Generic Attribute Service |
0x1801 | M | - | - |
- Service Changed | 0x2A05 | M | Indicate | - |
Device Information Service |
0x180A | M | - | - |
- Manufacturer Name String | 0x2A29 | M | Read | SAE |
- Model Number String | 0x2A24 | M | Read | ND2002 |
- Firmware Revision String | 0x2A26 | O | Read | x.x |
- Hardware Revision String | 0x2A27 | O | Read | x.x |
Configuration Service |
0x7600 | M | - | - |
- Configuration | 0x7680 | M | Write | 需要解锁 |
- Lock State | 0x7506 | M | Write | - |
- Unlock | 0x7507 | M | Write | - |
- Factory Reset | 0x750b | O | Write | 需要解锁 |
DFU Service |
- | M | - | - |
- 具体请参考 DFU Service | - | M | - | 需要解锁 |
备注:
M
表示必须实现的服务或特征值O
表示可选实现的服务或特征值A
表示需要认证 (解锁) 以后才能读写的特征值
配置参数
下面是设备支持的配置参数
Name | Type ID | SIZE | REQ | R/W | NOTE |
---|---|---|---|---|---|
Name | 0x01 | - | M | RW | 设备本地名称 |
ADV Tx Power(RSSI) | 0x02 | 1 | M | RW | 1 米处测得的信号强度(RSSI) |
ADV Interval | 0x03 | 1 | M | RW | 广播间隔,单位为毫秒 |
Radio Tx Power | 0x04 | 1 | M | RW | 无线发射功率 |
Supported Tx Power | 0x08 | - | M | R | 只读,Beacon 支持的发射功率,从小到大排列 |
LoRA Mode | 0x40 | 1 | O | RW | LoRA 工作模式,预留/暂未使用 |
LoRA Local Address | 0x41 | 2 | M | RW | LoRA 本机地址, 1~65534 |
LoRA Gateway Address | 0x42 | 2 | P | RW | LoRA 网关地址, 1~65534,预留/暂未使用 |
LoRA Frequency | 0x43 | 2 | M | RW | LoRA 通信频率,单位为 100,000 Hz |
LoRA Rate | 0x44 | 1 | M | RW | LoRA 通信速率, 0~9 |
LoRA Tx Power | 0x45 | 1 | M | RW | LoRA 发送功率, 2~20 |
LoRA Network ID | 0x46 | 1 | M | RW | LoRA 网络 ID, 1~254 |