Skip to content

Std 转发接口与外部 NS ​

本章给集成外部网络服务器的人员查阅。Std 在网关与 NS 之间传递 LoRaWAN 无线帧,Edge 数据 API 则传递应用数据,两者不能混用。

Semtech UDP / GWMP ​

在 Std 关闭数据 MQTT 后填写 GWMP 目标地址和端口。外部需有兼容的 packet-forwarder 接收服务,不能将应用 HTTP 接收地址填入。当前连通测试发送 PULL_DATA 类交互,仍需实际上行和下行验收。

标识(HEX)报文用途
00PUSH_DATA网关向服务端推送接收包/统计
01PUSH_ACK确认 PUSH_DATA 接收
02PULL_DATA网关建立/保持下行路径
03PULL_RESP服务端下发待发无线帧
04PULL_ACK确认 PULL_DATA
05TX_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/downNS 到网关该版本网关协议的下行帧及调度项

网关层消息的 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 帧已处理的终端应用载荷
解密与会话外部 NSEdge 本机 NS
主题示例event/up,可能有区域前缀/gateway/{EUI}/up,开头有斜杠
下行结构NS 提供该版本的调度帧app.userdata,按终端应用协议
最终用户数值外部应用解码匹配的本机/接收端解码器

设备使用指南