北京工业大学电子信息与控制工程学院 北京 100124
近年来,大气环境问题越来越受到人们的关注,大气环境的污染给人们的生活带来严重危害。与此同时,室内空气品质的好坏也备受重视。据长沙市居民室内停留时间调查显示[1],长沙市居民平均每天约有93%的时间是在不同的室内环境中度过,因此,可以说室内空气质量的好坏直接影响着人们的身心健康。然而,目前室内空气质量调节方法大都简单依靠人们主观判断进行开窗通风、开空气净化器等,没有一个可靠的参照标准,有的时候室外空气质量比室内还要差,这种条件下开窗使得室内空气污染加剧。有的时候出门前室外空气质量不佳没有开窗,几个小时后可能室外空气质量变好,可是不在家中无法进行开窗通风,这样使得对室内空气质量的调节很不方便。鉴于此,本文提出了智能家居室内空气质量检测、评价与监控系统设计方案,此系统使室内空气质量的调节智能化,使室内空气质量保持在一个较好的状态下,给人们在室内的生活营造了一个健康的氛围。
本系统主要由智能家居控制中心、室内空气质量检测装置、智能控制终端、客户端四部分组成。系统总体结构如图1所示。
图1 系统总体结构图
智能控制中心连入宽带网络中,室内空气质量检测装置实时采集室内的温度、湿度、PM2.5、PM10、甲醛、CO、光照等数据,将采集的数据经过处理通过串口发送给智能家居控制中心,同时,可根据编入的控制策略智能调节室内的家电,比如空调、加湿器、空气净化器、卷帘窗等,使室内空气质量得到调节,进而保持在较好的状态下。用户通过手机或计算机登录服务器,通过用户名和密码验证后,便可以查看室内空气质量的相关参数值,系统中的客户端具有良好的人机交互界面,并设有相应的功能按键供用户使用,进而可进行手动调控家中电视、空调、加湿器、空气净化器、卷帘窗、灯光等家电。
系统的服务器硬件结构设计如图2所示,由图2可知,智能控制中心以ARM9[2]嵌入式微处理器S3C2440为控制核心,外围扩展了存储器、键盘操作、LCD液晶显示、以太网传输接口、串口等。
图2 系统服务器结构图
本系统选用三星电子的基于ARM920T内核的32位嵌入式微处理器S3C2440[3]作为系统的控制中心,该芯片本身提供了丰富的内部设备。支持从NAND flash存储器的启动,采用4KB内部缓冲器进行启动引导。其低功耗、 简单、优雅以及全静态设计特点,适合于对成本和功率敏感型的应用。
S3C2440的存储控制器为访问外部存储的需要提供了存储器控制信号,用户只需要根据自己的需求选择合适的外部FLASH[4]和SDRAM与其相连即可实现存储数据的功能。本系统采用的是256MB的NAND FLASH存储器,用于存放系统掉电后需要保存的用户数据,以及用户的程序。选用64MB SDRAM用作程序的运行空间、数据及堆栈区。
由于S3C2440本身没有集成以太网控制模块,所以需要选择一个与其相匹配的控制芯片来实现以太网扩展接口,本系统中所用的是DM9000[5],该DM9000支持8位、16位和32位接口访问内部存储器,以支持不同的处理器。它的自动协调功能将自动完成配置以最大限度地适合其线路带宽,还支持IEEE802.3x全双工流量控制。同时用户可以容易地移植任何系统下的端口驱动程序。
系统的检测装置如图3所示。由图3可知,检测装置以STM32F103RCT6为中心,外围设计出温湿度检测电路、PM2.5和PM10检测电路、甲醛检测电路、一氧化碳检测电路、光照检测电路等。
图3 系统检测板结构图
室内空气质量检测装置的C P U选用STM32F103RCT6,该CPU频率为72MHZ,拥有256K程序空间,48K的RAM,足以满足用户程序的存储和处理;拥有3个USART和2个UART,可满足串口数据的通讯;拥有3个ADC且每个ADC有16个通道,可满足对甲醛气体的采集;拥有2个I2C,可满足对光照值的采集,其CPU最小系统如图4、图5所示。
为了实现无线通讯,选用EMW系列嵌入式Wi-Fi模块。该模块是高速率嵌入式Wi-Fi模块,它的内部集成了TCP/IP协议栈和Wi-Fi通讯模块驱动,用户利用它可以轻松实现嵌入式设备的无线网络功能。该系列模块可以最大限度地降低对嵌入式设备的性能要求,在嵌入式设备中不需要实现任何有关网络处理的功能。这节省了开发时间,提高了利用效率。本系统将采用多个嵌入式设备与一个嵌入式设备通讯的方法,室内空气质量检测装置与多个智能控制终端进行通讯,通讯方式采用UDP通讯。
温湿度检测采用数字温湿度传感器DHT11[6],温度测量范围为0到50摄氏度,湿度测量范围为20%到90%RH。它是一款含有已校准数字信号输出的温湿度复合传感器,它采用专用的数字模块采集技术和温湿度传感技术,具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接通讯,抗干扰能力强,性价比高。采用单总线数据格式,单线双向,一次通讯时间4毫秒左右,数据分小数部分和整数部分,根据系统应用条件,本系统采用整数温湿度值。设计应用电路如图6所示。
PM2.5和PM10传感器模块选用PMS5003。该传感器是一款基于激光散射原理的数字式通用颗粒物浓度传感器,可连续采集并计算单位体积内空气中不同粒径的悬浮颗粒物个数,即颗粒物浓度分布,进而换算成为质量浓度,并以通用数字接口形式输出。采用的是激光散射原理,即令激光照射在空气中的悬浮颗粒物上产生散射,同时在某一特定角度收集散射光,得到散射光强随时间变化的曲线。进而微处理器利用基于米氏(MIE)理论的算法,得出颗粒物的等效粒径及单位体积内不同粒径的颗粒物数量。该传感器实时响应,数据准确,零错误报警率。实时响应支持连续采集,也支持工作和休眠模式设置。采用串口通信协议,本系统系设计中将CPU的串口与其相连进行通讯,对传感器采集回的32个字节数据中,取出其中的第12、13字节经标准计算得出国标下的PM2.5浓度值,取出其中的第14、15字节经标准计算得出国标下的PM10浓度值,单位都为微克每立方米。
图4 最小系统电路
图5 CPU引脚图
图6 温湿度检测电路
图7 甲醛检测电路
甲醛传感器采用半导体类型的MS1100。传感器内部包含一个常规的两电极燃料电池传感器。工作电极通过外电路将电子释放到计数电极,并且在计数电极端随着氧的减少而消耗,内电路由电解液中的离子流来实现。 设计精良,便于电解液的消长。电解液的消长随环境温度和湿度的变化而变化,但是仍可正常工作不会影响到校准值。本系统设计中,采用AD采集输出电压,根据标准的浓度值和电压、电阻的曲线图计算出所测出的甲醛浓度值。设计电路图如图7所示。
一氧化碳传感器采用ZE07-CO电化学传感器。主要用于室内煤气泄漏检测。它是一个通用型、小型化模组,利用电化学原理对空气中存在的CO进行探测,具有良好的选择性、稳定性,内置温度传感器,可进行温度补偿,同时具有数字输出和模拟电压输出,方便使用。本系统设计中采用其数字输出功能,将CPU的串口与其相连进行通讯,对传感器采集回的9个字节数据中,取出其中的第6、7字节经标准计算得出一氧化碳浓度值,单位为ppm,再将ppm值经单位换算得出毫克每立方米的浓度值。
光照值传感器采用数字光强度BH1750FVI,主要用于室内灯光的调节,以达到节约能源的目的。其可测量光照度范围为0到65535lx。光照度的单位是勒克斯,是英文lux的音译,也可写为lx。被光均匀照射的物体,在1平方米面积上得到的光通量是1流明时,它的照度是1勒克斯。该传感器内置16bitAD转换器,直接数字输出,省略复杂的计算和标定。接近于视觉灵敏度的分光特性,可对广泛的亮度进行1勒克斯的高精度测定。本系统设计中采用标准NXP IIC通信协议读取该传感器采回的光照值,设计电路图如图8所示。
图8 光照检测电路
系统的软件设计包括智能家居控制中心软件设计、室内检测装置软件设计以及智能控制终端软件设计三大部分。智能家居控制中心软件设计包括系统软件设计(嵌入式Linux操作系统、嵌入式Linux应用程序、嵌入式Web服务器)和应用软件设计(网页设计及CGI应用程序)。室内检测装置软件设计为编写各个传感器模块的驱动程序。智能控制终端软件设计为编写控制家电的驱动程序。
1)嵌入式操作系统的选择及移植[7]。
本控制中心系统采用Linux作为操作系统,并用Linux 4.4.3内核在嵌入式微处理器S3C2440上移植,具体移植方法如下。
①准备Linux 4.4.3内核压缩包linux-4.4.3.tar.xz以及交叉编译工具arm-linux-gcc-4.3.2.tar.bz2。
②解压压缩包并安装编译器arm-linux-gcc-4.3.2。
③修改Make fi le文件,修改机器类型ID号等。
④执行make menucon fi g,并对选项进行配置,以达到对内核进行裁剪,节省内存空间,提高编译效率。
⑤执行make uImage进行编译,将生成的内核镜像文件uImage通过tftp、nand等命令烧入存储器中,完成Linux 4.4.3内核在ARM微处理器上的移植。
2)嵌入式Web服务器选择及移植[8]。
常见的嵌入式Web服务器主要有:lighttpd、thttpd、shttpd和Boa等等。本系统在设计中选择了支持CGI又较适合嵌入式系统的Boa Web服务器,并将其移植在该系统中,使系统实现嵌入式Web服务器功能,具体移植实现方法如下。
①准备Boa服务器源代码boa-0.94.13.tar.gz,并将其进行解压缩。
②在src目录下执行命令./configure,会产生一个makefile文件,修改src目录下makefile文件,boa.c文件,compat.h文件。
③编译,把“src/”目录下编译得到的boa可执行文件拷贝到文件系统的“sbin/”目录下,在/etc目录下建立一个boa目录,把“boa-0.94.13/”目录下的boa.conf文件拷贝到文件系统的“etc/boa/”目录下。
④创建日志文件所在目录/var/log/boa,创建html文档的主目录/www,创建CGI脚本所在目录/www/cgi-bin。
⑤修改boa.conf文件,把Linux系统etc/目录下的mime.types拷贝到文件系统etc/目录下。
3)CGIC库的移植。
①准备cgic205.tar.gz源码包,并将其进行解压缩。
②修改Make fi le文件后,并进行编译。
③拷贝cgic205目录下的capture文件到文件系统/www/cgi-bin目录下。
智能家居控制中心的核心是一个嵌入式Web服务器,其应用软件的设计包括网页设计、CGI应用程序设计。网页设计[9-10]采用设计工具Dreamweaver CS6、Photoshop来实现,系统设计中采用网页每2秒更新一次数据,故采用ajax与CGI相结合的技术,这样可以实现数据的更新在后台完成,使网页页面更加友好。当Web页面打开时,用户通过点击页面相应功能按钮实现相应的操作。当点击查看按钮时,将调用脚本文件中的相应函数,函数中再调用相应CGI程序,读出已经采集存入文件中的数据,对数据进行处理后发送到网页端进行动态显示,显示的数据有温度值、湿度值、PM2.5浓度值、PM10浓度值、甲醛浓度值、CO浓度值、光照值和室内空气质量等级。除了查看功能,页面中还设有温度设定、湿度设定、开空调、关空调、温度+、温度-、开加湿器、关加湿器、开卷帘窗、关卷帘窗、开灯、关灯、开电视机、关电视机、启用智能控制、启用手动控制等按钮,用户通过点击相应按钮实现对家用电器的控制。在系统设计中,CGI应用程序的编写采用C语言,实现外部实时数据的采样、与外部设备的通信与控制等。本系统控制中心的应用软件工作流程如图9所示。
图9 控制中心应用软件工作流程
由于检测装置上的每个传感器模块实现采集的数据功能不同,所以要针对不同的模块编写不同的底层驱动程序,实现对室内空气质量参数的实时采集。检测装置采用的CPU是STM32F103RCT6,就其本身硬件资源而言,选用ucosII操作系统在CPU上进行移植效果较好。该系统下需要创建三个任务,分别完成传感器数据的采集,将采集处理好的数据发送到服务器,将服务器端的控制命令发送到智能控制终端。检测装置软件工作流程如图10所示。
图10 检测装置软件工作流程
智能控制终端负责执行服务器端下达的控制命令,比如开空调、开加湿器等。该智能控制终端选用的CPU为STM32F103C8T6,与检测装置CPU功能相似,选用ucosII操作系统在CPU上进行移植效果较好,硬件资源足以满足设计要求,其应用软件设计相对其他部分来说要简单些。其工作流程如图11所示。
本智能家居室内空气质量检测、评价与监控系统中采用智能控制和手动控制两种策略,可供用户自由选择。
图11 智能终端软件工作流程
当用户点击客户端的启用智能控制后,系统将进入智能控制模式。系统检测装置根据实时采回的数据由预先编入的控制策略[11]对家中的空调、加湿器、空气净化器、卷帘窗、灯光进行智能控制,进而使室内环境保持在一个较好的状态下。
当用户点击客户端的启用手动控制后,系统将进入手动控制模式。这种模式下,系统将失去对家电的智能控制,由用户通过客户端的按钮对家中的空调、加湿器、空气净化器、卷帘窗、灯光、电视机进行控制。
以北京工业大学科学楼1113室为实验对象进行室内空气质量检测、评价与监控。其客户端显示界面如图12所示。
图12 客户端显示界面图
与传统的智能家居系统相比,该系统主要实现对室内空气质量的检测、评价与监控,并且系统设有智能控制与手动控制两种模式,用户可根据自己的需求进行选择。客户端提供了友好的人机交互界面,实现了远程的检测与监控。该系统的智能控制终端个数可根据用户需求而改变,进而使系统的升级与扩展更加灵活。但是,本系统对室内空气污染物的检测并不全面,只选择了其中的物理性和化学性的几种作为检测对象,生物性和放射性由于现实条件没有考虑其中,期望以后更加完善。
参考文献
[1] 刘建龙,谭超毅,张国强.长沙市居民在不同室内环境中停留时间的调查研究[J].制冷空调与电力机械,2008,124(29):32-35
[2] 于明,范书瑞,曾祥烨.ARM 9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006
[3] 韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2008
[4] 马海红,何嘉斌.基于ARM的嵌入式系统FLASH接口设计和编程[J].仪表技术与传感器,2005(1):39-42
[5] 施勇,温阳东.基于DM9000A的嵌入式以太网接口设计与实现[J].合肥工业大学学报,2011(4):519-524
[6] 葛年明,殷彩萍,邵文学.基于STM32的室内有害气体检测系统设计[J].微型机与应用,2015,34(23):20-22
[7] 王剑飞,程耀瑜.基于S3C2440的嵌入式Linux系统移植[J].电子测试,2012(11):84-89
[8] 陆永健,王萍,吴佳,等.嵌入式Web服务器Boa的移植及其应用[J].河海大学常州分校学报,2005,19(4):44-47
[9] 赖于树,李迅波,杜平安.基于嵌入式Web服务器的多通道温湿度监测仪[J].仪表技术与传感器,2006(5):16-18
[10] 陈惠贞.网页程序设计HTML·JavaScript·CSS·XHTML·Aja x[M].北京:清华大学出版社,2013
[11] Krausse B, Mardaljevic J. Patterns of drivers’ exposure to particulate matter[J]. Spatial Planning, Urban Form,and Sustainable Transport,2005:151-167