APP下载

基于物联网的室内数据采集监控系统

2020-04-07任克强王传强

液晶与显示 2020年2期
关键词:网络连接温湿度控制器

任克强,王传强

(江西理工大学 信息工程学院,江西 赣州 341000)

1 引 言

物联网技术作为信息科技产业的第三次革命,在传感器技术和嵌入式技术的支撑下,以其易于结合、容错率高、易于部署、易于增减传感器节点、执行效率和速率高等技术优势[1-2],已经应用在智能家居等诸多领域[3-7]。本文将物联网用于智能监控领域,用以解决室内多点数据采集与智能监控问题。

目前用于家庭的物联网控制系统的功能比较单一,大部分都是人为发布指令被动的控制系统,无法根据采集的数据主动控制,而且必须是在网络连接正常的前提下,一旦断网,将无法控制系统工作,无法实时监测家庭安全状况。可见目前的智能控制系统有自身的局限性,不适合所有家庭的使用。

本文设计了一种将智能监控与物联网相结合并加入万年历显示功能的室内数据采集与监控系统,通过WIFI和LORA进行组网[8-9],实现对数据的采集、上传、显示和设备的控制,同时获取网络时间或者本地时间,用于万年历走时。整个系统并不完全依赖于互联网,在网络断开的情况下,系统将通过LORA模块组网通信,主控制器自动完成数据采集与控制,并自动切换时间获取通道,读取时钟芯片时间数据,但数据将无法上传到云服务器。无论何种状态下,系统都将异常数据保存到FLASH,便于查询和分析。

2 系统组成

整个系统拓扑结构如图1所示。目前市场上的智能控制系统大部分都是采用一对一的模式,本文设计采用了一对多和多对多的模式,即一个主控制器可以控制多个网络节点,一个网络节点可以控制多个传感器和设备。可实现节点与传感器大规模的部署。

整个数据采集监控系统主要由总控制端、数据采集端和云服务器端组成。本设计的重点在于实现云下与云下设备、云上与云下设备的互联互通。如图1所示,每个节点都集成一块处理器,用来处理传感器采集的数据和下发指令到控制器件。从节点和主控制器节点之间通过LORA组网,实现广播监听的连接模式,通过LORA协议和自定义的数据传输格式,可准确实现数据的采集和控制指令的下发,协议只需配置一次将自动保存到FLASH,开机自动读取配置信息。主控制器和云上设备通过Internet网络实现了数据间的上传和下发,主控制器定时发送心跳包到云端设备,云上设备可以实时监测主控制器的连接状态,具有断网自动连接云上设备的功能。

图1 系统拓扑结构

3 系统硬件设计

本系统硬件设计以Cortex-M3内核的STM32F103为核心处理器,外围配备电源电路、无线通信设备、显示设备、传感器和控制器等,实现了数据的采集、上传、控制和时间获取等功能。其中时间数据不仅用来作为万年历时间,也作为整个系统的时基信号,记录异常数据的时间并存储到本地的FLASH中。系统的硬件框图如图2所示。

图2 系统硬件框图

处理器:Cortex-M3内核的STM32F103处理器,时钟频率可达72 MHz,属于ARMv7的架构,具有较为丰富的外设接口,可以满足多个传感器接入的需求[10-12],具有先进的体系和架构,满足本系统对处理器的需求。

电源电路:整个系统需要用到+3.3,+5,+9 V多种不同的电源。因此采用+12 V电压输入,再经过稳压电路,将+12 V电压稳压在+3.3,+5,+9 V。

无线通信设备:本文中无线通信设备用到了WIFI模块和LORA模块。WIFI模块内置无线网络协议IEEE802.11b.g.n以及TCP/IP协议,利用相关API,可轻松入网。LORA是一种局域网无线标准,具有使用功耗低、传输距离远、多种通信方式可选择等特点。LORA通过扩频通信技术增加信号带宽降低对信噪比的要求,提高抗干扰能力,通过RF射频技术和LoRaWAN技术进行数据传输,使得数据传输距离更远,可达3 000 m以上,可以满足数据在室内传输的需求。本设计选用广播监听的传输模式进行数据传输。

传感器与控制设备:可选用不同类型的传感器和控制器件,以满足不同环境下的需求,也可以根据需要增加和减少传感器和控制器件的数量。比如,可将温湿度传感器部署于卧室,将气敏传感器部署于厨房,将环境监测传感器部署于门外等。为了对系统进行功能测试,选用AM2302温湿度传感器、MQ-4气敏传感器和继电器作为测试元件。AM2302温湿度传感器具有温湿度转换时间快,抗干扰能力强,精度高等特点。温度测量区间为-40~+80 ℃,湿度测量区间为0~99.9%RH,适合监测我国全部地区的室内温湿度。MQ-4气敏传感器可监测多种可燃气体,可部署在厨房实时进行监测,提前预警,提前控制,防止危险事故发生。

显示设备:显示设备选用液晶显示屏,用于显示获取的时间信息、节点信息和设备运行状况等,作为本地人机交互端,可以方便观察整个系统的运行状况,查看传感器采集的数据,查询历史数据等。而且,硬件预留多种屏幕接口,可根据需要更换显示设备。

4 系统软件设计

本系统的软件设计主要有Internet网络端、主控制器端和无线节点端。Internet网络端采用Ai-Thinker-IDE进行编程开发配合主流的网络云平台搭建服务器。其余部分采用Keil uVision5进行编程开发。两种开发环境和云平台配合使用,在很大程度上提高了程序编写效率。编译器本身自带仿真功能,节约了开发时间,在一定程度上可帮助提高程序的稳定性和可靠性。

图3 系统软件流程图

