《电子技术应用》

基于B/S架构的家居环境远程监测系统设计与实现

2017年微型机与应用第8期 作者:梁雪辉,许芬,吴润州
2017/6/6 0:20:00

  梁雪辉,许芬,吴润州

  (北方工业大学 电气与控制工程学院,北京 100144)

       摘要:伴随着物联网技术的快速发展,传感器网络、无线通信、嵌入式智能设备和大数据在智能家居上的结合正在成为一个不可逆转的趋势。针对传统C/S(Client/Server)架构环境监测数据远程监测困难、系统安装复杂、系统平台要求较高、后期维护成本高等缺点,提出了一种基于B/S(Browser/Server)架构的家居环境无线远程监测方案,设计了一套用于多个环境参数实时监测并通过ZigBee低功耗局域网协议进行无线传输的远程家居环境监测系统。用户可以从移动端或PC端通过网页直接查看多个房间内的温度、湿度、PM2.5浓度、甲醛浓度、CO浓度等空气状态信息。该系统设计功耗低、成本低、结构简单、安装方便。

  关键词无线传感器网络B/S架构;智能家居;远程监测

  中图分类号:TP277文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.08.029

  引用格式:梁雪辉,许芬,吴润州.基于B/S架构的家居环境远程监测系统设计与实现[J].微型机与应用,2017,36(8):92-94.

0引言

  “互联网+”和“工业4.0”概念的提出,大大促进了工业、农业、家居、物流、服务、环保等各个行业与网络的融合。人、物、环境之间的互联互通已成为工业4.0时代的一个特征,并正在逐渐延伸成为人类社会活动的基石。作为其中一环,环境信息的监测、采集和网络实时发布就显得愈加重要。实时、准确地提供特定时间、特定位置的环境参数信息是物联网技术中的重要一环,这些信息的提供将对环境管理、环保监测、污染源控制、公共活动、室内安全、交通管理、公共安全等很多领域产生重大影响。随着传感器制造成本的下降和传感器网络技术的成熟,越来多的行业开始提供实时信息服务[1]。

  随着远程监测系统运用场景的不断扩大,工业需求和商业需求的不断增加,促进了国内外学者在这个领域不断进行探索和研究。

  国内,上海电力学院的杨俊杰博士研究了无人值守变电站周界光电一体化安防系统设计[2],华南农业大学樊志平博士研究了柑橘园土壤墒情远程监控系统设计与实现[3],武汉科技大学余湧研究了一种远程监控报警系统的设计[4],国矿业大学的宁芳副教授研究了基于UCD的智能家居控制系统界面交互设计[5],重庆邮电大学自动化学院胡向东研究了面向智能家居的轻量型互认证协议[6]等。

  国外,密西根大学FERNANDES E等人对新兴的智能家居平台的安全进行了深入的分析,特别是针对三星的SmartThings设备提出了一些解决方案[7]。

1系统总体方案

  目前智能家居市场没有统一的接口标准和协议规范,而且对于大众用户来说智能监测不是强需求。本文设计的模块主要从低功耗和低成本两个方面着手,面向一般普通用户。低功耗采用的措施是利用TI的超低功耗MSP430F5438A处理器和CC2530模块;低成本主要是在传感器选型上采用市场上常见的经过市场检验过的一些性价比比较高的传感器。由于市场上没有统一的接口定义,本模块采用最常用的无线串口协议,利于与其他模块之间进行通信。系统主要采用多对一设计模式,“多”指的是可以部署多个检测节点,“一”指的是只有一个管理节点[8]。系统结构图如图1所示。系统的检测节点能够对当前的环境温度、湿度、空气中颗粒物浓度,一氧化碳浓度和甲醛浓度信息实时采集和将数据传输到管理节点,同时在检测节点上设有超标报警装置,一旦超过预设值模块就立即报警。系统的管理节点主要用来对采集数据进行处理,并将处理的数据传输到远程数据库。远程数据库和Web客户端进行数据交互,这时用户就可以通过网页查看到数据信息。该系统的主要特点是使用的硬件资源较少,电路工作稳定,功耗较低,并且便于携带和安装。

 

