合并头戴设备 0x21 0x22 至 0x20 ;增加 0x21 配对成功 ;
This commit is contained in:
@ -96,7 +96,7 @@ HEX: 5A 01 FF 40 00 64 00 00 00 93 9E FF 3F 93 9E FF 3F 93 9E FF 3F 7F 4B 00 00
|
|||||||
4. 功能码: 40
|
4. 功能码: 40
|
||||||
对应脑电数据,int32_t类型
|
对应脑电数据,int32_t类型
|
||||||
5. 数据长度: 00 64
|
5. 数据长度: 00 64
|
||||||
小端模式,N = ( 0x00 << 8 | 0x64 ) == 0x0064 == 100
|
大端模式,N = ( 0x00 << 8 | 0x64 ) == 0x0064 == 100
|
||||||
根据int32_t类型反推数据点个数: 100 / 4 = 25
|
根据int32_t类型反推数据点个数: 100 / 4 = 25
|
||||||
6. 保留位:00 00 00
|
6. 保留位:00 00 00
|
||||||
7. 数据段:
|
7. 数据段:
|
||||||
@ -124,7 +124,7 @@ HEX: 5A 01 FF 40 00 64 00 00 00 93 9E FF 3F 93 9E FF 3F 93 9E FF 3F 7F 4B 00 00
|
|||||||
|
|
||||||
### 5.1 总览
|
### 5.1 总览
|
||||||
|
|
||||||
### 0x80~0x9f: 向头戴设备发送数据或指令
|
#### 5.1. 0x80~0x9f: 向头戴设备发送数据或指令
|
||||||
|
|
||||||
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
||||||
| ------ | ------------------ | -------------- | -------------- | ---------------------------------------------------- |
|
| ------ | ------------------ | -------------- | -------------- | ---------------------------------------------------- |
|
||||||
@ -135,7 +135,7 @@ HEX: 5A 01 FF 40 00 64 00 00 00 93 9E FF 3F 93 9E FF 3F 93 9E FF 3F 7F 4B 00 00
|
|||||||
|
|
||||||
### 5.2 功能码详解
|
### 5.2 功能码详解
|
||||||
|
|
||||||
#### 0x80 一个表示正常的编码
|
#### 5.2. 0x80 一个表示正常的编码
|
||||||
|
|
||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
@ -150,7 +150,7 @@ HEX: 5A 00 00 80 00 00 00 00 00 crc16_L crc16_H A5
|
|||||||
| -------- | ----------- | -------- | ------ | ------------------ |
|
| -------- | ----------- | -------- | ------ | ------------------ |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
|
|
||||||
#### 0x81 一个表示异常的编码
|
#### 5.2. 0x81 一个表示异常的编码
|
||||||
|
|
||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ HEX: 5A 00 00 81 00 01 00 00 00 data1 crc16_L crc16_H A5
|
|||||||
| data1 | 表示异常类型 | uint8_t | 0x02 | 数值异常(检测出上传的参数超过阈值等) |
|
| data1 | 表示异常类型 | uint8_t | 0x02 | 数值异常(检测出上传的参数超过阈值等) |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
|
|
||||||
#### 0x90 启动配对流程
|
#### 5.2. 0x90 启动配对流程
|
||||||
|
|
||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
@ -183,7 +183,7 @@ HEX: 5A 00 00 90 00 00 00 00 00 crc16_L crc16_H A5
|
|||||||
| -------- | ----------- | -------- | ------ | ------------------ |
|
| -------- | ----------- | -------- | ------ | ------------------ |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
|
|
||||||
#### 0x91 告知设备ID
|
#### 5.2. 0x91 告知设备ID
|
||||||
|
|
||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
@ -203,7 +203,7 @@ HEX: 5A 00 00 91 00 01 00 00 00 data1 crc16_L crc16_H A5
|
|||||||
|
|
||||||
### 6.1 总览
|
### 6.1 总览
|
||||||
|
|
||||||
#### 0x00~0x1f: 设备基本信息相关
|
#### 6.1. 0x00~0x1f: 设备基本信息相关
|
||||||
|
|
||||||
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
||||||
| ------ | ---------------- | -------------- | -------------- | ---- |
|
| ------ | ---------------- | -------------- | -------------- | ---- |
|
||||||
@ -211,15 +211,14 @@ HEX: 5A 00 00 91 00 01 00 00 00 data1 crc16_L crc16_H A5
|
|||||||
| 0x01 | 设备WIFI信号强度 | 1 | uint8_t | |
|
| 0x01 | 设备WIFI信号强度 | 1 | uint8_t | |
|
||||||
| 0x02 | 设备电池电量 | 1 | uint8_t | |
|
| 0x02 | 设备电池电量 | 1 | uint8_t | |
|
||||||
|
|
||||||
#### 0x20~0x3f: 与电脑端交互
|
#### 6.1. 0x20~0x3f: 与电脑端交互
|
||||||
|
|
||||||
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
||||||
| ------ | ----------------------- | -------------- | -------------- | ---- |
|
| ------ | ------------------------------- | -------------- | -------------- | ---------------- |
|
||||||
| 0x20 | 发送MAC地址,申请设备ID | 6 | uint8_t | |
|
| 0x20 | 发送MAC地址与IP地址,申请设备ID | 10 | uint8_t | |
|
||||||
| 0x21 | 主动询问设备ID | 0 | \\ | |
|
| 0x21 | 配对成功 | 0 | | 拿到设备ID后发送 |
|
||||||
| 0x22 | 发送头戴设备IP地址 | 4 | uint8_t | |
|
|
||||||
|
|
||||||
#### 0x40~0x5f: 脑电数据的上传
|
#### 6.1. 0x40~0x5f: 脑电数据的上传
|
||||||
|
|
||||||
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
||||||
| ------ | ---------------------------------------------------- | -------------- | -------------- | ---------------------------------------- |
|
| ------ | ---------------------------------------------------- | -------------- | -------------- | ---------------------------------------- |
|
||||||
@ -227,14 +226,14 @@ HEX: 5A 00 00 91 00 01 00 00 00 data1 crc16_L crc16_H A5
|
|||||||
| 0x41 | 发送 脑电信号采集到的值 换算为电压值的**系数的倒数** | 1 | int32_t | 真实电压 = 原始值 * (1 / 系数的倒数) |
|
| 0x41 | 发送 脑电信号采集到的值 换算为电压值的**系数的倒数** | 1 | int32_t | 真实电压 = 原始值 * (1 / 系数的倒数) |
|
||||||
| 0x42 | 分解出的5种脑波的值 | 5 | int32_t | 顺序:Delta,Theta,Alpha,Beta,Gamma。 |
|
| 0x42 | 分解出的5种脑波的值 | 5 | int32_t | 顺序:Delta,Theta,Alpha,Beta,Gamma。 |
|
||||||
|
|
||||||
#### 0x60~0x7f:心率数据的上传
|
#### 6.1. 0x60~0x7f:心率数据的上传
|
||||||
|
|
||||||
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
||||||
| ------ | ---------------------- | -------------- | -------------- | ---- |
|
| ------ | ---------------------- | -------------- | -------------- | ---- |
|
||||||
| 0x60 | 计算得出的每分钟心率值 | 1 | int16_t | |
|
| 0x60 | 计算得出的每分钟心率值 | 1 | int16_t | |
|
||||||
| 0x61 | 心率波形 | N | int32_t | |
|
| 0x61 | 心率波形 | N | int32_t | |
|
||||||
|
|
||||||
#### 0x80~0x9f:肌电数据的上传
|
#### 6.1. 0x80~0x9f:肌电数据的上传
|
||||||
|
|
||||||
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
|
||||||
| ------ | ---------------------------------------------------- | -------------- | -------------- | --------------------------------------------------------------------- |
|
| ------ | ---------------------------------------------------- | -------------- | -------------- | --------------------------------------------------------------------- |
|
||||||
@ -248,7 +247,7 @@ HEX: 5A 00 00 91 00 01 00 00 00 data1 crc16_L crc16_H A5
|
|||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
``` HEX
|
``` HEX
|
||||||
HEX: 5A 01 ff 00 00 01 00 00 00 data1 crc16_L crc16_H A5
|
HEX: 5A 01 ID 00 00 01 00 00 00 data1 crc16_L crc16_H A5
|
||||||
```
|
```
|
||||||
|
|
||||||
表示设备工作状态
|
表示设备工作状态
|
||||||
@ -257,6 +256,7 @@ HEX: 5A 01 ff 00 00 01 00 00 00 data1 crc16_L crc16_H A5
|
|||||||
|
|
||||||
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
||||||
| -------- | ------------ | -------- | ------ | ------------------ |
|
| -------- | ------------ | -------- | ------ | ------------------ |
|
||||||
|
| ID | 设备ID | uint8_t | | |
|
||||||
| data1 | 表示异常类型 | uint8_t | 0x00 | 正常运行 |
|
| data1 | 表示异常类型 | uint8_t | 0x00 | 正常运行 |
|
||||||
| data1 | 表示异常类型 | uint8_t | other | 其他异常 |
|
| data1 | 表示异常类型 | uint8_t | other | 其他异常 |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
@ -266,7 +266,7 @@ HEX: 5A 01 ff 00 00 01 00 00 00 data1 crc16_L crc16_H A5
|
|||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
``` HEX
|
``` HEX
|
||||||
HEX: 5A 01 ff 01 00 01 00 00 00 data1 crc16_L crc16_H A5
|
HEX: 5A 01 ID 01 00 01 00 00 00 data1 crc16_L crc16_H A5
|
||||||
```
|
```
|
||||||
|
|
||||||
表示设备WIFI信号强度
|
表示设备WIFI信号强度
|
||||||
@ -274,6 +274,7 @@ HEX: 5A 01 ff 01 00 01 00 00 00 data1 crc16_L crc16_H A5
|
|||||||
|
|
||||||
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
||||||
| -------- | ------------ | -------- | ------ | ------------------ |
|
| -------- | ------------ | -------- | ------ | ------------------ |
|
||||||
|
| ID | 设备ID | uint8_t | | |
|
||||||
| data1 | WIFI信号强度 | int8_t | | 单位dBm |
|
| data1 | WIFI信号强度 | int8_t | | 单位dBm |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
|
|
||||||
@ -282,7 +283,7 @@ HEX: 5A 01 ff 01 00 01 00 00 00 data1 crc16_L crc16_H A5
|
|||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
``` HEX
|
``` HEX
|
||||||
HEX: 5A 01 ff 02 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5
|
HEX: 5A 01 ID 02 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5
|
||||||
```
|
```
|
||||||
|
|
||||||
表示设备电池电量
|
表示设备电池电量
|
||||||
@ -290,6 +291,7 @@ HEX: 5A 01 ff 02 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5
|
|||||||
|
|
||||||
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
||||||
| -------- | ------------ | -------- | ------ | ------------------ |
|
| -------- | ------------ | -------- | ------ | ------------------ |
|
||||||
|
| ID | 设备ID | uint8_t | | |
|
||||||
| data1 | 设备电池电量 | int16_t | | 单位mV |
|
| data1 | 设备电池电量 | int16_t | | 单位mV |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
|
|
||||||
@ -298,47 +300,34 @@ HEX: 5A 01 ff 02 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5
|
|||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
``` HEX
|
``` HEX
|
||||||
HEX: 5A 01 ff 20 00 06 00 00 00 AA BB CC DD EE FF crc16_L crc16_H A5
|
HEX: 5A 01 ID 20 00 0A 00 00 00 MAC_AA MAC_BB MAC_CC MAC_DD MAC_EE MAC_FF IP_AA IP_BB IP_CC IP_DD crc16_L crc16_H A5
|
||||||
```
|
```
|
||||||
|
|
||||||
表示设备电池电量
|
发送MAC地址,申请设备ID
|
||||||
定时主动发送此功能码
|
启动时发送 接收到上位机重新配对指令后发送
|
||||||
|
|
||||||
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
||||||
| ----------------- | ------------- | ----------- | ------ | ------------------ |
|
| ----------------------------------------- | ------------- | ----------- | ------ | ------------------------------- |
|
||||||
| AA BB CC DD EE FF | 设备的MAC地址 | 6 * uint8_t | | |
|
| ID | 设备ID | uint8_t | | |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| MAC_AA MAC_BB MAC_CC MAC_DD MAC_EE MAC_FF | 设备的MAC地址 | 6 * uint8_t | | |
|
||||||
|
| IP_AA IP_BB IP_CC IP_DD | 设备的IP地址 | 4 * uint8_t | | 0xIP_AA.0xIP_BB.0xIP_CC.0xIP_DD |
|
||||||
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
|
|
||||||
#### 6.2. 0x21 主动询问设备ID
|
#### 6.2. 0x21 配对成功
|
||||||
|
|
||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
``` HEX
|
``` HEX
|
||||||
HEX: 5A 01 ff 21 00 00 00 00 00 crc16_L crc16_H A5
|
HEX: 5A 01 ID 21 00 00 00 00 00 crc16_L crc16_H A5
|
||||||
```
|
```
|
||||||
|
|
||||||
向主机询问设备ID
|
拿到设备的IP地址后,响应配对成功
|
||||||
|
|
||||||
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
||||||
| -------- | ----------- | -------- | ------ | ------------------ |
|
| -------- | ----------- | -------- | ------ | ------------------ |
|
||||||
|
| ID | 设备ID | uint8_t | | |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
|
|
||||||
#### 6.2. 0x22 发送头戴设备IP地址
|
|
||||||
|
|
||||||
数据帧示例:
|
|
||||||
|
|
||||||
``` HEX
|
|
||||||
HEX: 5A 01 ff 22 00 04 00 00 00 AA BB CC DD crc16_L crc16_H A5
|
|
||||||
```
|
|
||||||
|
|
||||||
表示设备电池电量
|
|
||||||
定时主动发送此功能码
|
|
||||||
|
|
||||||
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
|
||||||
| ----------- | ------------ | ----------- | ------ | ------------------- |
|
|
||||||
| AA BB CC DD | 设备的IP地址 | 4 * uint8_t | | 0xAA.0xBB.0xCC.0xDD |
|
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
|
||||||
|
|
||||||
#### 6.2. 0x40 发送脑电信号采集到的原始值
|
#### 6.2. 0x40 发送脑电信号采集到的原始值
|
||||||
|
|
||||||
参考 4.3 节
|
参考 4.3 节
|
||||||
@ -348,7 +337,7 @@ HEX: 5A 01 ff 22 00 04 00 00 00 AA BB CC DD crc16_L crc16_H A5
|
|||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
``` HEX
|
``` HEX
|
||||||
HEX: 5A 01 ff 41 00 04 00 00 00 data1_LL data1_LH data1_HL data1_HH crc16_L crc16_H A5
|
HEX: 5A 01 ID 41 00 04 00 00 00 data1_LL data1_LH data1_HL data1_HH crc16_L crc16_H A5
|
||||||
```
|
```
|
||||||
|
|
||||||
发送
|
发送
|
||||||
@ -356,6 +345,7 @@ HEX: 5A 01 ff 41 00 04 00 00 00 data1_LL data1_LH data1_HL data1_HH crc16_L crc1
|
|||||||
|
|
||||||
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
||||||
| -------- | ------------------------------------------ | -------- | ------ | ------------------ |
|
| -------- | ------------------------------------------ | -------- | ------ | ------------------ |
|
||||||
|
| ID | 设备ID | uint8_t | | |
|
||||||
| data1 | 脑电信号采集到的值换算为电压值的系数的倒数 | int32_t | | |
|
| data1 | 脑电信号采集到的值换算为电压值的系数的倒数 | int32_t | | |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
|
|
||||||
@ -364,13 +354,14 @@ HEX: 5A 01 ff 41 00 04 00 00 00 data1_LL data1_LH data1_HL data1_HH crc16_L crc1
|
|||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
``` HEX
|
``` HEX
|
||||||
HEX: 5A 01 ff 42 00 14 00 00 00 AA_LL AA_LH AA_HL AA_HH BB_LL BB_LH BB_HL BB_HH CC_LL CC_LH CC_HL CC_HH DD_LL DD_LH DD_HL DD_HH EE_LL EE_LH EE_HL EE_HH crc16_L crc16_H A5
|
HEX: 5A 01 ID 42 00 14 00 00 00 AA_LL AA_LH AA_HL AA_HH BB_LL BB_LH BB_HL BB_HH CC_LL CC_LH CC_HL CC_HH DD_LL DD_LH DD_HL DD_HH EE_LL EE_LH EE_HL EE_HH crc16_L crc16_H A5
|
||||||
```
|
```
|
||||||
|
|
||||||
发送分解出的5种脑波的值
|
发送分解出的5种脑波的值
|
||||||
|
|
||||||
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
||||||
| -------------- | -------------------------------------------- | ----------- | ------ | ------------------ |
|
| -------------- | -------------------------------------------- | ----------- | ------ | ------------------ |
|
||||||
|
| ID | 设备ID | uint8_t | | |
|
||||||
| AA BB CC DD EE | 顺序对应:Delta,Theta,Alpha,Beta,Gamma。 | 5 * int32_t | | |
|
| AA BB CC DD EE | 顺序对应:Delta,Theta,Alpha,Beta,Gamma。 | 5 * int32_t | | |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
|
|
||||||
@ -379,7 +370,7 @@ HEX: 5A 01 ff 42 00 14 00 00 00 AA_LL AA_LH AA_HL AA_HH BB_LL BB_LH BB_HL BB_HH
|
|||||||
数据帧示例:
|
数据帧示例:
|
||||||
|
|
||||||
``` HEX
|
``` HEX
|
||||||
HEX: 5A 01 ff 60 00 02 00 00 00 AA_L AA_H crc16_L crc16_H A5
|
HEX: 5A 01 ID 60 00 02 00 00 00 AA_L AA_H crc16_L crc16_H A5
|
||||||
```
|
```
|
||||||
|
|
||||||
表示设备电池电量
|
表示设备电池电量
|
||||||
@ -387,6 +378,7 @@ HEX: 5A 01 ff 60 00 02 00 00 00 AA_L AA_H crc16_L crc16_H A5
|
|||||||
|
|
||||||
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
|
||||||
| -------- | ---------------------- | -------- | ------ | ------------------ |
|
| -------- | ---------------------- | -------- | ------ | ------------------ |
|
||||||
|
| ID | 设备ID | uint8_t | | |
|
||||||
| AA | 计算得出的每分钟心率值 | uint16_t | | |
|
| AA | 计算得出的每分钟心率值 | uint16_t | | |
|
||||||
| crc16 | crc16校验值 | uint16_t | | |
|
| crc16 | crc16校验值 | uint16_t | | |
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user