切换深色模式
Std 转发接口与外部 NS
本章给集成外部网络服务器的人员查阅。Std 在网关与 NS 之间传递 LoRaWAN 无线帧,Edge 数据 API 则传递应用数据,两者不能混用。
Semtech UDP / GWMP
在 Std 关闭数据 MQTT 后填写 GWMP 目标地址和端口。外部需有兼容的 packet-forwarder 接收服务,不能将应用 HTTP 接收地址填入。当前连通测试发送 PULL_DATA 类交互,仍需实际上行和下行验收。
| 标识(HEX) | 报文 | 用途 |
|---|---|---|
| 00 | PUSH_DATA | 网关向服务端推送接收包/统计 |
| 01 | PUSH_ACK | 确认 PUSH_DATA 接收 |
| 02 | PULL_DATA | 网关建立/保持下行路径 |
| 03 | PULL_RESP | 服务端下发待发无线帧 |
| 04 | PULL_ACK | 确认 PULL_DATA |
| 05 | TX_ACK | 网关报告发送调度结果 |
协议头包含版本、两字节关联 token、报文标识;部分报文还带网关 EUI,不能对所有报文使用同一头长。上行 JSON 的 rxpk 含 freq(MHz)、datr、rssi、lsnr、size、data 等;data 是整条 LoRaWAN PHY 帧的 Base64,不是 Edge 的应用载荷 payload。
外部 NS 解密后再按终端 FPort 解析。PUSH_ACK / PULL_ACK / TX_ACK 均不能直接证明终端应用已收到;尤其 TX_ACK 为网关调度反馈,实际接收还要终端回复。完整包结构按 Semtech packet-forwarder 协议及部署版本实现。
MQTT V3 / V4
本机 V3 默认事件模板为 gateway/{gatewayId}/event/{event},命令为 gateway/{gatewayId}/command/{command},默认使用对应版本 JSON。V4 使用配套 MQTT forwarder,主题可能增加区域前缀;主题、JSON/Protobuf 编码及消息版本必须和 NS 配置一致,不能通过修改端口自动转换版本。
| 常见后缀 | 方向 | 内容 |
|---|---|---|
| event/up | 网关到 NS | 无线接收帧与射频信息 |
| event/stats | 网关到 NS | 网关状态统计 |
| event/ack | 网关到 NS | 下行发送调度反馈 |
| command/down | NS 到网关 | 该版本网关协议的下行帧及调度项 |
网关层消息的 phyPayload 与应用层 data/payload 含义不同。不要向 command/down 发布 Edge 的 app.userdata JSON,也不要在 V4 转发主题上套用旧 application/0/device/.../rx 格式。
按实际版本查阅 ChirpStack MQTT 网关后端和网关事件字段。订阅看到二进制不一定是乱码,可能使用 Protobuf;反过来,Broker 可连接也不代表 NS 理解该消息。
Basic Station
使用本机 Basic Station UDP 适配方案时配置 LNS 与可选 CUPS,分别核对地址、认证、证书和区域模板。它是网关转发接入,不是 Edge HTTP POST。网关内部的适配端口不当作外部应用 API 开放使用。
外部应用最终接哪里
终端密钥、Join、FPort 与应用解码在外部 NS 完成。应用系统使用外部 NS 对应版本的应用集成,不能要求 Std 直接提供本册 Edge 的解密 JSON。验证顺序为:网关与 NS 转发在线 → NS 看见无线帧 → 终端会话有效 → 应用载荷解密与解析 → 接收系统入库。
区域前缀与主题示例
以 V4 模板 cn470_0、网关 EUI 1122334455667788 为构造示例,主题可为:
text
cn470_0/gateway/1122334455667788/event/up
cn470_0/gateway/1122334455667788/event/stats
cn470_0/gateway/1122334455667788/command/down是否带该前缀取决于当前模板及 forwarder 配置,服务器订阅必须一致。V3 默认主题不带这段区域前缀;不要为了让一条订阅收到消息就将服务器/网关两边改成不同版本。
| 对比项 | Std 网关转发 | Edge 业务输出 |
|---|---|---|
| 上行数据含义 | 含 LoRaWAN 头/MIC 等的 PHY 帧 | 已处理的终端应用载荷 |
| 解密与会话 | 外部 NS | Edge 本机 NS |
| 主题示例 | event/up,可能有区域前缀 | /gateway/{EUI}/up,开头有斜杠 |
| 下行结构 | NS 提供该版本的调度帧 | app.userdata,按终端应用协议 |
| 最终用户数值 | 外部应用解码 | 匹配的本机/接收端解码器 |