跳到主要内容

4G农业气象站(Z001A)

[TOC]

一、实现功能简介

基于 FlexLua 《DTU01万能采集器》实现农业气象站装置,可采集温湿度、噪音、PM2.5、大气压、光照、风速、紫外线、雨量、雨雪等重要气象传感数据的采集,并将采集到的数据通过 4G 无线传输的方式,以 Json 数据格式通过 Mqtt 上报给云服务器。

pic1

采集器每隔 10 分钟上报一批传感器数据给云服务器,数据形式如下:

--气象百叶箱(温湿度、噪音、PM2.5、PM10、大气压、光照)
{"Dev":"SENSOR_WEATHER","Data":{"Humi":72.1, "Temp":26.5, "Noise":71.1, "PM25":35, "PM10":0, "Air":10.0, "Lux":5800},"Err":null}
--风速,表示风速为8.6m/S
{"Dev":"SENSOR_WIND","Data":{"Wind":8.6},"Err":null}
--紫外线,表示紫外线强度= 3.23mW/cm2
{"Dev":"SENSOR_UV","Data":{"UV":3.23},"Err":null}
--雨量 ,表示雨量值为2.6mm
{"Dev":"SENSOR_RIAN","Data":{"RAIN":2.6},"Err":null}
--雨雪探测,1表示检测到雨雪,0表示未检测到
{"Dev":"RAIN_SNOW","Data":{"RAIN_SNOW":1},"Err":null}

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

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

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

二、硬件

(1)硬件配置

由于 DTU01 的硬件接口是可配置的,所以需要确认一下您手上的 DTU01 采集器是否满足要求,如果确认已满足就无需再做任何操作,否则请完成下面的硬件配置:

  • 请参考《DTU01硬件使用指导书》将 DTU01 电路板上的 ‘A’ 和 ‘B’ 引脚需配置成 485 接口的 ‘A’ 和 ‘B’,即 S3 选择

  • 请参考《DTU01硬件使用指导书》将 DTU01 配置成 4G Cat1 通信

(2)供电和低功耗

  • 关于 DTU01 和传感器的供电,请进一步参考《DTU01直流供电和电池低功耗供电说明》
  • 如果需要整个系统( DTU01 + 传感器 )都由 12v 电池长期低功耗供电,请进一步参考《DTU01直流供电和电池低功耗供电说明》

《DTU01硬件使用指导书》和《DTU01直流供电和电池低功耗供电说明》可在 {FlexLua开源网盘}->{Hardware}->{DTU01万能采集器}->{DTU01硬件使用指导书} 文件夹中找到

三、软件

(1)软件的实现

  • DTU01 软件源代码主体框架的实现参考了 RS485_4G_MQTT 源码,该源码位于{FlexLua开源网盘} -> {Software} -> {DTU01万能采集器}-> {RS485} -> {4G主动发送} -> {MQTT} 文件夹中的 main.lua 文件,新增改动点如下:
    • 新增了几个 ModbusToJson_XX() 函数
    • 在 While 大循环中增加了对这几个 ModbusToJson_XX() 函数的调用
  • DTU01 软件源代码中涉及的传感器资料和传感器的采集代码,来自如下文章:
    • 气象多合一百叶箱(温湿度/噪音/PM2.5/PM10/大气压/光照):S007A(RS485 Modbus 类型气象多合一传感器采集)
    • 风速:S008A(RS485 Modbus 类型风速传感器采集)
    • 紫外线:S009A(RS485 Modbus 类型紫外线传感器采集)
    • 雨量:S010A(RS485 Modbus 类型雨量传感器采集)
    • 雨雪监测:S012A(RS485 Modbus 类型雨雪监测传感器采集)
  • DTU01 软件源代码中假定已将气象多合一百叶箱、风速、紫外线、雨量、雨量监测这几个传感器的 Modbus 从机地址已分别设置为:0x01,0x02,0x03,0x04,0x05

(2)软件的使用

只需修改 DTU01 软件源代码中的配置信息,并将源代码烧录至设备中即可实现大部分场景的需求,烧录方法可参考《DTU01硬件使用指导书》。

本项目的软件源代码文件位于 {FlexLua开源网盘} -> {Application} -> {Z001A} -> {DTU01} 文件夹中