系统上电,各个模块自动调用模块配置函数进行相关系统配置。完成系统配置后,进入网络连接处理函数。联网前,自动读取FLASH记录的已连接的网络数据,自动对比WIFI模块搜索到的网络数据。若记录的数据和WIFI模块搜索到的数据一致,则直接连接到网络;若不一致,则会进入手动配置网络函数,人为选择是否进行网络连接。主控制器和节点之间传输通信指令,确认LORA模块是否能够正常通信。在确认通信正常后,主节点通过判断从节点上传的数据是否存在异常,决定是否下发控制指令到从节点。一旦存在异常数据,主节点可以很快下发控制指令到异常节点,并将异常数据记录到FLASH中。之后将数据上传到云端服务器和显示在液晶屏。液晶屏显示的数据通过翻页的方式进行交替显示,可设置为手动遥控翻页或自动翻页。系统软件流程图如图3所示。

4.1 节点通信程序设计

对LORA节点地址设置,主节点地址设置为0XFFFF,使得主节点处于广播监听模式。此模式下主节点发送的数据可以被其他相同速率和相同信道的节点接收,同时主节点也可以接收其他相同速率和相同信道节点的数据。节点分布如图4所示。A为主节点,其余为从节点。

图4 节点分布

广播监听模式并不能满足数据传输过程中的所有要求,此模式下主节点虽然可以收到所有节点传回来的数据,但却无法判断出是哪个节点传回的数据,容易造成数据的混乱,无法准确控制异常节点。

因此,为了克服LORA在广播模式下对节点识别不足的问题,本文在原有的通信基础上增加了新的数据传输格式,对原有的协议进行扩充改进,传输时序如图5所示。图5中的8位从节点地址和主控制器节点地址是人为分配的,用作自身的识别地址,其中图5(a)和图5(b)为主控制器节点接收从节点数据以及对数据进行解析时序,数据解析格式如表1所示;图5(c)和图5(d)为主控制器下发控制指令至从节点以及从节点进行指令码解析时序,指令码格式如表2所示。在此通信格式下,理论上每个从节点可以级联4 096个控制设备。校验位=(主控制器地址+从节点地址)&0xFF。

(a) 主节点接收数据(a) Master node receives data

(b) 主节点解析数据(b) Host node parses data

(c) 主节点下发控制指令(c)Master node sends control instructions

(d) 从节点解析指令(d)Slave node resolve instructions

表1 数据格式

表2 指令码定义

LORA模块本身自带CSMA/CA机制,在数据发送前先检测其他节点是否处于忙状态,如果忙则等待,如果处于非忙状态则会立即发送。但是,这种机制不能确保数据完全不会冲突。为了降低这种风险,在数据发送时,首先对数据在0~50 ms进行随机延时发送,根据LORA模块空中传输速率19 200 bit/s,则传输一个64 bit的数据只需要大约3.33 ms,因此,随机间隔可以设为5 ms,即在0~50间随机产生间隔为5的数据,用于延时。时间范围可根据节点数量扩大或减少。

4.2 Internet网络连接程序

云下设备与云上设备实现互联,可通过调用API接口实现。首先需要设置WIFI模式、定时器回调函数等系统参数,然后对网络连接参数进行赋值:客户端标识、MQTT用户名和MQTT秘钥,接着调用MQTT相关API进行配置,最后调用网络连接API进行网络连接。

4.3 数据采集与控制程序设计

数据采集和控制可根据需求接入不同类型的传感器。本文为了测试系统的可行性,使用温湿度传感器、气敏传感器和继电器进行测试。微处理器利用定时器中断在一定的时间间隔内循环调用不同传感器采集数据函数,进行数据的处理、上传至主控制器。实时监听主控制器节点下发的指令,完成对设备的控制。

5 系统应用测试

图6 系统运行界面

图6为系统运行界面,图6(a)是数据监控信息显示,对从节点上传的数据进行显示和实时监控;图6(b)是万年历显示,除基本的显示外,增加了农历日期显示、闹钟和定时功能;图6(c)是功能和设置界面,可通过红外遥控或板载按键进行功能设置。界面之间的切换方式可选择手动方式或自动方式。

为了更好地测试整个系统的实时性,在距离50 m并且有障碍物的情况下对一个64 bit的数据多次进行发送和接收测试,测试结果如图7所示。其中,低电平表示节点处于接收状态,高电平表示节点处于发送状态。在图7中,Channel 0为主节点通道,Channel 1,Channel 2,Channel 3是从节点通道。从图7中可以看出,主节点从开始接收数据到完成对从节点的控制指令的下发,整个过程时间在0.35 s内,能较快地对异常情况做出响应。

图7 数据传输时间采集图

主控制器会把采集到节点的数据实时上传到网络云平台,可实现随时随地观察室内情况。云端采集数据如图8所示。

图8 云端采集数据

6 结 论

本文结合物联网技术,设计了一种基于物联网的室内数据采集监控系统。经过实验测试,系统可在0.35 s内可准确地对室内多点数据进行监测和数据上传,证明了系统的实时性和准确性。为了适应不同用户的需求,可增加或减少节点数量,具有较好的可剪裁性。由于系统具有较好的实时性、准确性和可剪裁性,在智能监控领域有着较好的应用前景。

猜你喜欢

网络连接温湿度控制器
工商业IC卡控制器改造为物联网控制器实践
基于AT89C51的数字型蚕用温湿度计的设计
基于DSP的多路温湿度监测系统
个性化设置 Win10 的网络连接信息
运动想象的大尺度动态功能网络连接
基于温湿度控制的天气预测装置
基于DSP和μcos的温湿度检测系统的设计
中小型网络组建技术
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列