黄国强,曾 英,刘持标
(三明学院 信息工程学院 物联网应用福建省高校工程研究中心,福建 三明365004)
基于WiFi的家居甲醛监测系统开发
黄国强,曾 英,刘持标
(三明学院 信息工程学院 物联网应用福建省高校工程研究中心,福建 三明365004)
为了解决当前甲醛广泛存在于家居装饰材料中,危害着人们身体健康的问题,利用物联网技术设计了一种家居甲醛监测系统。在设计PCB电路板和完成Arduino nano、WiFi模块、甲醛传感器模块、温湿度传感器模块和蜂鸣器模块等电子器件焊接与调试的基础上,对各硬件模块编写相应的代码来实现传感器的数据采集和与服务器之间数据传输。针对硬件所开发的管理系统包括Web服务器端和手机APP用户端,该系统实现了对家居环境中甲醛浓度和温湿度的实时监测与报警。所开发的软硬件系统具有硬件设备体积小、安装方便和APP智能管理等优点,可以在大多数家居环境中使用。
甲醛监测;温湿度监测;PCB设计;WiFi传输;Arduino nano;控制;智能手机
伴随着社会经济的快速发展,家居装修材料和生活用品越来越多样化,材料中所含有的甲醛的危害也日益突出。目前,我国对于室内空气中甲醛浓度的检测方法主要包括分光光度法、色谱法、比色法与极谱法等[1]。国内生产的室内空气中甲醛浓度的检测仪主要是长春吉大小天鹅公司出品的一系列甲醛气体测定仪,如GDYQ-1015/2015现场甲醛测定仪(比色法)等。各种文献表明[2-4],现在国内外的甲醛检测仪均价格昂贵,智能化程度低,仪器抗干扰性差,容易受到外界环境干扰,且需要专业操作人员进行操作,需要经常标定且标定程序复杂,推广性差,利用率低。为解决这些问题,本论文在设计新型软硬件的基础上,开发了一个家庭甲醛智能检查系统。利用所开发的系统,用户可以通过使用智能手机APP,实时获取家庭环境中是否存在甲醛浓度超标的信息,从而远离甲醛危害。
基于WiFi进行通信及多种软件与硬件技术,本论文开发了甲醛检测系统。本系统的硬件设备能够在甲醛浓度或温湿度超标的情况下通过蜂鸣器自动报警,也可通过手机客户端实时查看家居环境中的甲醛浓度、温度、湿度。当设备处在报警状态时,用户可及时采取开窗、通风等降低甲醛浓度措施,直到设备停止报警,可保障家庭成员不受甲醛危害。系统中附加了监测温度和湿度的功能,这主要是由于甲醛的挥发与当前环境中的温度和湿度息息相关,使人们的也能在监测到当前温度和湿度的同时,还能更好对甲醛浓度变化原因进行分析。
本系统是基于物联网技术理念开发的,其网络拓扑图如图1所示。简单的说,设备通过WiFi将采集到的数据传输给服务器,用户可通过客户端查看数据,管理员则可以对服务器中的数据进行管理。
图1 甲醛检测管理系统网络拓扑图
基于WiFi的家居甲醛监测系统包含了硬件设备、Web后台和Android客户端3大功能模块。硬件设备功能包括了核心板、WiFi模块、甲醛传感器模块、温湿度传感器模块、蜂鸣器模块、电源模块和电压转换模块。Web后台包括登录模块、全部数据、折线图、数据查询、异常记录、用户管理、网关管理和界限管理。Android客户端包括注册登录、数据显示、视频监控、设备控制、个人中心。其中,数据显示包括实时数据、历史数据和折线图,个人中心包括修改信息、设备简介和退出登录。系统功能模块如图2所示
Web服务器端代码是运用了基于MVC模式的Struts框架编写[5],其是一个稳定、成熟的框架。Android端代码运用了Activity、Service、Content Provider和BroadcastReceiver 4大组件等技术[6]。
硬件设备代码编译用的是Arduino IDE 1.6.7。Web服务器端开发使用Myeclipse2013编写代码和32位JDK1.6的Java环境,数据库采用的是MySQL5.5[7-8],服务器软件使用32位的Tomcat7。Android客户端开发使用的是Android Studio编写代码[9],版本号为Android-19的SDK作为Android开发环境,并且使用SQLite3作为手机本地存储的数据库。
图2 系统功能模块图
基于WiFi的家居甲醛监测系统包括5个数据表格,分别是用户表、传感器数据存储表、方向控制表、界限管理表和网关表。其中,用户表包括了普通管理员和超级管理员的所有信息,用户表信息包括用户号、用户名、用户密码和权限,用户号是主键;传感器数据存储表信息包括序号、网关、温度、湿度、甲醛浓度、获取时间和状态,序号为主键;方向控制表信息包括序号、命令、获取时间和标记,序号为主键;界限管理表信息包括最大温度、最大湿度和最大甲醛浓度,最大温度、最大湿度和最大甲醛浓度均为主键;网关表信息包括网关、用户号、名称、IP地址和设备地址,网关为主键,用户号为外键。
甲醛监测设备电路图设计首先是先设计各模块电路图,然后再把它们联系起来,设计软件为Altium Designer Winter09,图3是设计完成的甲醛监测设备的整体电路。
在原理图设计完毕后,就可以根据设计好的原理图使用Altium Designer Winter09软件绘制出PCB线路图。PCB设计完成并确认电路不存在问题后,就可以将PCB文档发给PCB工厂打样。然后,对甲醛监测设备PCB打样成品进行焊接与调试,焊接后的成品如图4所示,图4中的数字分别表示:①Arduino nano核心板、②MS1100甲醛传感器模块、③ATK-ESP8266 WIFI模块、④DHT11温湿度传感器模块、⑤蜂鸣器模块、⑥跳线帽、⑦电源模块、⑧电压转换模块。
2.3.1 Arduino IDE
前面几部分介绍了甲醛监测设备的硬件设计和成品制作,现在的设备仅仅是一个躯壳,并没有任何功能,需要为它写入相应的程序,才能使其智能化。所以,接下来将叙述Arduino nano硬件代码烧写的软件安装与使用。为了方便开发和调试,甲醛监测设备将会基于Arduino库进行程序编写。
图3 整体电路设计
Arduino IDE是Arduino官方提供的一个能够运行在 Windows、Mac OS及 Linux上的编程和程序写入工具。它可以从Arduino官网上下载到(https://www.arduino.cc/)。本设备硬件代码烧写用到的Arduino IDE的版本为1.6.7。下载Windows免安装ZIP包,将其解压到任意目录,运行arduino.exe,即可打开Arduino IDE。Arduino IDE使用非常方便,代码编写完成后通过工具菜单选择串口端口号和Arduino的型号,点击下载即可进行代码的烧写。
2.3.2甲醛监测设备的程序编写
图4 甲醛监测设备成品正面示意图
上文中已经介绍了甲醛监测设备程序烧写所需的准备工作和空白Arduino nano的代码烧写。下面将开始用Arduino IDE对甲醛监测设备的硬件代码编写。代码编写将主要涉及到工具类和工具函数的编写,以及INO文件的编写。
(1)程序整体结构
甲醛监测设备的源代码主要由两部分构成。第一部分是文件扩展名为.ino的Arduino主文件,这是Arduino程序的标准源代码文件,实质为C++源代码文件。第二部分是源文件(.cpp)和公用代码的头文件(.h),是用标准的C++代码编写的。这两部分的代码文件都放置在同一个目录下,Arduino IDE在打开项目时能够自动检测到所有项目文件,并同时编译最终生成.hex文件,在Arduino IDE编译完成后,该文件会暂时保存在临时目录并在烧写完成后自动删除。源代码目录结构如图5所示。
图5 源代码目录结构
(2) 主要程序
在硬件程序文件中,control.ino主要负责总程序的调度及对甲醛传感器模块的数据进行处理,DHT11.cpp和DHT11.h是用来对温湿度传感器模块的数据进行处理,WIFI.cpp和WIFI.h是用来对数据进行发送与接收。control.ino文件中的部分程序代码如图6所示。
图6 Control.ino部分程序代码
本系统采用Struts框架实现Web服务器,使用CSS、JQuery、JavaScript、JSP等开发技术实现Web的后台管理界面。后台管理界面采用时下较主流的左侧列表,右侧展示内容的界面设计,较好较直观地展示系统的信息列表,可对相应的数据项目进行增删改查操作。服务器管理系统共有登录、用户管理首页、全部数据、折线图、细分折线图、数据查询、异常记录、用户查看管理、用户添加管理、网关查看管理、网关添加管理、界限管理等十几个界面。其中登录界面如图7所示,输入正确的用户名、密码和验证码即可以进入用户管理界面。用户管理首页如图8所示。
图7 用户登录界面
图8 用户管理界面
使用Android的UI布局、数据存储、网络编程、四大组件等技术,实现了Android客户端界面开发。Android客户端手机应用软件的整体界面主要采用天蓝色的色调,给用户以充满活力和愉悦的心情。Android总共三十几张界面,跳转流畅自然、交互性良好,不存在卡顿和闪退现象,字体和输入框等大方美观,数据显示完整且安全性相对较高。Android客户端界面主要有注册、登录、实时数据显示、历史数据显示、数据折线图、视频监控、报警控制、个人中心管理等界面,其中实时数据及历史数据的界面如图9所示。
图9 检测数据APP管理界面
本工作不仅涉及硬件设备的设计与制作,而且还涉及Web管理系统与APP客户端的开发。在硬件设备上运用了传感器技术、电路设计技术与嵌入式技术等,实现了家庭甲醛数据的实时收集与管理。同时,所开发的Web服务器管理系统及智能收集APP客户端,方便了用户对家庭甲醛数据的随时随地检测。该软硬件系统的推广具有较好的经济及社会效益。
[1] 张宁凡.室内空气中甲醛浓度检测方法的比较[J].河南建材,2016(1):9-10.
[2] 刘姝瑞,张明宇,谭艳君,等.甲醛检测方法的研究进展[J].成都纺织高等专科学校学报,2016,33(4):160-164.
[3] 刘鑫钰,侯晓鹏,苗虎,等.甲醛检测气候室控制系统的研制[J].林业科学,2013,49(1):185-188.
[4] 袁晔,王永忠.纺织品甲醛检测系统的设计与实现[J].制造业自动化,2015,37(6):140-144.
[5]张春华.基于MVC模式的Struts框架的研究与应用[D].长春:吉林大学,2010.
[6]张建源.Android 开发技术的学习及应用[J].现代工业经济和信息化,2014(6):62-64.
[7]耿艳萍,王玉华.基于 MyEclipse8.5 的 Struts2 研究与开发[J].电脑开发与应用,2013,26(6):73-75.
[8]胡敏.Web系统下提高MySQL数据库安全性的研究与实现[D].北京:北京邮电大学,2015.
[9]陈甫.Android Studio 应用[J].电脑知识与技术,2014(24):5659-5661.
(责任编辑:朱联九)
Development of the WiFi Based Home Formaldehyde Monitoring System
HUANG Guo-qiang,ZENG Ying,LIU Chi-biao
(IOT Application Engineering Research Center of Fujian Province Colleges and Universities,School of Information Engineering,Sanming University,Sanming 365004,China)
Formaldehyde is widely used in home-decorating materials,which is harmful to people's health.In order to solve the problem,a monitoring system for home formaldehyde based on the Internet of Things technology (IOT technology)is designed in this paper.The PCB board was designed,and the hardware modules of Arduino nano,WiFi,formaldehyde sensor,temperature and humidity sensor and buzzer were welded,and related firmware was coded for data acquisition and data transmission between the sensor and the server.The developed management system has two parts of the Web server and the smartphone APP,which can realize the real-time monitoring and alarming about the concentration,temperature and humidity of formaldehyde in the home environment.The developed software/hardware system has advantages of small size,convenient installation and intelligent management,which can be used in the most home environment.
formaldehyde monitoring;temperature and humidity monitoring;PCB design;WiFi transmission;Arduino nano;control;smartphone
X84
A
1673-4343(2017)04-0034-07
10.14098 /j.cn35-1288 /z.2017.04.006
2017-04-24
福建省科技计划项目(2013N0031);福建省教育厅省属高校科研专项计划项目(JK2012051)
黄国强,男,福建莆田人,实验师。主要研究方向:计算机接口技术、物联网技术及应用。