跳到主要内容

Lora被动模式 Json透传(C001B)

[TOC]

一、实现功能简介

基于 FlexLua 《DTU01万能采集器》实现 Lora 星型网中的子节点功能,并实现 Json 消息的被动传输模式(即查询模式)。大致流程就是:云端通过网关下发 Json 查询指令消息,Lora 子节点收到该消息后准备好需要返回的数据,然后通过Lora中心点网关向云端返回 Json 数据响应消息。

diag2

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

二、通信详细描述

show2

(1)Lora网络角色定义:

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

(2)通信流程说明:

描述:

**步骤1(下行):**云端下发 Json 查询消息,Json 消息成员中包含需要查询传感器数据的Lora子节点地址("LrAddr"),该Json消息会通过Lora 中心点转发给对应的 Lora子节点。

通信流程:云端 -> 4G/WiFi/以太网 -> Lora中心点 -> Lora子节点

步骤2(上行): Lora 子节点收到下行 Json 查询消息后,可将采集到的传感器数据发送给《DTU02万能网关》 Lora 中心点网关,继而转发给云端,整个如下

通信流程:RS485/Uart/IIc/AD/Gpio -> 子节点Lora -> Lora中心点网关 -> 云端

举例:

--云端下发 Json 查询指令消息,"LrAddr"=130 表示云端服务器希望查询某个Lora子节点地址为130的设备,"Dev"="TH"可以用来表示查询温湿度数据的指令标识
{"LrAddr":130, "Dev":"TH"}
--地址=130 的 Lora 子节点收到查询指令后,并判断"Dev"="TH"后知道云端是想查询温湿度数据,然后就将下面的包含传感器数据的 Json 消息返回给云端
{"LrAddr":130,"Dev":"TH","Data":{"Humi":79.7,"Temp":26.8},"Err":null}

三、实现方法

flexlua.com 网站中的 传感采集(S)工业采集(M) 中有大量**《DTU01万能采集器》**作为 Lora 子节点被动传输的案例可供参考。

《DTU01万能采集器》 在软硬件上可配置成 RS485/Uart/IIc/AD/Gpio 这五种接口中的其中一种并采集传感器/设备/仪表的数据:

Lora子节点数据采集接口实现参考
RS485 接口S001A、S002A、M000A 等文章中的 Lora 被动传输 章节
IIc 接口S001B 文章中的 Lora 被动传输 章节
AD 接口S000B 文章中的 Lora 被动传输 章节
Gpio 接口:S014B 文章中的 Lora 被动传输 章节