跳到主要内容

LoRa+4G多点动环(Z003B)

[TOC]

一、实现功能简介

基于 FlexLua 《DTU01万能采集器》和《DTU02万能网关》实现 LoRa 多点转 4G 动环监测,通过 LoRa 无线采集机房环境里的多个温湿度、水浸、烟感等传感数据,并将采集到的数据通过 4G 无线传输的方式,以 Json 数据格式通过 Mqtt 上报给云服务器。

pic2

通信数据传输格式举例如下:

--LrAddr=1 的温湿度传感器数据(上报周期5分钟)
{"LrAddr":1,"Dev":"TH","Data":{"Humi":79.7,"Temp":26.8},"Err":null}

--LrAddr=2 的烟感传感器数据(上报周期30秒),Smog=1表示烟雾传感器报警,Smog=0表示正常
{"LrAddr":2,"Dev":"SMOG","Data":{"Smog":1},"Err":null}

--LrAddr=3 的水浸传感器数据(上报周期1分钟),Water=1200 表示:水浸采集电路的电压=1200mv,一般小于1000mv时可判断是浸水事件,水的电导率越强值越低
{"LrAddr":3,"Dev":"WATER","Data":{"Water":1200},"Err":null}

"LrAddr" :可用来标识是哪一台 DTU01 LoRa 采集器

"Dev" :可用来标识这台 DTU01 采集器采集的是什么传感器

"Data" :中包含的是传感器结果数值

"Err":中包含的是故障信息,如果 "Data" = null,则 "Err" 中将包含错误信息,否则平时都是 null

二、实现方法

实现点实现参考文档
DTU01 万能采集器 + IIc 温湿度传感器S001B 文档:SHT30 IIc 接口温湿度传感器采集(Lora主动传输章节)
DTU01 万能采集器 + 开关量烟感传感器S014B 文档:开关量类型烟雾传感器采集(Lora主动传输章节)
DTU01 万能采集器 + AD电压值水浸传感器S013B 文档:电压采集型水浸传感器采集(Lora主动传输章节)
DTU02 万能网关C000A 文档:Lora 转 4G 网关 Json 透传

提示:如果采集点( DTU01 + 传感器 )需要由 12v 电池长期低功耗供电,除了在 DTU01 采集器源代码的配置信息中将 "SysSleepEn "参数设置成1外,还需要进一步参考《DTU01直流供电和电池低功耗供电说明》文档在硬件上做一些调整,该文档可在 {FlexLua开源网盘}->{Hardware}->{DTU01万能采集器}->{DTU01硬件使用指导书} 文件夹中找到。

三、源代码

虽然参考上面给出的文档开发者即可以实现整个项目,但为了节省开发者时间,在{FlexLua开源网盘} -> {Application} -> {Z003B} 文件夹中也准备好了 DTU01 和 DTU02 的源代码以供开发者参考。

源代码的使用还需注意以下几点:

  1. 每个 DTU01 采集器源代码中的 LoraAddr 参数应设置为不同的值,但 DTU02 网关源代码中的 LoraAddr 参数应固定为 0
  2. DTU02 网关源代码中的 Mqtt 配置信息请按实际情况正确填写
  3. 如果有多个像本文章描述的 Lora 网络共存(既多个 DTU02 网关共存),为了实现多网络的共存,需要将 DTU01 的源代码及 DTU02 的源代码中的 LoraSubNetID 设置为其他值,但同一 Lora 网络中的 DTU01 和 DTU02的 LoraSubNetID 值必须相同