APP下载

基于M6315模组的畜禽养殖系统研究

2022-09-09邝楚文周永丰黄燕

电子技术与软件工程 2022年13期
关键词:固件模组消息

邝楚文 周永丰 黄燕

(惠州经济职业技术学院 广东省惠州市 516057)

1 引言

目前国内的农业养殖场正逐步向科学化、智能化发展。据国家统计局数据显示,2020年我国家禽养殖量达67.8 亿只,2021年蛋禽饲料生产达3231.4 万吨、肉禽饲料生产达8909.6 万吨,标准化养殖成为当前养殖场升级发展的一个重要趋向。在国内政策大力推动农业发展的背景下,农业养殖信息化有着广阔的市场前景和物联网技术应用基础,养殖行业创新性技术需要结合新兴的物联网技术,逐渐实现智慧、科学养殖的目标。

精准农业是近年来国际上科学研究的热点领域,物联网技术为精准农业的实现提供了很好的技术支持,主要包括自动识别技术、传感网络技术、数据挖掘等支撑服务、终端应用技术等。以农业数据采集及传输为例,物联网结合设备终端所组成的传感网,可用于监测农作物灌溉情况、土壤含氧水平、空气质量、家畜和家禽的养殖环境及个体跟踪等,也可用于农场周边的水体监测、灾害预警等。

随着AT 通信模组厂家百花齐放的发展,各厂家的AT指令日益多样化,通信模组也从2G、WiFi 发展到NB-IoT、4GCat1、5G、LoRa 等,MCU 与通信模组的交互逻辑也日趋复杂。本文结合近年国产芯片的发展,例如M5311、M6315 等通信模组,提出了基于M6315 模组的畜禽养殖研究与应用,通过通讯机制、LwM2M 协议、MQTT 协议以及TCP 透传,提供合理的畜禽养殖数据传输方式以及控制系统,从而实现窄带物联网传输的畜禽养殖行业应用。

2 相关工作研究

2.1 M6315模组的通讯机制

M6315 模组采用LCC 封装方式,具有超小尺寸、高可靠性、抗干扰能力强的特点。中移OneNET 物联网平台提供了MQTT、EDP、NBIOT、MODBUS、HTTP 等协议对接M6315 模组所支持的AT 指令集,使用该指令集可控制和管理与GSM 网络相关的各种业务,如呼叫业务、短消息业务、GPRS 数据业务等;也可以控制与ME 相关的功能,如读取IMEI、操作电话本等。

模组OneNET 提供了多协议的连接方式,具体的多协议接入地址如表1。

表1 :OneNET 多协议接入地址

该模组提供了开源OpenCPU 的固件,内置主要MQTT协议的cm_mqtt_open 打开MQTT 客户端、cm_mqtt_close关闭MQTT 客户端、cm_mqtt_connect 连接MQTT 客户端、cm_mqtt_pub 发布消息的固件源代码,可进行定制化烧写录入。通过Arduino、STM32 单片机开发板,实现畜禽养殖数据的上传以及相关指令的下发。M6315 模组通过网络传输互联,进行计算、处理和知识挖掘,实现人与物、物与物之间的信息交互和无缝连接,达到对物理世界实时控制、精确管理和科学决策的目的。

2.2 LwM2M协议的研究应用(以M5311模组为例)

LwM2M 协议定义了标准对象,是基于资源模型的简单对象,主要有创建、检索、更新、删除、属性配置等资源操作,还具备资源的观察和通知,支持JSON/TLV/Plain Text/Opaque 的数据模式,主要用DTLS 安全协议、UDP/SMS 传输协议。LwM2M 协议的服务器能够访问控制设备、网络连接监测、固件更新、实现定位服务,其通信模式如图1 所示。

图1 :LwM2M 协议通信模式

以M5311 模组为例,进行LwM2M 协议的研究,实现数据上传和指令下发。具体流程:模组初始化及驻网、创建设备实体、资源订阅(Object 组配置、Resource 配置)、发起登录请求、登录结果上报、OneNET 数据收发。例如通过表2 所示指令,可实现温度数据的上报。

表2 :温度数据上报AT 指令

在STM32 单片机上设计数据传输单元,数据传输单元上的传感器完成对空气温湿度的采集,通过窄带物联网模组将数据上传至服务端应用。

轻量级LwM2M 基于CoAP 协议,其特别针对物联网设备管理而设计,但消息队列遥测传输从本质上来说是一种发布/订阅的通信协议,可以成功支持物联网中的数据和专有DM 负载。这在协议功能的上下文中尤其重要:LwM2M 带有明确定义的数据和通信模型,提供各种现成的标准对象(OMNA,IPSO,GSMA),提供连通性监控,提供远程设备操作和结构化的FOTA 和SOTA 更新。LwM2M 提供固件升级作为其基本功能之一,因此无需为通信创建任何新的构建块。

2.3 MQTT协议的研究应用(以M6315模组为例)

