基于嵌入式WiFi物联网的无线家居监控系统
2018-09-21刘欢聂志刚
刘欢 聂志刚
摘 要:系统设计基于嵌入式ARM11系统以及无线WiFi智能控制房屋终端设备,先对室内的环境数据进行无线网路分布式采集,采用嵌入式WiFi模块实现数据传输,当环境异常时,系统做出响应以改善室内环境,具有TTS语音报警、打开窗帘和排气扇等功能,同时PC端的上位机界面可直观实时显示环境数据。
关键字:嵌入式;ARM11;WiFi;TTS语音报警;一体化步进电机;上位机
中图分类号:TP273+.5 文献标识码:A 文章编号:2095-1302(2018)07-00-03
0 引 言
随着嵌入式技术、信息技术的迅猛发展和后PC机时代的到来,利用嵌入式系统实现智能家居监控[1]已成为可能。智能家居是一种基于信息采集和处理的现代家居监控系统。近年来,国内外越来越多的研究人员开始对智能控制家居环境进行相关科研和实践工作。家居空间中各项环境信息的采集是实现家居监控的首要任务,这些环境数据是中央控制器系统分析、决策并实施环境控制的主要数据源和参数。随着智能家居的应用需求不断增加,开发准确、方便的家居环境采集控制系统十分必要。目前这一领域已成为世界性热点问题之一[2-4],但迄今为止依然没有成熟的国际标准,各国都在努力研发适合本国国情的智能家居系统。
嵌入式系统是指集成了应用程序、操作系统与计算机硬件的系统。目前嵌入式系统已广泛应用于各行各业,尤其是网络及通信设备、计算机外围设备、消费类电子产品及工业自动控制等领域,其数量已远远超过了各种通用计算机系统。嵌入式系统的编程语言也由汇编语言转变为C,C++和Java 等通用编程语言。
本文设计了一种基于嵌入式WiFi物联网的智能家居监控系统。文中先对系统的设计方案进行总体概述,再详细介绍其硬件架构,分析其可行性,之后具体给出了系统的软件实现,最后简单描述了系统的功能性及创新性。
1 设计方案
1.1 总体设计
本系统由智能家居中央控制系统、家居数据传感系统、家居数据传输WiFi网络[5]及家庭终端设备[6]组成,系统拓扑结构如图1所示。
智能家居中央控制系统主要由中央控制器(嵌入式ARM11开发板)、数据接口以及家庭布线系统组成。中央控制器是数据处理的核心,采用嵌入式技术,通过CAN总线、无线介质以及各种接口控制家庭终端。我们将家庭终端分为信息终端和非信息终端两类,其中信息终端包括计算机、手机、信息家电等,非信息终端包括传统家电、电话、电灯、门窗、语音警报器、探测器等。
数据采集部分是整个系统的驱动器,由温湿度数据传感器、漏水传感器、气体传感器等组成。系统对它们采集的数据进行分析处理,决策如何控制家庭终端。如果这部分无法工作,系统将面临崩溃。因此,提高数据采集的稳定性将会使整个系统更加完美。
数据传输部分是连接数据采集和中央控制系统的桥梁,本系统选用嵌入式[7] WiFi模块构成“隐形桥梁”。WiFi网络通过协议之间的转换实现数据通信。系统中主要的数据传输路径包括WiFi网络、RS 232串口通信、CAN总线网络等。
1.2 性能要求
针对智能家居的特点,我们在设计智能家居监控系统的过程中应充分考虑性能要求。
(1)稳定性:作为智能家居监控系统,保证其正常工作尤为重要,系统运行是否稳定,是判断系统好坏的一个重要指标。
(2)实时性:智能家居系统对系统的实时性要求较高,一般情况下,响应时间应控制在10 s以内。
(3)易操作性:智能家居系统应该能够被所有人群轻易操作,包括小孩、老人、残疾人士,因此系统必须为用户提供简单易用的操作方式。
(4)适宜性:考虑到家庭终端的多样性和复杂性,性能优良的智能家居系统应该具有强大的适应性、伸缩性和可扩展性。
(5)准确性:智能家居系统应自动为居住者提供一个良好的生活环境,因此能否准确对家庭终端进行调控是衡量一个系统是否有效的重要标准。
2 硬件架构
系统可分为数据采集、数据传输、数据处理三部分,下面从这三部分对系统的硬件架构进行描述[8]。
2.1 数据采集
数据采集部分由温湿度传感器SM1810A、气体传感器、漏水传感器组成,分别检测室内温湿度、有无可燃性气体漏出、有无水管爆裂导致漏水,将采集的数据传输至控制系统,其结构如图2所示。
2.2 数据传输
数据传输部分将RS 232串口通信、WiFi网络数据通信相结合,实现系统数据传输。WiFi网络由HLK-RM04模块构成,HLK-RM04是海凌科电子新推出的低成本嵌入式 UART-ETH-WiFi(串口-以太網-无线网)模块。它是基于通用串行接口的符合网络标准的嵌入式模块,内置 TCP/IP 协议栈,能够实现用户串口、以太网、无线网3个接口之间的转换。数据通信结构如图3所示。
2.3 数据处理
数据处理部分主要由中央控制系统、家庭终端设备、上位机界面、TTS语音报警系统组成。主要对数据采集系统采集的数据进行分析,并据此数据来决策响应方式,将数据实时发送至PC端。
中央控制系统为数据处理部分的核心,由ARM11操作平台、串口接口模块以及CAN总线控制器组成。ARM11操作平台选用飞凌OK6410开发板;串口接口模块选用与开发板配套的串口模块,实现家庭终端、数据采集系统与飞凌开发板间的数据通信;CAN总线控制器选用上海优爱宝公司生产的UIM2501控制器,可形成CAN总线网络,挂载多个由一体化步进电机构成的控制系统。家庭终端设备由一体化步进电机和多种家电设备组成,由一体化步进电机控制家电设备[9](门窗、排气扇、空调、暖气等)。上位机界面、PC端界面实时显示温湿度,帮助居住者直观监控温湿度。TTS语音报警系统由TTS语音模块、喇叭等组成,当室内环境异常时,系统会自动发出语音报警声。数据处理部分具体结构如图4所示。
3 软件系统
3.1 Linux开发环境的建立
Linux具有内核小,效率高,源代码开放,内核直接提供网络支持等优点。绝大多数Linux的软件开发都以native方式进行,即本机开发、调试、运行。这种方式通常不适用于嵌入式系统的软件开发,对于嵌入式系统而言,它没有足够的资源在本机(即嵌入式系统平台)运行开发工具和调试工具。
通常嵌入式系统软件开发采用交叉編译调试方式。交叉编译调试环境建立在宿主机(即通过串口连接的宿主机PC)上,对应的开发板为目标板(即嵌入式ARM系统)。通常宿主机和目标板上的处理器不同,宿主机通常为Intel处理器,而目标板多采用飞凌OK6410等,所以程序需要使用针对处理器特点的编译器才能生成在相应平台上可运行的代码。GNU编译器在编译时,可以选择开发所需的宿主机和目标机,从而建立开发环境。在嵌入式开发前,先将一台PC机作为宿主机开发,并在其上安装指定的操作系统。宿主机上安装Linux系统[10]之后,在宿主机上建立交叉编译调试开发环境。本文采用C语言在宿主机上编写视频采集程序,再利用交叉编译调试工具编译链接生成可执行代码,最后向目标平台挂载。系统软件流程如图5所示。
3.2 软件实现
目标板上具体的串口在系统对应的设备文件中都有相应的编号/dev/ttySAC0至/dev/ttySAC3,串口打开的命令为open(“/dev/ttySAC0”,O_RDWR)。程序通过COM0挂载到目标板上后,会先将COM1打开,将温湿度查询指令(01,04,00,00,00,02,71,CB)写入COM1,传送至温湿度传感器,温湿度传感器通过COM1返回温湿度码字(例如:01,04,04,09,FD,11,6D,A4,55),这一过程按照特定周期循环进行;系统可以从COM1上读取温湿度码并进行分析处理,当判断温度大于阈值40℃时,系统会打开COM0和COM2,分别给COM0和COM2写入电机1转动码字
(ADR=6;SPD=20 000;STP=200 000;ENA;)和TTS语音报警码字(FD,00,18,01,01,CE,C2,B6,C8,B9,FD,B8,DF,A3,AC,B4,F2,BF,AA,C5,C5,C6,F8,C9,C8,A1,A3),处理完后继续处理下一温湿度码字;当判断湿度大于阈值60%时,系统会打开COM0和COM2,分别给COM0和COM2写入电机2转动码字(ADR=5;SPD=1 000;STP=500;ENA;)和TTS语音报警码字(FD,00,16,01,01,CA,AA,B6,C8,B9,FD,B8,DF,A3,AC,B4,F2,BF,AA,B4,B0,C1,B1,A1,A3),处理完后继续处理下一温湿度码字;在进行上述步骤的同时,系统会打开COM3,将温湿度码字发送至PC端,PC端界面解码并实时显示温湿度数据。
4 实现功能
系统设计实现了对室内环境温湿度的采集,采用网络分布式方式采集,当温度或湿度过高或室内其他环境异常时,自动打开房屋设备(窗帘、排气扇等),调节室内环境至适宜,同时提示温度或湿度过高。数据传输采用嵌入式WiFi模块实现数据的无线传输[11],节省资源、减小损耗。在PC端设计一个直观界面,可直观实时地显示温湿度等环境数据。
5 系统创新
本系统设计的创新与特色有以下几点:
(1)采用嵌入式WiFi模块进行数据通信,实现无线WiFi网络的数据采集。
(2)应用一体化步进电机控制房屋终端,精确控制位置。
(3)PC端上位机界面可直观、实时显示温湿度。
(4)核心监控设备——ARM11嵌入式系统的应用使本设计速度更快、效率更高。
(5)基于CAN总线的步进电机控制网络可同时控制多个房屋终端设备。
6 结 语
本系统基于嵌入式ARM11开发板飞凌OK6410、嵌入式无线WiFi模块HLK-RM04、串口温湿度传感器SM1810A以及Linux操作系统构成了无线家居网络式监控系统,不仅可以自动控制房屋终端设备调节室内环境,还可通过TTS语音报警提示温湿度等异常,另外PC端上位机界面可直观、实时显示温湿度数据。采集节点可任意增加,实现网络分布式数据采集,数据传输采用嵌入式WiFi模块实现无线数据通信。本系统功耗较小,实时性好,控制精度高且稳定性较好。
参考文献
[1]南瑞亭.基于物联网的家居监控系统研发[D].广州:华南理工大学,2012.
[2] ZHAO Z J,SHEN Q,TANG H,et al. Theory and key technologies of architecture and intelligent information processing for Internet of things[J].Computer Science,2011,38(8):1-8.
[3]张红琴,夏婷.基于物联网的智能家居系统设计[J].物联网技术,2013,3(7):62-64.
[4] CARIES G,JOSEP P. Wireless home automation networks:a survey of architectures and technologies[Z].Consumer communications and networking,2010.
[5]曾磊,张海峰,侯维岩.基于WiFi的无线测控系统设计与实现[J].电测与仪表,2011,48(7):81-83.
[6]贺翔,孟小华.嵌入式智能家居终端人机界面设计与实现[J].计算机工程与设计,2010,31(10):166-2168.
[7]董玉华,孙炎辉,马彪.基于嵌入式的智能家居监控系统设计[J].数字通信,2013,40(3):91-94.
[8]王志军,吴观茂.基于物联网技术的智能家居系统的实现研究[D].淮南:安徽理工大学,2012.
[9] Maric Chan,Daniel Esteve,Christophe Escriba,et al. A review of smart homes present state and future challenges[J].Computer methods and programs in biomedicine,2008,91(1):55-81.
[10]王丽丽,齐赛,朱琳琳.基于嵌入式Linux智能家居监控系统的设计[J].电子设计工程,2012,20(3):92-93.
[11]杨海川,唐飞龙,郑健.基于物联网的智能家居安防系统设计与实现[D].上海:上海交通大学,2013.