1.1 数据通讯
SERVICE_ID: ‘6E400001-B5A3-F393-E0A9-E50E24DCCA9E’ //服务 UUID
READ_CHARACTERISTIC_UUID: ‘6E400003-B5A3-F393-E0A9-E50E24DCCA9E’ //读数据UUID
WRITE_CHARACTERISTIC_UUID:’6E400002-B5A3-F393-E0A9-E50E24DCCA9E’ //写数据UUID
1.1.1 实时上传心率和呼吸率
在睡眠记录仪实时上传心率和呼吸率数据,默认实时上传,无需应答。
上传心率和呼吸率结果发送数据包
| 设备端->手机端 | |||
| 数据格式 | 字节 | 定义 | 说明 |
| 应答要求 | Byte0 | 0x00 | 0x00-不需要应答(实时广播), 0x01需要应答(上传Flash数据) |
| 数据包序号 | Byte1 | XX | |
| 命令类型 | Byte2 | 0x09 | 当前的命令参数 |
| Heart Rate | Byte3 | 无符号整数 | |
| Respiration Rate | Byte4 | 无符号整数 | |
| 睡眠状态 | Byte5 | 无符号整数,参考Java代码示例 status | |
| 保留字节 | Byte6 | ||
| 记录的时长 | Byte7~10 | 记录的时长(单位:毫秒 ) | |
| 事件持续时长 | Byte11~12 | 事件持续时长(单位:秒) | |
| 连网状态 | Byte17 | 参考Java代码: netStatus | |
| 预留 | Byte18 | ||
| 设备电量 | Byte19 | 无符号整数:0 ~ 100 ,【可选】 |
睡眠状态Java代码示例:
byte status = data[5];
byte onBed = (byte)((( byte)status & (byte)0x01)); //1-在床, 0-离床
byte onMove = (byte)((( byte)status & (byte) 0x02) >> 1); //1-体动翻身 0-正常
byte onSnore = (byte)((( byte)status & (byte)0x10) >> 4); //1-打鼾 0-正常(V2版才支持)
byte onSos = (byte)((( byte)status & (byte)0x40) >> 6); //1-紧急呼叫 0-正常
byte offLife = (byte)((( byte)status & (byte)0x80) >> 7); //1-在床位无体征 0-正常

只有WIFI版 ( P1H-SLP-WIFI 和 P1H-SLP-WIFI2) 才需要下面的设置
1.1 设置WIFI信息
1.1.1 设置WIFI名称 (仅支持2.4G WIFI, 不要和5G WIFI同名)
设置WIFI的名称的数据包, 不够位的填充0x00
| 手机端->设备端 | |||
| 数据格式 | 字节 | 定义 | 说明 |
| 应答要求 | Byte0 | 0x01 | 0x01需要应答 |
| 命令类型 | Byte1 | 0x12 | 当前的命令参数 |
| WIFI SSID | Byte2~19 | SSID的名称,18个字节 |
返回应答
| 设备端 -> 手机端 | |||
| 数据格式 | 字节 | 定义 | 说明 |
| 应答要求 | Byte0 | 0xEF | 固定标识位 |
| 保留位 | Byte1 | 0xXX | 保留位,忽略 |
| 命令类型 | Byte2 | 0x12 | 当前的命令参数 |
| 成功标识 | Byte3 | 0x01 – 成功,其它值,或者1秒内没有收到回复都表示失败 |
1.1.2 设置WIFI密码
设置WIFI的名称的数据包 共20个字节,不够位的填充0x00
| 手机端 ->设备端 | |||
| 数据格式 | 字节 | 定义 | 说明 |
| 应答要求 | Byte0 | 0x01 | 0x01需要应答 |
| 命令类型 | Byte1 | 0x13 | 当前的命令参数 |
| WIFI 密码 | Byte2~19 | SSID的密码,18个字节 |
返回应答
| 设备端 -> 手机端 | |||
| 数据格式 | 字节 | 定义 | 说明 |
| 应答要求 | Byte0 | 0xEF | 固定标识位 |
| 保留位 | Byte1 | 0xXX | 保留位,忽略 |
| 命令类型 | Byte2 | 0x13 | 当前的命令参数 |
| 成功标识 | Byte3 | 0x01 – 成功,其它值,或者1秒内没有收到回复都表示失败 |
1.1.3 保存WIFI设置
保存WIFI信息的数据包 共20个字节,只有前2个有内容,后面18个为0x00字节
| 手机端 ->设备端 | |||
| 数据格式 | 字节 | 定义 | 说明 |
| 应答要求 | Byte0 | 0x01 | 0x01需要应答 |
| 命令类型 | Byte1 | 0x14 | 当前的命令参数 |
返回应答
| 设备端 -> 手机端 | |||
| 数据格式 | 字节 | 定义 | 说明 |
| 应答要求 | Byte0 | 0xEF | 固定标识位 |
| 保留位 | Byte1 | 0xXX | 保留位,忽略 |
| 命令类型 | Byte2 | 0x14 | 当前的命令参数 |
| 成功标识 | Byte3 | 0x01 – 成功,其它值,或者1秒内没有收到回复都表示失败 | |
| 连网方式 | Byte4 | 0x00/0x01/0x02 | 网络模式 0 –无, 1- WIFI 2- 4G |
| 连网状态 | Byte5 | 0x00/0x01 | 连接AP网络状态, 0x00 – 未成功 0x01- 成功 |
| UDP连接状态 | Byte6 | 0x00/0x01 | UDP服务器连接状态。0x00 – 未成功 0x01- 成功 |
| MQTT连状态 | Byte7 | 0x00/0x01 | MQTT服务器连接状态。0x00 – 未成功 0x01- 成功 |
注:完成 【2.2.1设置WIFI名称】和 【2.2.2设置WIFI密码】后, 须执行 【2.2.3保存WIFI设置】,放可正式保存生效。