MQTT 协议的报文由三部分组成,分别是固定报头(Fixed header)、可变报头(Variable header)、有效载荷(Payload)。固定报头包含类型、重复标识、Qos 值、存留标识;可变报头包含协议名、协议级别、连接标志、保持连接;有效载荷包含客户端标识符,遗嘱主题,遗嘱消息,用户名,密码。

MQTT 协议是一个基于订阅/发布的轻量级的应用层协议,旨在为低带宽、不可靠网络中的资源受限设备提供可靠的消息服务,它的轻巧、简单、可靠的特点十分适合物联网环境,在物联网中有广泛的应用。以M6315 创建MQTT连接为例,其连接报文解析如表3。

表3 :M6315 创建MQTT 连接报文解析

M6315 基于发布/订阅模式进行消息收发,具体实现的AT 指令如表4 所示。

表4 :应用MQTT 协议收发消息

另外,可借助远程调试操作所生成的报文,自定义消息格式,摆脱单纯的发送字符或者十六进制数据,比如消息中包含变长的字符、整数等,并可以根据格式进行解析,完成数据上传SEND HEX 和数据接收RECV HEX。

通过M6315 模组的操作指令,远程使用OneNET 平台控制指令下发,进行MQTT 服务器上传、下发数据,例如通电水阀和自动饲养机的控制等。

MQTT 是标准的RFC 协议,相比于私有协议而言更加标准,各端实现同一套协议之后,就能进行通信;私有协议还需要进行大量的验证,看有无缺陷或欠考虑的地方等。协议的标准化带来大量的开源组件,降低开发难度。随着物联网+5G 生态越来越好,开源组件越来越多,可以减少重复编码量。

标准协议利于第三方接入,同时可支持己方搭建自己的MQTT 服务器,便于私有化部署、公有化应用,其持久会话离线的消息也能接收到,对于网络不稳定但要求必须送达的物联网场景很有用。

2.4 TCP透传的研究应用(以M6315模组为例)

OneNET 支持TCP 透传,设备通过TCP 协议连接OneNET,认证成功后即可与OneNET 之间进行数据交互,不同于HTTP、MQTT 等上传数据有严格的规定,用户可自定义Lua 脚本来实现对设备上传数据和下发指令的解析,其具有长连接、用户自定义脚本、高灵活性、支持一个连接对应多个设备数据等特点。

OneNET 服务器上,可先下载script.lua 脚本模板,根据模板修改并上传自定义脚本。

实现设备的定时下发指令如下所示:

解析设备上传数据的指令如下所示:

TCP 透传基于TCP/IP 协议,使用相关AT 指令收发数据,主要流程有:上电初始化、建立TCP 连接、发送数据、接收数据、关闭TCP 或UDP 连接。具体指令如表5。

表5 :应用TCP 透传发送数据

3 畜禽养殖系统架构设计

畜禽养殖系统主要包括四个部分:基本M6315/M5311模组、物联网协议、OneNET 物联网平台、小程序/APP,如图2。

图2 :系统结构图

首先基于M6315 或M5311 模组的物联网芯片,采用可二次开发的固件烧写C 语言程序,由单片机执行AT 指令,实现物联网模组的读写以及继电器的终端设备(如水阀、自动饲养机)控制,并且实时上传控制结果指令。

然后是物联网协议,M5311 模组通过LwM2M 协议、M6315 模组通过MQTT 协议和TCP 透传完成数据上传和指令下发,其中TCP 透传需要上传自定义的Lua 脚本,保持TCP 链路长连接。

接着则为多协议接入物联网平台,数据以JSON 格式接入到LwM2M、MQTT、TCP 透传各个协议中,记录相应的上传数据和下发指令。通过TCP 网络与OneNet 云平台相连接,OneNet 云平台将接收到的数据按照协议解包存储,并以API 的方式提供给应用层。

最后由小程序或APP 通过RestAPI 读取当前设备状态,设备具有新增数据点消息、上下线消息、下行命令应答信息等功能,通过GET、POST 发起HTTP 请求。

4 总结

结合不同协议的消息传输机制,将LwM2M 协议与MQTT 协议两相比较,LwM2M 协议的功耗比MQTT 长连接协议要小,如果以上报数据为主,可优先采用LwM2M协议。若以设备控制为主,MQTT 协议在全双工通信上比LwM2M 协议表现更好,时差性也较优,加上遗嘱消息提供了意外断线时,优雅地发送给第三方的能力。

本文通过对M6315 模组通讯机制的分析、不同协议数据传输的比较,使用 HTTP、MQTT、CoAP、LwM2M 等应用层协议接入OneNET 平台,通过该平台连通用户并与禽畜养殖系统集成,使整个养殖场设备达到远程监控、无人值守的应用场景。

猜你喜欢

固件模组消息
光学薄膜技术及在背光模组中的应用研究
浅谈石墨烯材料在LED路灯模组中的应用及该模组的设计
关于超薄LED背光模组设计探讨
基于固件的远程身份认证
消息
消息
消息
一种通过USB接口的可靠固件升级技术
一种大面积OLED模组均匀调光技术研究
多路手机固件升级工具设计