切换深色模式
S24 漏水 · 协议与平台解析
本机适用范围
本机类型为 0C。软件可能沿用“漏水”及旧产品别名,配置页应有漏水检测周期、报警复检周期和蜂鸣器,不能只凭旧型号名称选择模板。
本章供平台接入使用。FPort 使用十进制,报文字节使用十六进制;偏移从 0 开始,所有多字节字段高字节在前。以下为构造教学数据,不是现场抓包。
1. 先按端口和长度区分
业务载荷为 4 字节,不含 CE DE 配置帧头尾。业务端口和事件规则见本机上报章节。启动 FPort 215 是 11 字节,不能按业务载荷解析;参数回复 FPort 102 / 103 另行处理。
| 偏移 | 长度 | 字段 | 编码 |
|---|---|---|---|
| 0 | 1 | 类型 | 固定 0C |
| 1 | 1 | 报文属性 | 0 当前状态/心跳,1 事件;事件不一定表示仍在报警 |
| 2 | 1 | 漏水值 | 0 干燥,1 漏水 |
| 3 | 1 | 电量等级 | 0~4 |
业务示例
text
0C 01 01 04FPort 2 漏水报警,事件属性 1、漏水值 1、等级 4。恢复示例为 FPort 3 的 0C 01 00 04;第二字节仍是 1。
2. 电量字段
电量是 0~4 等级。保留原始等级或显示格数,不统一换算成电压或精确剩余百分比,也不据此保证续航。本机按电源采样分档,不能套用带屏版的电池电压边界。
3. 启动参数包 · FPort 215
共 11 字节,无 CE DE 头尾。
| 偏移 | 长度 | 内容 |
|---|---|---|
| 0 | 1 | 本机类型 0C |
| 1 | 1 | 配置协议版本,以实收为准 |
| 2 / 3 | 各 1 | 固件主版本 / 次版本,分别解释 |
| 4 | 3 | 检测/心跳周期,uint24 秒 |
| 7 | 3 | 报警复检周期,uint24 秒 |
| 10 | 1 | 电量等级;没有温湿度阈值段 |
主动启动包使用 FPort 215。读取命令 02 08 00 返回相同布局的裸参数载荷,但走 FPort 102,不带 CE DE 头尾;收到这种读取结果不能认定设备刚刚重启。版本、周期应与本机读取结果一致;升级后不根据旧示例硬编码版本号。FPort 214 的单字节复位信息另存,不从这一字节推断测量或报警。
4. 本地及无线配置帧
text
CE DE | 命令及参数 | XOR | EC EDXOR 为命令及参数各字节异或,不含头尾,不是 Modbus CRC16。读取使用 02 命令号 参数,写入使用 命令号 参数内容;float32 为 IEEE 754 大端,不与短业务包的整数混用。
| 命令(HEX) | 参数布局 | 用途与边界 |
|---|---|---|
| 08 | 通过读取入口访问,无参数设置 | 返回本机启动参数布局,裸载荷走读取回复端口 |
| 50 | 类型 0C + 检测 uint24 + 报警检测 uint24,共 7 字节 | 两个周期单位为秒 |
| A1 | 槽位掩码 uint16 + 7 个 uint32 槽 + 2 保留,共 32 字节 | 仅槽 0 控制蜂鸣器,0 关、1 开;其余槽位不作为用户功能 |
| 54 | 测量读取入口 | 回复的状态值为 float32 的 0 或 1,不能当 4 字节无线业务包 |
| 操作 | 完整帧示例 |
|---|---|
| 本地协议唤醒 | CE DE 02 00 00 02 EC ED |
| 读取周期 | CE DE 02 50 0C 5E EC ED |
| 读取启动参数 | CE DE 02 08 00 0A EC ED |
| 读取测量值 | CE DE 02 54 0C 5A EC ED |
本地串口/蓝牙写入前需协议唤醒,读取无需先唤醒;AWTools 连接读取流程会处理配置会话。无线设置允许从当前接收窗口处理,成功后按配置会话规则运行;参数设置帧成功处理后会自动保存到设备,不另设一条“保存”指令。不能仅凭发出命令判断成功,需核对回复,必要时重启后回读。批量设置中后续命令失败,前面已成功的字段可能仍会保存,不是全有或全无。日常通过表单 保存修改完成操作,再按提示处理重启。
测量读取 54 的回复使用 FF + 长度 06,后接 一组 54 + 类型 0C + float32 大端值,再加 CE DE、XOR、EC ED。本机状态使用 float32 的 0 或 1。此读取回复不含电量;采集忙碌时可能先返回最近记录值,稍后再读确认。
配置读取/状态推送可能带 FF 长度 批量回复或 56 长度 外层,先拆配置封装。无线业务载荷没有这些头尾。远程下行需项目约定的平台端口和完整帧,避免与业务数据解析混用。
5. 平台解析示例
AWTools 配套的型号脚本见本机解析脚本,打开即可查看完整代码并复制。它与下方专用接入示例的字段和错误处理不同,选择一份接入,不要将两套脚本拼在一起。
下载本机 JavaScript 解析示例,按平台的 decodeUplink({fPort, bytes}) 接口调用。示例按端口、类型和精确长度检查,返回业务状态、主动启动参数、08 读取的参数快照或复位码;常规配置回复返回保留的原始字节,便于另行接入。
- 将平台 Base64 数据先转换为字节数组;不要把 Base64 字符串当 HEX 输入。
- 使用与本机 EUI、固件和数据布局一致的解析器。
- 用本章构造例子检查字段,再用真实平台报文验证。
- 触发、恢复、报警原因及时间含义仍按本机上报规则处理,不仅按 FPort 名称映射报警。
示例用于接入起点,不代替项目平台验证;未知端口、类型、长度、状态值或互相冲突的端口/状态组合返回错误,不补成正常读数。分片的配置回复需先按接入流程收齐,不能逐片当成完整回复。