# host_uart_transmit **Repository Path**: d-lobster/host_uart_transmit ## Basic Information - **Project Name**: host_uart_transmit - **Description**: TS8001 主机小工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-08 - **Last Updated**: 2025-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 温湿度计与蓝牙IC通讯协议 v1.1 (2025.07.19) ## 协议概述 - **角色定义**: - 上位机: CPU - 下位机: 蓝牙IC - **注意**: 下位机上传时每帧数据前需增加唤醒字节(如`FFH`) - **串口配置**: - 波特率: 19200 - 校验: 无 - 停止位: 1 - **数据格式**: 同步头(2B) + 帧长度(1B) + 指令代码(1B) + 数据(NB) + 校验码(1B) - 同步头: `B2 4E`(主机下传) / `4E B2`(从机上报) - 数据格式: 高字节在前 --- ## 一、主机下传指令 (同步头: B2 4E) ### 指令列表 | 功能 | 代码 | 数据内容 | |--------------------|------|--------------------------| | 下传实时数据 | 01H | 当前温度、湿度等 | | 下传闹钟数据 | 02H | 闹钟时间、状态等 | | 下传整点数据 | 03H | 整点时的数据 | | 下传一天中的最值 | 04H | 过去一天的最大/最小数据 | | 下传休眠指令 | 10H | 休眠/唤醒控制 | ### 通用反馈帧格式 | 头码 | 长度 | YY|XX|状态|校验码| |------|------|---|--|----|-----| | 4E B2 | 1B | YY|XX|状态|校验码| - YY: 当前指令码 - XX: `01`=成功, `00`=失败 - 状态: `01`=已连接, `00`=断开 ### 指令详解 #### 1. 实时数据 (01H) |头码|长度|命令|温度|湿度 |最高温度 |最低温度 |最高湿度 |最低湿度 |电量格|校验码| |----|---|----|---|-----|---------|---------|----------|-------|-------|-----| |B2 4E |12 |01 |01 2B |00 34 |01 2B |01 2B |00 35 |00 34 |31 |65| - 电量格: 高4位=总格数, 低4位=当前电量, `FFH`=充电中 - `B2 4E 12 01 01 2B 00 34 01 2B 01 2B 00 35 00 34 31 65` 温度29.9度,湿度52% #### 2. 闹钟数据 (02H) |头码 |长度|命令|状态 |日期|小时|分钟|校验码| |-----|----|--|------|----|---|----|------| |B2 4E |09| 02| 01 |FE |00 |02 |0C | - 状态: `01` = 开启, `00`=关闭 - 日期: BIT7-BIT1对应星期7-星期1, BIT0=0 - 例:`B2 4E 09 02 01 FE 00 02 0C` 闹钟打开,全周无休,闹铃时间为00:02 #### 3. 下传整点数据 (03H) |头码 |长度 |命令|年 |月|日|时|温度|湿度|校验码| |-----|----|----|---|--|-|--|---|----|------| B2 4E |0D | 03 |19 |01|02|00|01 27 |00 32 |86| - 例:`B2 4E 0D 03 19 01 02 00 01 27 00 32 86` 该数据为25年1月2号0点,29.5度,50% #### 4. 下传一天最值 (04H) |头码 |长度 |命令|年 |月|日|最高温度|出现小时|出现分钟|最低温度|出现小时|出现分钟|最高湿度|出现小时|出现分钟|最低湿度|出现小时|出现分钟|校验码| |---- |--- |----|-- |-|--|--------|-------|-------|-------|--------|-------|--------|-------|-------|-------|--------|-------|-----| |B2 4E| 18 |04 |19 |01 |01 |01 29 |17 |3B | 01 27 |17 | 3B |00 34 | 17 |3B |00 32 |17 |3B | 37| - 例:`B2 4E 18 04 19 01 01 01 29 17 3B 01 27 17 3B 00 34 17 3B 00 32 17 3B 37` 该数据为25年1月1日,最大温度29.7度出现于23:59,最小温度29.5度出现于23:59,最大湿度52%出现于23:59,最小湿度50%出现于23:59。 #### 5. 休眠指令 (10H) |头码 |长度 |命令|YY|校验码| |------|---|---|--|----| | 4E B2| 05| 10|YY|校验码| - YY: `01`=唤醒, `00`=休眠 --- ## 二、从机上报指令 (同步头: 4E B2) ### 指令列表 | 功能 | 代码 | 数据内容 | |--------------------|------|------------------| | 上报当前状态 | 31H | 蓝牙连接状态 | | 上传闹钟控制 | 32H | 打开/关闭闹钟 | | 上传闹钟时间设置 | 33H | 闹铃日期和时间 | | 上传时间设置 | 34H | 年月日时分秒 | ### 指令详解 #### 1. 上报状态 (31H) |头码 |长度 |命令|状态|校验码| |------|---|---|--|----| | 4E B2| 05| 31|状态|校验码| - 状态: `01`=已连接, `00`=断开 - 例:`4e b2 06 31 01 38` #### 2. 上传闹钟控制 (32H) |头码 |长度 |命令|开关|校验码| |------|---|---|-----|----| | 4E B2| 06| 32|开关 |校验码| - 开关:`01`= 打开:`00`= 关闭 - 例:`4e b2 06 32 01 39` #### 3. 上传闹钟时间设置 (33H) |头码 |长度 |命令|日期|小时|分钟|校验码| |-----|----|----|----|---|----|-----| | 4E B2| 08| 33|3E|00|01|7A| - 日期: BIT7-BIT1分别表示星期7-星期1,置1有效,BIT0=0。 - 例:`4E B2 08 33 3E 00 01 7A` #### 4. 上传时间设置 (34H) |头码 |长度 |命令|年 |月|日|时|分|秒|校验码| |---- |--- |----|-- |--|--|--|--|--|-----| |4E B2|0B |34 |19|07 |02|17|3B|09|BC| - 例:`4E B2 0B 34 19 07 02 17 3B 09 BC` ### 主机反馈格式 |头码 |长度 |指定代码|状态|校验码| |------|---|---|--|----| | B2 4E| 06| 指定代码|状态|校验码| - 状态: `01`=接收成功, `00`=解析错误 - 例: `B2 4E 06 34 01 3B`