001.jpg

2硬件系统设计

  硬件系统以超低功耗单片机MSP430F5438A作为处理器为核心,外围电路由温湿度采集模块(DHT11)、显示模块(12864)、空气质量采集模块(GP2Y1051)、ZigBee无线传输模块(CC2530)、一氧化碳检测模块(MQ7)、甲醛检测模块(MQ138)和报警电路组成。单片机对采集到的多路传感器数据进图2检测节点硬件结构行去噪、转换等简单处理后,通过ZigBee无线传输到管理节点(也叫网关)。管理节点将数据发送到腾讯云公网服务器的MySQL数据库。具体的检测节点结构如图2所示。

002.jpg

  2.1主控芯片

  主控芯片选用TI公司的MSP430系列超低功耗微控制器MSP430F5438A,其主要典型特性有:(1)低电源电压范围:3.6 V到低至1.8 V;(2)超低功耗:分为工作模式(AM)、待机模式(LPM3)、关闭模式(LPM4)、关断模式(LPM4.5),不同的工作模式,会对应不同的工作电压和电流,便于进行低功耗处理。

  2.2无线传输模块

  采用ZigBee低功耗局域网协议,多节点广播模式进行无线串口数据的收发[5]。

  为了保证数据传输过程中通信更稳定,故将波特率设置为2 400 b/s。只有当采集数据发生变化时,才进行数据传输。当CC2530没有进行接收数据时,为了节省能源,CC2530将处于休眠状态;当采集数据发生变化时,CC2530被唤醒,单片机对数据进行分析处理,然后在检测节点上进行存储和显示,并通过串口发送给管理节点,之后CC2530重新进入休眠状态,等待下一次被唤醒时继续发送数据,如此循环。

  2.3系统主要模块介绍

  温湿度采集模块采用的是DTH11数字传感器,已校准数字信号输出,有极高的可靠性和稳定性,温度测量范围为0~50℃,湿度测量范围为20%RH~90%RH。

  空气质量采集模块采用夏普的GP2Y1051传感器,夏普GP2Y1051是GP2Y1050的升级版本,升级版的PM2.5传感器取消了之前的模拟输出方式,并且将内部算法进行了微调集成在传感器的控制芯片内,使用串口进行输出,这样将会更加稳定,只需要3根线即可读取PM2.5的电压值。

  一氧化碳模块采用MQ-7传感器,它的特点是对一氧化碳的灵敏度高、稳定性强、使用寿命长、电信号输出大,探测范围为0.01‰ ppm~1‰ ppm。

  甲醛模块采用MQ-138传感器,对醛、醇、酮、芳族化合物具有很高的灵敏度;模拟量输出随浓度增加而增加,浓度越高电压越高;探测范围:甲醛 1~10 ppm。

3软件设计

  3.1数据采集软件

  软件主要分为两部分:一部分是后端检测节点的数据采集程序和管理节点的数据处理程序,另一部分是前端Web页面显示程序。两者之间通过一个管理节点来进行数据网络的数据交互传输,目前实验阶段采用个人计算机完成管理节点功能。

  3.1.1后端检测节点程序设计

003.jpg

  后端程序主要分为三个部分:数据的采集、显示和发送。图3为主程序流程图。

  3.1.2前端WEB页面显示程序设计

