基于嵌入式WiFi物联网的无线家居监控系统
扫描二维码
随时随地手机看文章
引 言
随着嵌入式技术、信息技术的迅猛发展和后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.2 数据传输
数据传输部分将RS 232 串口通信、WiFi 网络数据通信相结合,实现系统数据传输。WiFi 网络由 HLK-RM04 模块构成,HLK-RM04 是海凌科电子新推出的低成本嵌入式 UART- ETH-WiFi(串口 - 以太网 - 无线网)模块。它是基于通用串行接口的符合网络标准的嵌入式模块,内置 TCP/IP 协议栈,能够实现用户串口、以太网、无线网 3 个接口之间的转换。数据通信结构如图 3 所示
图 3 数据传输路径图
2.3 数据处理
数据处理部分主要由中央控制系统、家庭终端设备、上位机界面、TTS 语音报警系统组成。主要对数据采集系统采集的数据进行分析,并据此数据来决策响应方式,将数据实时发送至 PC 端
中央控制系统为数据处理部分的核心,由ARM11 操作平台、串口接口模块以及 CAN 总线控制器组成。ARM11 操作平台选用飞凌 OK6410 开发板 ;串口接口模块选用与开发板配套的串口模块,实现家庭终端、数据采集系统与飞凌开发板间的数据通信 ;CAN 总线控制器选用上海优爱宝公司生产的UIM2501 控制器,可形成 CAN 总线网络,挂载多个由一体化步进电机构成的控制系统。家庭终端设备由一体化步进电机和多种家电设备组成,由一体化步进电机控制家电设备 [9] 门窗、排气扇、空调、暖气等)。上位机界面、PC 端界面实时显示温湿度,帮助居住者直观监控温湿度。TTS 语音报警系统由TTS 语音模块、喇叭等组成,当室内环境异常时,系统会自动发出语音报警声。数据处理部分具体结构如图 4 所示
图 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 模块实现无线数据通信。本系统功耗较小,实时性好,控制精度高且稳定性较好。