Skip to content

应用层协议

本协议旨在建立物联网终端设备与应用服务器之间的直接通信标准,涵盖LoRaWAN设备上行数据协议及门思科技设备专用参数配置协议。协议设计充分考虑:

  • 兼容性:支持多型号设备接入
  • 扩展性:保留未来功能扩展空间
  • 可靠性:完善的数据传输保障机制

核心术语定义

设备类型

术语定义
DTU通过RS-485采集终端设备数据并通过LoRaWAN转发的网关设备
终端设备最末端传感器(电表、水表、温湿度传感器等)
LoRaWAN设备既具备传感能力又自带LoRaWAN通信模块的设备(如KS52温湿度表)

网络要素

术语技术说明
Confirm数据包需ACK确认的重传数据包(默认重试5次)
Unconfirm数据包无需确认的数据包(默认发送1次)
ClassA/CA类:电池供电,仅在上行后开放接收窗口;C类:常供电,持续监听下行信道

LoRaWAN网络规范

端口分配策略

端口范围用途数据类型说明
9EB查完立即透传上行EB编译中使用内置的UpAfterQueryEvent创建的事件默认使用该端口
11-50常规传感器数据上行建议按设备类型分配固定端口
51透传模式双向DTU原始数据转发
52-199扩展应用端口双向保留未来使用
201固件升级下行系统保留
214参数配置双向门思设备专用

高级网络功能

ADR机制

LoRaWAN节点具有ADR功能,可以根据实际网络环境调整通信速率,以最大化网络利用率。本协议标准要求节点侧开启本地ADR功能,自动化调整速率。

时间同步

  • 精度要求:设备时钟偏差<5秒/天
  • 实现方式
    1. MAC层DeviceTimeReq命令(推荐)
    2. 应用层时间戳协议(备选)

数据可靠性策略

数据类型传输方式重传机制适用场景
周期上报数据Unconfirm1次发送温湿度等可容忍丢失的数据
告警事件Confirm5次重试+ACK验证火灾报警等关键事件
配置指令Confirm3次重试+应用层确认参数修改等重要下行指令

上行数据协议规范

通用数据格式

plain
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 版本标识(1B) | 数据标识(1B) |数据内容(NB) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

参数配置协议(门思专用)

本指南适用于门思科技LoRaWAN设备的参数修改,通过NS平台下发指令实现。

前提条件

  • 设备需在网关覆盖范围内且网关已接入NS平台
  • ClassA设备:需等待上行数据后才能下发参数
  • ClassC设备:可随时下发参数

通信规范

基本参数

项目说明
通信端口214(参数修改及回复均使用此端口)
成功响应[功能码&0x7F] 01 00
失败响应[功能码&0x5F] 01[失败代码]
无响应情况设备未收到下发参数

命令格式

通用命令结构

字段字节数说明
功能码10xC2(修改频点)/0xCF(修改业务参数)/其他
数据长度2+n从本字节开始后的所有字节数(不包含本字节)
起始地址1参考具体设备说明
字节长度1修改内容的数据长度
修改内容n与字节长度对应,小端模式

参数读取

请求格式

plain
0x8F 0x02 [起始地址] [读取字节数]

响应格式

plain
0x2F [n+2] [参数地址] [n] [参数值]

示例

  • 请求:0x8F 0x02 0x02 0x04(读取地址2开始的4字节)
  • 响应:0x2F 0x06 0x02 0x04 0xA3 0x74 0x00 0x00

参数修改

请求格式

plain
0xCF [n+2] [起始地址] [n] [参数值]

响应格式

plain
[0x6F/0x4F] 0x01 [结果代码]

(0x6F=成功,0x4F=失败)

示例

  • 请求:0xCF 0x03 0x08 0x01 0x03(修改地址8为0x03)
  • 成功响应:0x6F 0x01 0x00
  • 失败响应:0x4F 0x01 0x05

特殊命令

频点修改(通用)

plain
0xC2 0x2A [起始地址] [字节长度] [参数值]
频点参数表
参数地址字节数格式说明示例值(Hz)
channelMap62位使能0x00FF
频点184小端格式470300000 (0x1C083560)
DRRange1121DR5-DR20x52
............(共8个频点)...
完整示例
plain
C2 2A 08 28 
60 35 08 1C 52 
A1 42 0B 1C 52 
E2 4F 0E 1C 52 
23 5D 11 1C 52 
60 6A 14 1C 52 
A1 77 17 1C 52 
E2 84 1A 1C 52 
23 92 1D 1C 52

成功响应:0x620100

设备复位

plain
0xCF 0x03 0x09 0x01 0x01

成功响应:0x6F0100

心跳周期修改

plain
0xCF 0x04 0x28 0x02 [分钟数(小端)]

示例(1800分钟=0x0708):

plain
0xCF 0x04 0x28 0x02 0x08 0x07

成功响应:0x6F0100


6. 透传模式规范

6.1 技术特性

  • 端口号:51(固定)
  • 数据格式:原始字节流,不做任何编解码

6.2 应用场景

  1. 传统485设备数据透传
  2. 第三方协议兼容模式
  3. 调试期原始数据抓取