Lora转WiFi Json透传(C000B)
[TOC]
一、实现功能简介
基于 FlexLua 《DTU02万能网关》实现 Lora 中心点星型组网功能,并实现 Json 消息的透传:
- 上行:将 Lora 星型网络中的子节点上报的 Json 消息通过 WiFi 转发给云端
- 下行:将云端下发的 Json 消息转发给某个 Lora 子节点
注意:本文只介绍 DTU02 Lora 中心点的实现方法,关于 DTU01 Lora 子节点的实现,请参考:
C001A
和C001B
文章。并且 flexlua.com 网站中的
传感采集(S)
和工业采集(M)
中有大量**《DTU01万能采集器》**作为 Lora 子节点的案例可供参考。
二、通信详细描述
(1)Lora网络角色定义:
- **《DTU02万能网关》 **作为 Lora 中心点
- **《DTU01万能采集器》 **作为 Lora 子节点
(2)下行通道透传说明:
描述:
云端通过 WiFi 下发一条 Json 消息,DTU02 Lora 中心点收到该消息后将该消息完整的转发给对应的 DTU01 Lora 子节点。 既:
云端
-> WiFi
-> Lora中心点
-> Lora子节点
。
具体流程如下:
-
云端向 DTU02 下发一条完整 Json 消息,比如:
{"LrAddr":N, … } --其中的 "..." 表示其他 Json 成员,可由云端自定义
-
DTU02 收到后,从 Json 消息中解析出 "LrAddr" 的值,该值为期望转发的 Lora 子机地址,范围应该在:1-65535
-
随后 DTU02 将该消息完整的转发给对应的《DTU01万能采集器》Lora 子节点
举例:
--如果云端下发一条消息,LrAddr = 130
发送内容:{"LrAddr":130, "Dev":"12345"}
--那么子机地址为 130 的 Lora 子节点将收到该条完整的消息
接收内容:{"LrAddr":130, "Dev":"12345"}
注意:云端下发的 Json 消息中必须包含 "LrAddr" 成 员,且值范围在 1-65535,该值指明了消息的目的地(某个 Lora 子节点)
(3)上行通道透传说明:
描述:
DTU01 Lora 子节点向 DTU02 Lora 中心点发出一条 Json 消息,DTU02 Lora 中心点收到该消息后,通过 WiFi 将该消息完整的转发给云端。 既:
Lora子节点
-> Lora中心点
-> WiFi
-> 云端
。
具体流程如下:
-
DTU01 向 DTU02 发送一条完整 Json 消息,比如:
{"LrAddr":130, "Temp":27.6, "Humi":69.5 }
-
DTU02 收到后,将该消息完整的转发给云端
-
云端收到该消息后,从 Json 消息中解析出 "LrAddr" 的值,通过该值即可知道消息是来自 Lora 子地址=130 的子节点设备
举例:
--如果子机地址为 130 的 Lora 子节点发出一条消息
发送内容: {"LrAddr":130, "Temp":27.6, "Humi":69.5 }
--那么云端将收到该条完整的消息,并知道该消息来自地址为 130 的 Lora 子节点
接收内容: {"LrAddr":130, "Temp":27.6, "Humi":69.5 }