004.jpg

  图4为前端页面显示软件设计框架图,系统包括浏览器端和服务端两大部分组成。浏览器端用于用户随时随地查询到实时的监测数据;服务器端将采集的数据进行存储并提供给Web页面进行显示。

  实时显示主要运用的是AJAX技术,是因为HTML5的Web Socket技术刚在市场上使用[9]。AJAX是使用客户端脚本与Web服务器交换数据的应用开发方法[10]。配合使用的JQuery是一个快速、简洁、轻量级的JavaScript库,它将所有的AJAX操作封装到一个函数中[11]。

  3.2无线通信端软件设计

  利用本地计算机代替网关功能,在本地计算机上搭建Python的IDE编译环境,利用PySerial包和串口建立连接,之后将从串口接收到的字符串转换为数组的形式,并分析判断数据是否是想要的数据,利用while循环将接收到的数据更新到远程服务器中已经建立的MySQL数据库表中。

  远程服务器搭建了Apache Web服务器,开放MySQL数据库远程接口,同时安装PHP的IDE环境,利用PHP和HTML相互嵌套的方式编写从数据库中读取数据的程序,使用HighCharts插件将数据动态地显示在Web页面上。

  3.3数据库设计

  MySQL数据库包含:检测节点编号(Number)、采集数据信息(Temperature,Humidity,PM2.5,Formaldehyde, CO)、检测节点位置坐标(Coordinate)和检测时间(Time)。具体设计如表1所示。

006.jpg

  3.4整体软件流程图

  整体软件设计主要分为三个部分:数据的接收与存储、数据的读取、Web页面显示。其中数据的读取和Web界面的显示是被调用和调用的关系。具体流程如图5所示。

005.jpg

4实验和运行结果

  系统的开发环境和运行环境如下。

  服务器端:Python2.7.10+MySQL 5.6.17+PHP5.5.12+Apache2.4.9,运行环境:Ubuntu server 14.04.1 LTS 64位。

  开发工具:PyCharm,Notepad++。

  服务器是在腾讯云上面申请的云服务器,CUP为1核,内存为1 GB,云硬盘为8 GB,公网带宽为1 Mb/s。

  页面显示实时采集数据,页面中的数据会随着读入的串口数据实时改变,这样串口输出的数据和网页显示的数据一致,达到预期的实时显示的效果。

  公网IP地址是:115.159.100.208。

5结论

  本文设计的家居环境远程监测系统实现了数据的远程采集和实时显示。系统可以准确有效地监测家居环境下的各种空气质量信息,并实时显示采集到的数据,为远程监测提供了方便快捷的数据流服务。系统在数据采集和实时显示方面具有良好的扩展性,可以添加更多的传感器,也可以选择显示更多的信息,同时低成本和低功耗是本设计最大的亮点。

  参考文献

  [1] 吕炳潮,杨扬,伍民友. 实时信息的理论研究及应用[J].计算机工程与设计 ,2010,31(18):4012-4014.

  [2] 任堂正,杨俊杰,楼志斌. 无人值守变电站周界光电一体化安防系统设计[J].电测与仪表,2016,53(12):111-117.

  [3] 樊志平,洪添胜,刘志壮,等. 柑橘园土壤墒情远程监控系统设计与实现[J]. 农业工程学报,2010,26(8):205-210.

  [4] 余湧,马娅婕,彭攀来,等. 一种远程监控报警系统的设计[J]. 自动化仪表,2016,37(6):62-65.

  [5] 宁芳,金旦亮. 基于UCD的智能家居控制系统界面交互设计[J]. 包装工程, 2016,37(2):94-98.

  [6] 胡向东,赵润生.面向智能家居的轻量型互认证协议[J]. 传感技术学报,2016,29(5):751-757.

  [7] FERNANDES E, JUNG J, PRAKASH A. Security analysis of emerging smart home applications[C]. 2016 IEEE Symposium on Security and Privacy (SP),2016:636654.

  [8] Jiang Linying,Zhu Zhiliang,Li Hailong,et al.Embedded laboratory environment monitor system[C]. WASE International Conference on Information Engineering, 2009:197201.

  [9] 杨建业,耿建平. 基于HTML5的实时Web数据监测系统[J].桂林电子科技大学学报, 2015,35(2):136-141.

  [10] 张立倩,常晓燕,苗杰,等.基于Web平台数据实时显示研究[J]. 内蒙古农业大学学报(自然科学版), 2008, 29(3):164-166.

  [11] 罗丽娟,谷锁林,张斌.Web平台下测控设备动态数据实时显示系统设计与实现[J]. 指挥控制与仿真, 2015,37(4): 118-122.


继续阅读>>