LoRA 通信和组网

LoRA 通信和组网

概述

本文定义了一个非 LoRA WAN 简单组网和通信协议

LoRA 网关

  • 基于 ARM 和 Linux 系统
  • 通过以太网/4G 连接到互联网
  • 内置 LoRA 网关模组,通过串口/AT指令和主机通信

LoRA 模组

LoRA 网关模组和 LoRA 从机模组采用点到点的无线通信模式

注意: 只有同样的通信频率和网络号的模组才能相互通信

主机控制接口

LoRA 模块和主机通过串口通信,使用 AT 指令,具体请查看模组厂商提供的资料, 主要功能如下

  • 查询固件版本
  • 打开/关闭接收窗口
  • 设置远端地址
  • 设置本地地址
  • 设置通信频率
  • 设置通信速率
  • 设置发送功率 (2~20)
  • 设置网络号 (1~254) 默认 90
  • 发送数据

通信速率

等级 速率
0 122
1 149
2 407
3 487
4 732
5 867
6 1302
7 2278
8 4557
9 9114

网关参数配置

配置接入网关的从机列表

LoRA 参数

NAME CODE TYPE DEFAULT NOTE
address a integer 0 LoRA 本机地址, 1~65534
device d integer 1 LoRA 连接的串口设备,0~2
rate r integer 0 LoRA 通信速率, 0~9
frequency f integer 0 LoRA 通信频率,单位为 100,000 Hz
tpl t integer 0 LoRA 发射功率, 2~20
mode m integer 0 LoRA 传输模式
network n integer 1 LoRA 网络 ID, 1~254

例如

{
    lora: {
        address: 22,
        device: 2,
        rate: 0,
        frequency: 4700,
        tpl: 9,
        mode: 0,
        network: 0
    }
}

从机列表

更多信息请参考核心产品实现参考中 DT02 网关一节

DT02 网关 LoRA 节点配置方法:

  • 节点类型为 lora
  • did 为从机对接的传感器/设备的 ID
  • secret 为从机对接的传感器/设备的密钥
  • address 为 LoRA 从机地址 (0~65534)
  • protocol 总是为 modbus
  • usernamepassword 暂未用到

例如

{
   "lora": [{
       "did": "5w64cflrhs3s",
       "secret": "0123456789abcdef",
       "address": 100,
       "protocol": "modbus"
   }]
}

LoRA 从机

从机控制接口

LoRA 网关主要通过 Modbus 协议和从机控制器进行通信

Modbus 通信模式下,网关为主机,其他 LoRA 节点都为从机,只能由主机主动发起 Modbus 请求

LoRA 模块 (包含网关) 通过一个 16 位的整数标识每个模块

LoRA 数据格式

LoRA 数据由数据帧组成,每个数据帧包含消息头 (8Bytes Header) 和消息体 (Payload)

NO. NAME SIZE NOTE
1 COMPANY ID 3 组网 ID
2 TYPE 1 数据类型
3 LoRA ID 2 LoRA 从机地址
4 SEQ 2 消息序列号
5 PAYLOAD N 负载内容
  • 数据帧长度最大不超过 200 字节
  • LoRA 从机地址: 1 ~ 65534
    • 0: 保留
    • 65535:广播地址

消息类型

  • 0: Modbus 消息
  • 1: 控制消息
  • 255: 广播消息

LoRA 串口参数

LoRA 模组可以通过 RS485 接口外接 Modbus 设备,在访问前需要配置串口参数

同样可通过 Modbus 协议设置串口参数,主要可设置的参数如下:

参数名称 地址 长度 名称 单位 类型 缩放 偏移 范围
波特率 1H 1 baudrate - 0 1 0 1200,2400,4800,9600...
校验方式 2H 1 parity - 0 1 0 'N','E'
数据位 3H 1 databits - 0 1 0 8
停止位 4H 1 stopbits - 0 1 0 1,2
  • Modbus 从本地址总是为 1
  • LoRA 数据类型 type 为 1

备注:

  • nRF52840 只支持偶校验,和 8 位数据位
  • nRF52840 支持的波特率: 1200, 2400, 4800, 9600, 14400, 19200, 28800, 31250, 38400, 56000, 57600, 78600, 115200, 230400, 250000, 460800, 921600, 1000000

从机配置

需要在网关上为 LoRA 从机配置相关参数,网关才能正确地访问 LoRA 从机外接的 Modbus 设备,主要需配置的参数如下:

从机配置参数

NAME CODE TYPE NOTE
actions a object 绑定的操作列表
events e object 绑定的事件列表
forms f object 串口配置
properties p object 绑定的属性列表
updated u integer 配置参数最后更新时间

串口等配置参数

NAME CODE TYPE DEFAULT NOTE
address a integer 0 Modbus 从机地址, 1 ~ 247
baudrate b integer 9600 串口波特率
databits d integer 8 串口数据位
interval i integer 60 采集间隔,单位为秒
mode m integer 0 Modbus 传输模式
parity p integer 0 串口校验方式
stopbits s integer 1 串口停止位
timeout t inte+ger 2000 读写超时时间,单位为毫秒
  • interval (i) 采集间隔, 默认为 60 秒
  • mode (m) 传输模式 (0-RTU, 1-ASCII, 2-TCP, 3-LoRA), 默认为 0-RTU
  • timeout (t) 超时时间, 默认为 500 毫秒

属性配置

从机属性配置参数请参考核心设备参考实现一文的Modbus 设备属性配置一节

操作配置

从机操作配置参数请参考核心设备参考实现一文的Modbus 设备操作配置一节

事件配置

从机事件配置参数请参考核心设备参考实现一文的Modbus 设备事件配置一节

组网

组网的目的是将 LoRA 模块和网关建立关系,实现双向通信

节点类型

LoRA 网关

LoRA 网关需要的信息

  • 每个从机的地址

LoRA 从机

LoRA 从机需要的信息

  • 网关的通信频率
  • 网关的通信速率
  • 网关的地址
  • 网关的标识符

从机工作模式

Class A

终端在向网关发送数据后,会短暂打开一个接收窗口实现下行数据的接收,可以保证最小的功耗

Class C

终端总是处于接收状态,只有在发送数据时才暂时关闭,下行数据可以更加实现接收,但是功耗将是最大

组网参数

网关参数

  • 网关本机地址
  • 频率
  • 速率
  • 网络 ID
  • 从机地址列表

从机参数

  • 从机本机地址
  • 网关地址
  • 网关频率
  • 网关速率
  • 网络 ID
image-modal