基于NB-IoT技术的智慧牧场环境监测系统设计与实现
作者: 赫宜 付卫国
关键词:窄带物联网;环境监测;NB-IoT;传感器;实时监测;远程控制
0 引言
随着5G技术、大数据的广泛应用,畜牧业的“智慧化”将是其今后发展的主要目标。在5G技术引领下,基于NB-IoT环境监控系统有着广泛的物联网应用,具有覆盖广、连接多、成本低、功耗低、架构优等优势,能够实现远距离通信,可以为牧场的圈舍、饲料棚、挤奶厅等,牲畜活动场地提供温度、湿度、氨气浓度、光照强度等环境相关数据的实时监测,在NB-IoT 通讯技术支持下,设备终端与云平台可互联、互传,将环境监测数据上传至云平台,经过系统分析处理后,由中心控制系统下发命令来控制圈舍等活动场地的应用设施,便于对环境的监控与管理[1]。
1.总体架构设计
环境监控系统的总体架构包括数据信息采集、数据处理、平台端、应用端等4个部分。该系统总体架构如图1所示。其中数据信息采集单元通过环境温度、湿度、氨气浓度、二氧化碳等传感器模块,采集环境中实时的数据;数据处理单元以STM32嵌入式芯片为主处理器,依托NB-loT技术对数据采集以及平台端之间在基站的基础上进行数据通信;平台端通过云平台实现实时检测、接收环境数据,实时进行数据远程监控,同时完成环境数据的监控、统计等操作,具有消息推送、短信报警等功能,检测设备运行状态,管理云平台具备设备绑定、环境数据监控、统计、预警等功能,便于对数据的处理与管理[2]。应用端可以采用网页端、手机端应用平台、手机App等进行环境数据的实时监测和监控应用。
2 硬件系统设计
硬件系统整体架构如图2,硬件设计是根据数据采集单元,数据处理单元采用一款基于ARM Cortex-M 内核STM32系列的32位的微控制器,数据采集模块主要用于监测环境的温湿度、二氧化碳、氨气、光照等,NB-loT模组作为数据传输部分。NB-loT模组与数据处理单元连接,其功能是环境数据采集、处理,同时完成平台与控制器间的数据通信、预警、控制等相关指令的交互。NB-IoT 是 IoT 领域一种新的技术[3],NB-loT技术所构建的系统模型应用较简单,只要有移动运营商的网络即可,设备节点通过NB-IoT模组连接其运营商的基站,与服务器建立TCP连接,然后将相关数据上传至云平台。
2.1 STM32最小系统
由于STM32 系列32 位单片机,内核是Cortex-M3,具备了低成本、功能强大、低功耗等高性能的特性,系统选取此单片机,此单片机主处理器型号是STM32F103RCT6,存储容量为128 KB,工作时温度在-40~85℃,电源电压为2~3.6V。最小系统有主控芯片、晶振电路、程序下载口等。由于集成了多种外设接口,可以采集多种传感器数据,并通过选用的NB模组将传感器数据发送到相应的云平台。最小系统STM32的控制器作为整个系统的控制中枢,可以实现对所有模块的调用和控制,实现所有传感器数据采集和传输的功能。
2.2 NB-loT 模块
NB模组采用移远的SIM7000C,此模组的尺寸小、功耗低,通过电信、移动等运营商的基站就可以实施远距离传输,无须搭建中继网关,基站与节点直接交互数据,降低外界因素的干扰。主控制器STM32与通讯模块SIM7000C通过串口通信,SIM7000C的功能很强大,只需要STM32通过串口发送几个简单的AT指令,就可以实现各种应用,其模块电路如图3所示。
数据处理单元的通信串口UART1_RX,UART1_TX 通过电平转换电路与SIM7000C 的通信串口NB_TXD ,NB_RXD进行数据交互,实现对其通讯模组指令、数据的上传和下发。其中物联网卡与通讯模组的30、31引脚连接,天线外置需要与60引脚RFANT相连,数据上传与命令接收主要借助天线部分完成。NB-loT通讯模块需移动运营商的NB物联网卡方能正常使用,每张物联网卡都有自己唯一的身份IMSI 号,运营商通讯网络可有效识别各个节点的IMSI号。
2.3 数据采集单元
温湿度、二氧化碳、氨气浓度、光照强度等变送器模块的通讯方式比较多样化,有UART、485、RS232、LoRa等,使用一个MCU能够兼容采集各种环境数据,依托RS485通信方式,可以把采集的环境实时数据传给数据处理单元、然后通过NB-IoT模组发送给云平台。采集接口电路如图4所示,实物图如图5所示,传感器性能参数如表1所示。
3 软件系统设计
3.1 软件整体化设计
智慧牧场环境监控系统软件的设计主要分为NB-loT通讯模组数据传输程序、数据采集单元程序。整体程序设计运用Keil MDK-ARM软件编译、调试。用标准C作为设计开发语言类型,采用JLink的SWD 方式给芯片烧录HEX文件。在设备上电初始化运行阶段,各个硬件单元会进入工作状态,各硬件单元采用串口中断服务。软件主要有系统鉴权登录、传感器实时数据采集、模式设置。传感器实时数据采集:温湿度、二氧化碳、氨气浓度、光照强度等实时状态。模式设置:人工模式可手动控制,智能模式根据设定阈值智能决策。传感器的数据通过NB模块传到相应的管理云平台。当出现数据触发报警标准的情况,应用端会接收到相关信号。
3.2 数据采集单元软件设计
变送器完成温湿度、二氧化碳、氨气浓度及光照强度等信息数据采集后,向数据节点发送数据,根据编写的控制指令对变送器、灯光状态、风扇转速等进行控制。实施的主要流程如下:首先是初始化相关设备或端口,如对NB-loT模组、串口及定时器等的初始化设置,区分数据的类型,读取串口数据,针对不同传感器类型,使用单总线协议、I/O口设置等相关程序。在程序编写时,重点注意匹配时间,如传感器响应的时间与数据总线 SDA 拉低的时间要符合。针对查询请求的需求,打包传感数据给变送器节点,然后无线发送给NB-loT模块,对于控制指令,需要设置相关端口控制后端继电器,然后定时读取环境数据。
3.3 NB-loT 通讯模块软件设计
NB-loT通讯模块主要用于对变送器节点发送环境数据的接收[4],然后将接收的数据上传到云平台。通过串口发送的有:设备的注册上线、数据的上传、指令的下发和设备的注销发送 AT 指令控制。为了进一步减轻 CPU 的负担,提升系统运行的速度,采用了直接存储器访问DMA串口中断方式,而且数据采集端变送器节点,数据处理端STM32主控制器、NB-loT模组以及平台端3个部分之间可以实现数据与指令的正向与反向传达,实现了环境数据的可预警性,有效快捷地做出应对措施。
3.4 构建管理云平台
研究构建管理云平台,优势在于能够对多种网络、协议给予支持,各类地貌场景覆盖,在环境监测应用中可以起到数据分发、节点管理等诸多作用。用户可以通过注册方式取得账号,登录进入应用界面,与管理云平台建立通道[5]。关注管理的微信公众号,也可以实现微信报警消息发送功能,绑定终端触发器,达到预警报警功能。
4 系统测试与结果分析
本系统在银川某合作试验牛场进行测试试验,在该牧场内随机挑选一牛舍,牛舍内部安装一套环境监测系统,目前实验数据采集40余万条。各终端供电开机,采集环境数据,应用系统中的NB-IoT通信模块进行环境数据上传至环境数据监测云平台。在应用端App监测温度、光照传感器模块变化情况,并实施跟踪测试。试验开始前,在应用端参数设置界面,将(风扇)触发器的温度参数上限设置为24℃、下限为18℃,如图6所示;将(灯光)触发器的光照强度参数上限设置为100 Lux、下限为50 Lux,如图7所示。上述作为预警标准,当牛舍的温度、光照强度处于预警标准内,电脑云平台WEB、手机App等应用端发出告警信息,并将信息下发给触发器,触发器会根据预定标准执行风扇和灯光的启动或关闭。试验过程中,测试人员在牛舍内,使用应用端监测到当前温度为22.8℃,光照强度为46 Lux,如图8所示,此时手机应用端也通过NBIoT通信模块上传收到相关的环境信息,测试人员在牛舍内观察到通道方向的8路风扇陆续开启,牛舍内总共6路灯光全部开启。如此可见,系统在测试现场能稳定运行,用户能够实时监测环境的实时数据状态,并根据数据智能控制相关触发器,管理相关应用设施。
5 结束语
综上系统设计,结合窄带物联网(NB-IoT)技术、传感器技术、计算机技术等有效地对环境质量进行综合评价。为相关场景管理人员提供实时信息,可辅助决策。基于NB-IoT技术的环境监测系统,可以应用在智慧城市、农业物联网等环境监测的场景,解决布线复杂、传输能力差、人工监测耗时费力等问题,提高智能化、精细化水平和兼容性,有效地对各种环境监测数据进行质量综合分析和评价、监控和预警。随着物联网多样化应用、智能化发展,数据量不断增大,再辅以大数据的分析处理,有着广阔的前景和应用价值。