跳到主要内容

Lora转以太网 Hex透传(C000D)

[TOC]

一、实现功能简介

基于 FlexLua 《DTU02万能网关》实现 Lora 中心点网关 星型组网功能,并实现云端和各个 Lora 子节点之间的 16 进制 Hex 字节流 消息的透传(Lora 子节点数据来源于 RS485 Modbus-RTU 传感器/仪器/设备的数据):

diag3

注意:本文只介绍 DTU02 Lora 中心点的实现方法,关于 DTU01 Lora 子节点的实现,请参考:C001C 文章。

二、通信详细描述

show4

(1)Lora网络角色定义:

  • **《DTU02万能网关》 **作为 Lora 中心点
  • **《DTU01万能采集器》 **作为 Lora 子节点

(2)下行通道透传说明(Modbus查询):

下行HEX数据格式举例说明(01 02 55 AA 02 01 01 01 03 00 00 00 02 C4 0B):

字节序号1 - 23 - 45 - 78 - N
含义目标Lora子节点地址,高位在前,1-65535固定数值 55 AA ,用于包校验RS485通信参数信息Modbus 查询数据
举例01 02 = 25855 AA02 01 01 = 9600 N 101 03 00 00 00 02 C4 0B

RS485通信参数信息说明:例如当 5 -7 字节为 02 01 01时,表示需要 Lora子节点将其 RS485 接口设置为:波特率=9600,无校验,1位停止位。关于如何配置该值请参考C001C 文章。

通信过程描述:

云端通过 以太网 下发一包 Hex 字节流消息,DTU02 Lora 中心点网关收到该消息后从该消息的前两个字节解析出需要转发的 Lora子节点地址,然后根据该地址通过Lora无线传输将后面的字节全部转发给对应的 DTU01 Lora 子节点,DTU01 Lora 子节点收到这些数据后,便可以通过RS485 Modbus读取相应传感器/仪器/设备的数据,并将数据原封不动返回给DTU02 Lora 中心点网关,具体流程举例如下:

--step1: 云端下发数据:01 02 55 AA 02 01 01 01 03 00 00 00 02 C4 0B,其中01 02 = 258,表示目标是地址=258的Lora子节点
--step2: 地址=258的Lora子节点将收到:55 AA 02 01 01 01 03 00 00 00 02 C4 0B
--step3: 55 AA 是固定值,02 01 01表示需要Lora子节点配置其RS485接口以<9600 N 1>参数通信
--step4: 随后Lora子节点将Modbus数据01 03 00 00 00 02 C4 0B通过RS485发送给相应的RS485设备以读取传感器/仪器/设备的s数据

云端 -> 以太网 -> Lora中心点网关 -> Lora子节点 -> RS485 Modbus

(3)上行通道透传说明(Modbus响应):

上行HEX数据格式举例说明(01 02 01 03 04 01 E6 FF 9F 1B A0):

字节序号1 - 23 - N
含义源Lora子节点地址,高位在前,1-65535Modbus 响应数据
举例01 02 = 25801 03 04 01 E6 FF 9F 1B A0

通信过程描述:

由上面的内容可知,DTU01 Lora 子节点通过RS485 Modbus读取到相应传感器/仪器/设备的Modbus响应数据后,会将该数据原封不动转发给DTU02 Lora 中心点网关,然后Lora中心点网关在该数据的基础上在前端插入两个字节的Lora子地址后,便将该数据通过以太网接口转发给云端,具体流程举例如下:

--step1: Lora 子节点通过RS485 Modbus获取到: 01 03 04 01 E6 FF 9F 1B A0 (Modbus响应数据)
--step2: 然后再将该数据原封不动发送给Lora中心点网关
--step3: Lora中心点网关在该数据的基础上在前端插入两个字节的Lora子地址(比如258)得到:01 02 01 03 04 01 E6 FF 9F 1B A0
--step4: 随后Lora中心点网关将01 02 01 03 04 01 E6 FF 9F 1B A0通过以太网接口发送给云端

RS485 Modbus -> Lora子节点 -> Lora中心点网关 -> 以太网 -> 云端

三、DTU02 万能网关介绍

《DTU02万能网关》内部电路板灵活可配置,在电路板上搭配不同的通信模组后(4G/WiFi/以太网),可实现如下通信的转换:

  • Lora 转 4G
  • Lora 转 WiFi
  • Lora 转 以太网

DTU02

关于 DTU02 万能网关:

《DTU02万能网关》内部核心主控采用 ShineBlink C2M 低代码物联网核心模组,使用该主控核心模组可轻松实现Lora/4G/WiFi/以太网的通信功能。并且本网关的硬件资料和源代码开放且源码极其精简,所以开发者无论是否有嵌入式单片机开发经验,皆可轻松基于源码进行二次开发(例如:新功能增加、边缘数据处理、逻辑判断、特殊协议解析等)。当然如果使用者对编程不感兴趣也可直接参考本文,仅需一些简单的步骤即可实现本文中描述的功能。

四、实现方法

(1)硬件

由于 DTU02 的硬件接口是可配置的,所以需要确认一下您手上的 DTU02 万能网关的硬件是否满足要求,如果确认已满足就无需再做任何操作,否则请按《DTU02硬件使用指导书》完成下面的硬件配置:

配置项目说明
将DTU02 配置成 Lora 转 以太网 网关只需将 SB-C18 以太网 通信模块插在 DTU02 电路板正面即可

《DTU02硬件使用指导书》可在 {FlexLua开源网盘}->{Hardware}->{DTU02万能网关}->{DTU02硬件使用指导书} 文件夹中找到。

(2)软件

用户只需修改 main.lua 软件源代码中的配置信息,并将main.lua 烧录至设备中即可实现大部分场景的需求。

《软件使用指导书(LORA_ETH_TCPUDP_HEX)》文件和 main.lua 软件源代码文件均位于:

{FlexLua开源网盘} -> {Software} -> {DTU02万能网关} -> {LORA_ETH_TCPUDP} -> {HEX透传版本} 文件夹中

注意:《软件使用指导书(LORA_ETH_TCPUDP_HEX)》中提及的 "Lora主机" 即为本文中的 "Lora中心点", "Lora从机" 即为本文中的 "Lora子节点"。

五、本章相关开源资料汇总

(1)硬件开源资料

硬件开源网盘路径
《DTU02万能网关硬件使用指导书》{FlexLua开源网盘}->{Hardware}->{DTU02万能网关}->{DTU02硬件使用指导书} 文件夹
《DTU02万能网关硬件原理图》{FlexLua开源网盘}->{Hardware}->{DTU02万能网关}->{DTU02硬件原理图} 文件夹

(2)软件开源资料

软件开源网盘路径
《软件使用指导书(LORA_ETH_TCPUDP_HEX)》及main.lua源码{FlexLua开源网盘} -> {Software} -> {DTU02万能网关} -> {LORA_ETH_TCPUDP} -> {HEX透传版本} 文件夹

(3)其他(非必需)

如对源代码中的实现细节感兴趣,开发者可查阅 《Lua编程学习指导》、《ShineBlink 函数API手册》、《ShineBlink C2M模组资料》:

内容开源网盘路径
《Lua编程学习指导》{FlexLua开源网盘}->{Tutorial}->{Lua编程学习指导} 文件夹
《ShineBlink 函数API手册》{FlexLua开源网盘}->{Tutorial}->{ShineBlink 函数API手册} 文件夹
《ShineBlink C2M模组资料》{FlexLua开源网盘}->{Tutorial}->{ShineBlink C2M模组资料} 文件夹