Skip to content

平台接入与数据解析 ​

R12 上报的是字节数据,平台的 HEX 或 Base64 只是显示方式。先保留 FPort、载荷、设备身份和时间,再按 R12 格式解析,最后根据传感器量程换算压力、液位等物理量。

如需 AWTools 配套的类型 13 脚本,见本机解析脚本。它与本章专用接入示例的字段、错误处理不同,按平台需求选择一份使用,不要合并粘贴。

1. 下载 R12 专用解析示例 ​

下载 R12 上行解析示例

本示例仅面向 R12,严格核对状态包长度 18 字节、类型 13、FPort 与包类型对应关系。提供 decodeUplink(input)(字节数组输入)和 G6x_Decode(payload, device)(HEX 或字节数组输入,返回扁平 JSON 文本)两个入口。G6x 入口把业务字段直接放在 JSON 顶层;解析失败返回 error,提示信息放在 decoder_warnings。

它与 V6 附件的全设备综合解析器不同:本册不把未核对的其他型号一起打包,也不把 R12 电源采样误称为固定内部 3.3V。脚本结果保留原始字节,并识别当前固件的 collection failed 标记为 collection_failed: true;其他回复仍需按所接仪表协议验证和补充业务解析。

2. 接入步骤 ​

  1. 在平台创建本机 R12,核对设备身份、OTAA/ABP、区域及相应网络参数。
  2. 打开平台自定义上行解析入口,备份原有解析规则;把下载代码完整复制到编辑器。
  3. 根据平台接口选择入口,保证传入本次真实 FPort,而不是把设备串口号当 FPort。
  4. 先用协议示例检查字段,再使用本机实际上报核对。
  5. 按传感器说明添加量程换算,保存、启用并检查单位和小数位。

G6x 平台: 参考 V6 操作路径进入 应用 → G6X 射频数据处理器 → LoRaWAN 上行处理器,确认处理器开启;在 G6X 上报数据编程 → 脚本 → 网关 LoRaWAN 射频上行脚本 → 编辑中配置。平台版本若路径不同,以实际界面为准。使用 G6x_Decode 时,设备对象需传入 fPort 或 variables.fPort 等明确端口字段;缺少端口返回错误,不猜测。

使用 decodeUplink 的平台: 传入 { fPort: 220, bytes: [...] },函数返回 { data, warnings, errors }。平台若只给 Base64,应先按其接口转成字节数组,不将 Base64 文本当 HEX。

3. 本示例输出什么 ​

内容输出字段示例注意事项
AI1ai1_uA、ai1_mA还不是压力或液位
AV1av1_mV、av1_V还不是噪声或温度
DI1/DI2di1、di20 低、1 高,业务含义按现场映射
DO1/DO2do1、do20 无输出、1 有输出,不是实测电压
各通道事件events可同时含多个原因,不当作累计次数
电源采样supply_raw、supply_V_nominal供电值按常规换算,存在缩放边界,保留原始值
脚本 FPort 1~4script_id、raw_hex采集失败标记见 collection_failed;其他回复需另行验证和解析
其他配置/兼容消息原始 FPort 与 HEX不按正式状态数据解释

4. 常见接入错误 ​

  • 把 R12 FPort 33 当 DTU 合并采集,导致字段错位。
  • 用其他 RTU 型号的 32 字节布局解 18 字节数据。
  • AI 电流未从 μA 换成 mA,或把电流直接当压力。
  • 将电源字段当 AV1、固定内部 3.3V 或 DO 输出实测电压。
  • 只凭载荷首字节推断消息,误把脚本仪表回复解成状态包。
  • 将网络 ACK 当作应用平台已完成业务解析。

解析示例已按构造样例检查;不代表本次完成了 G6x、ChirpStack 或实机无线部署。正式交付时仍需用现场载荷确认。

设备使用指南