褚云霞, 张 军
(石家庄学院 a.美术学院; b.计算机科学与技术学院,河北 石家庄 050035)
随着网络和通信技术的迅速发展,远程监测系统在工业、农业和教育领域发挥着越来越重要的作用.物联网是人与人、人与物、物与物互联的网络[1],到2020年,中国物联网产能市值将达到2万亿元以上,该产业的发展对加快转变经济发展方式,提升社会公共服务能力具有重要的意义[2].
物联网信息通过传感器采集,经过网络传输到应用控制端形成一个闭环.目前,生产传感器的厂家往往只给出接口和协议,客户则要根据实际情况,增加采集传输模块或开发修改应用软件,而这无疑会增加使用成本,延长部署时间;所有物联网采集数据节点的微控制器(MCU)、传感器、无线设备和制动器等都需要电源来满足运行要求;物联网上每个传感器都会按一定的周期采集、传输信息,其传输方式为有线或无线,相互之间的连通标准、功耗、传输距离、组网方式、传输技术和资费等各不相同,缺少统一平台[3].
鉴于以上情况,本文拟开发低功耗广域物联网通用产品,从而降低信息采集成本,使其低功耗运行,节省传输费用.
在私有广域网中,利用门思(ManThink)科技公司OM系列模组与低功耗传感器芯片系统集成的方法,采用低功耗广域网(Low Power Wide Area Network,简写为LPWAN)技术中的NB-IoT(窄带物联网)模组和LoRa模组构建系统数据采集监控平台,在感知层采用门思科技低功耗窄带LoRa通信设备,在应用层利用阿里云IoT(物联网)的LinkWAN进行数据的收集和指令的下传,采集部分包括空气温湿度、陀螺仪、GPS、光照强度、地磁、水浸、烟感、防盗、二氧化硫、噪声等10种以上传感器信息传输标准化的产品,实现一个模块就可完成信息采集和传输,降低功耗和成本.系统原理图见图1.
此系统在应用层能配合LoRaWAN进行更大范围的组网,还能配合阿里公司的消息队列技术进行信息采集和设备控制.
LoRa终端节点:为该系统的最末端设备,主要实现现场数据的采集以及和网关的通信交互.
LoRa网关:LoRaWAN网络和以太网的网关,主要进行LoRaWAN局域网络内的通信交互、数据加解密、双向数据的转发等工作.
LinkWAN后台:阿里云基于IoT的应用前景而开发的一款综合性管理系统,能降低用户处理IoT应用业务的技术难度,其中,通信口业务是整个后台业务的核心.
业务后台:为解决实际问题而组建的后台业务管理系统,通过LinkWAN的服务接口来实现设备数据的双向流通.
图1 系统原理图
利用门思科技OMx02模组集成了一款低功耗的单片机(KL17x CortexM0+内核)和支持扩频调制的射频前端(SX1276/SX1278).OMx02将MCU的硬件资源(GPIO,SPI,IIC,UART)开放给开发者,以方便进行二次开发,从而缩短产品开发周期,提高产品一次性开发的稳定性,降低产品的成本.基于OMx02的门思科技提供自主研发的物联网实时操作系统Man-Pregnante Operating System(MPOS)及配套的LoRa/LoRaWAN协议栈(LWS),即MPOS+LWS,可以快速实现LoRa/LoRaWAN更多、更丰富的应用.
MPOS+LWS以lib文件的形式提供,用户可以通过OMx02的硬件资源(SPI,IIC,UART,GPIO)和MPOS+LWS库文件快速设计出自己需要的LoRaWAN/LoRa传感器.MPOS+LWS具有以下特性:兼容LoRaWAN Class A,Class B,Class C 协议( LoRaWAN1.0.2),为全球唯一的64位标识码(EUI-64TM),集成了实时操作系统(MPOS),有简单易用的周期性任务和丰富的外设接口(SPI,IIC,UART,GPIO).其硬件特性见表1.
系统结构图见图2.
利用MCU扩展接口GPIO,IIC,SPI,UART与市面上现成的传感器相连,实现信息采集.
表1 MPOS+LWS的硬件特性
图2 系统结构图
(1)电量采集模块
通过使用带RS485接口的电量检测仪,实时检测供电的质量.当数值超过安全电源要求时,系统会及时报警,以便管理员采取措施.管理员可以通过供电参数的历史曲线了解用户的实际供电品质,为周边供电管理提供科学依据[4].
(2)门禁信号采集模块
使用带RS485接口的监控服务器对重要场所的门实施门禁进出监测.
(3)灯信号采集模块
通过光照传感器设定阈值,来确定重要场所的灯是否关闭.
(4)水浸信号采集模块
在可能造成漏水的区域安装漏水感应设备,一旦有水泄漏,就会将信号传输到现场监控服务器上.
(5)温度信号采集模块
采用美国美信半导体推出的DS18B20高精度温度传感器,实现LoRa远程温度监控.
(6)烟雾信号采集模块
使用带RS485接口的烟感探测仪对重要场所的烟雾进行监测.
传感器设备往往需要电池供电.在LoRa的信号调制上,采用低功耗的FSK(频移键控)调制方法设计供电模块,实现为传感器供电.OMx02模块的工作电压为2.6~3.6 V;在数据通信状态下,电流约13 mA;在没有数据包传输的情况下,模块电流仅为3 μA.
采集模块的软件在IAR编译环境下采用C语言编写,整体流程见图3.
OMx02的SDK(Software Development Kit,软件开发工具包)由库文件MPOS_LWSx02V1.0.a)、头文件和基于EWARM的工程文件构成,SDK提供的API函数能实现对驱动函数、MPOS系统函数和LoRaWAN功能函数的操作.
MPOS使用基于消息机制的模式通知用户相关事件,由实时操作系统来管理系统的事件和用户的任务.
(1)状态上报
报警器会自动上传自身的状态信息.状态信息包含当前电池的电量和自身设备的监控状态.
图3 远程监测终端软件流程图
(2)警情上报
当报警器探测到火灾警情后,会立即将报警信号传送至后台.
(3)状态统计
统计报警器的运行状态,当发生电池电量低或者设备损坏的情形时,及时为管理员和用户示警.
(4)故障探测
当终端超时数倍(可设置)状态上报时间还没有上报自身状态信息时,认为设备通信异常(失联),系统会通知管理员.
(5)终端定位
每个终端的安装位置可以在地图上呈现.这需要在终端建档时录入地图坐标.
(6)多媒体呈现
在地图上选择某个终端时,浏览器可以呈现当前终端的基本信息,如电池电量、运行状况、信号质量、最后上报时间,并通过醒目颜色区分正常终端和非正常终端.
(7)警情推送
当终端上报警情后,后台可将信息推送给管理员和用户,同时在地图上也会优先突出显示报警终端.
(8)数据读取
后台管理者可以针对一个终端或者多个终端手动获取报警器的状态信息.手动选择多个报警器时,复选项要科学、合理,如在地图上选择某一区域内的报警器、最近一段时间(可设置)内没有上报状态数据的报警器等等.筛选功能的实现需要进行长期迭代.
(9)数据统计
以某一时间段和区域为选择筛选项,统计每一个报警器的状态数据和警情信息,包含终端通信次数、终端报警(警情)次数和终端异常状态统计次数.
监控系统首先利用传感器采集数据,通过LoRa窄带网络进行传输;服务端利用阿里云公司LinkWAN物联网平台进行数据接收,并存放在数据库中,用户可通过移动终端和电脑进行浏览和控制.系统的控制指令通过LinkWAN物联网平台调用消息队列完成,如图4所示.
图4 物联网管理平台调用消息队列截图
阿里云在2017年开发了支持企业网站建设LoRa协议的LinkWAN物联网平台,它通过消息队列 RocketMQ中间件实现分布式集群技术,提供消息订阅和发布、消息轨迹查询、资源统计、监控报警等一系列消息云服务.消息队列 RocketMQ是阿里巴巴“双11”使用的核心产品,是阿里云正式的商用产品.目前,阿里云可提供高可靠、高可用的消息云服务,单个域内可采用多机房部署,可用性极高,即使整个机房设施都不可用,它也可以为应用提供消息发布服务.
本文基于阿里云LinkWAN服务和门思科技LoRaWAN通信设备开发的数据采集监控系统,具有成本低,无需布线,设备小巧,功耗极低等特点,克服了以往采集成本高,布线困难和电源维护困难等问题,为现场监测提供了一种低成本解决方案.