Skip to content

S21 温湿度 · 协议与平台解析 ​

本机适用范围

核对机身型号、设备类型 01(HEX)及固件版本;同一类型可能存在旧产品别名,不只凭列表文字判断。

业务短报文与测量读取分别核对

本机温度、湿度的业务短报文使用整数 ÷100。修正后的 AWTools 按此规则更新实时卡片;测量读取返回的 float32 已是物理量,不再除以 100。旧安装版可能仍按 ÷10 显示短报文,出现数值放大时先更新上位机,不要据此修改 K/B;平台按本机解析器接入,仍需与参考条件核对。

本章供平台接入使用。FPort 使用十进制,报文字节使用十六进制;偏移从 0 开始,所有多字节字段高字节在前。以下为构造教学数据,不是现场抓包。

1. 先按端口和长度区分 ​

业务载荷为 7 字节,不含 CE DE 配置帧头尾。FPort 1、2、4 使用相同业务结构。启动 FPort 215 是 23 字节,不能按业务载荷解析;参数回复 FPort 102 / 103 另行处理。

偏移长度字段编码
01类型固定 01
11报警标志0 正常,1 报警,不含报警原因位图
22温度int16 补码,大端;原始值 ÷100 得 ℃
42湿度uint16,大端;原始值 ÷100 得百分数
61电量等级0~4

业务示例 ​

text
01 00 09 C4 13 88 04

正常,25.00 ℃、50.00% 湿度,等级 4。

温度为负数时按补码解码,例如 FD DA = −550,即 −5.50 ℃。

2. 电量字段 ​

电量是 0~4 等级。保留原始等级或显示格数,不统一换算成电压或精确剩余百分比,也不据此保证续航。本机按电源采样分档,不能套用带屏版的电池电压边界。

3. 启动参数包 · FPort 215 ​

共 23 字节,无 CE DE 头尾。

偏移长度内容
01本机类型 01
11配置协议版本,以实收为准
2 / 3各 1固件主版本 / 次版本,分别解释
43发送周期,uint24 秒
73采集周期,uint24 秒
10 / 12 / 14每项 2温度上限 / 下限 / 变化阈值,int16 ÷100
16 / 18 / 20每项 2湿度上限 / 下限 / 变化阈值,int16 ÷100
221电量等级

主动启动包使用 FPort 215。读取命令 02 08 00 返回相同布局的裸参数载荷,但走 FPort 102,不带 CE DE 头尾;收到这种读取结果不能认定设备刚刚重启。版本、周期应与本机读取结果一致;升级后不根据旧示例硬编码版本号。FPort 214 的单字节复位信息另存,不从这一字节推断测量或报警。

4. 本地及无线配置帧 ​

text
CE DE | 命令及参数 | XOR | EC ED

XOR 为命令及参数各字节异或,不含头尾,不是 Modbus CRC16。读取使用 02 命令号 参数,写入使用 命令号 参数内容;float32 为 IEEE 754 大端,不与短业务包的整数混用。

命令(HEX)参数布局用途与边界
08通过读取入口访问,无参数设置返回本机启动参数布局,裸载荷走读取回复端口
50类型 01 + 发送 uint24 + 采集 uint24,共 7 字节单位秒,采集不大于发送
51类型 01 + 上限 float32 + 下限 float32,共 9 字节配置值用浮点数,不照抄无线整数编码
52类型 01 + K float32 + B float32,共 9 字节原始值 × K + B
53类型 01 + 变化阈值 float32,共 5 字节相邻采集绝对差
54测量读取入口返回 float32;不当作参数写入命令

两个通道的 51~53 命令按温度、湿度顺序处理;类型字节始终为本机类型,不是通道编号。同一帧设置两个通道时依次放两条同类命令,先温度后湿度。读取按同一顺序返回,不用 00/01 替换类型。

操作完整帧示例
本地协议唤醒CE DE 02 00 00 02 EC ED
读取周期CE DE 02 50 01 53 EC ED
读取启动参数CE DE 02 08 00 0A EC ED
读取测量值CE DE 02 54 01 57 EC ED

本地串口/蓝牙写入前需协议唤醒,读取无需先唤醒;AWTools 连接读取流程会处理配置会话。无线设置允许从当前接收窗口处理,成功后按配置会话规则运行;参数设置帧成功处理后会自动保存到设备,不另设一条“保存”指令。不能仅凭发出命令判断成功,需核对回复,必要时重启后回读。批量设置中后续命令失败,前面已成功的字段可能仍会保存,不是全有或全无。日常通过表单 保存修改完成操作,再按提示处理重启。

测量读取 54 的回复使用 FF + 长度 0C,后接 两组 54 + 类型 01 + float32 大端值,再加 CE DE、XOR、EC ED。两组按温度、湿度顺序,不用类型字节区分通道。此读取回复不含电量;采集忙碌时可能先返回最近记录值,稍后再读确认。

配置读取/状态推送可能带 FF 长度 批量回复或 56 长度 外层,先拆配置封装。无线业务载荷没有这些头尾。远程下行需项目约定的平台端口和完整帧,避免与业务数据解析混用。

5. 平台解析示例 ​

AWTools 配套的型号脚本见本机解析脚本,打开即可查看完整代码并复制。它与下方专用接入示例的字段和错误处理不同,选择一份接入,不要将两套脚本拼在一起。

下载本机 JavaScript 解析示例,按平台的 decodeUplink({fPort, bytes}) 接口调用。示例按端口、类型和精确长度检查,返回业务状态、主动启动参数、08 读取的参数快照或复位码;常规配置回复返回保留的原始字节,便于另行接入。

  1. 将平台 Base64 数据先转换为字节数组;不要把 Base64 字符串当 HEX 输入。
  2. 使用与本机 EUI、固件和数据布局一致的解析器。
  3. 用本章构造例子检查字段,再用真实平台报文验证。
  4. 触发、恢复、报警原因及时间含义仍按本机上报规则处理,不仅按 FPort 名称映射报警。

示例用于接入起点,不代替项目平台验证;未知端口、类型、长度、状态值或互相冲突的端口/状态组合返回错误,不补成正常读数。分片的配置回复需先按接入流程收齐,不能逐片当成完整回复。

设备使用指南