嵌入式智能家居控制系统设计与实现
扫描二维码
随时随地手机看文章
引言
伴随着人们工作节奏的加快和工作环境的不确定性,人 们越来越注重居住环境的安全,希望能在第一时间知道家中 的安全情况,因此,设计一种智能家居远程控制系统具有良 好的实际意义[%目前,大多数嵌入式系统都以处理器为核心, 与一些检测、监控设备配合实现一定的功能,但是由于视频图 像传输的影响以及监控界面的问题,客户端的远程监控效果并不理想。如果嵌入式智能家居系统能够连接到Internet和 GPRS模块,则用户可以通过远程登录界面来了解家居环境信息。因此,本文提出了一款具有网络功能的智能家居控制系 统的实现方案,使用火狐浏览器作为上位机,采用JPEG高效 压缩算法对视频图像进行压缩,用户不仅可以通过浏览器 监测家居环境信息,还可以访问Web服务器中的视频,同时, GPRS通信模块还能将异常信息以短信方式通知用户,提高了 智能家居控制的灵活性叫
1系统架构
系统采用S3C2440处理器作为主控芯片,该芯片是基于 ARM920T内核的RISC微处理,S3C2440处理器内部集成 了很多控制器接口,便于与外部器件连接。整个系统通过传 感器检测家居环境,USB摄像头采集视频数据。当系统接入 Internet,用户就可以登陆家居管理主页,查看各种传感器的 数据信息,操作室内照明灯,还可以浏览家居画面。当室内有 危险时还能触发本地蜂鸣器报警,并能通过GPRS通信系统 向用户发送紧急短信。整个系统的结构如图1所示。
图1系统结构框图
1.1硬件设计
(1)嵌入式微处理器
本设计使用TX2440A开发板进行设计。采用S3C2440 处理器作为主控芯片,主频可以达到400 MHz,具有MMU 管理单元、控制器、支持外部存储器,板载64 MB SDRAM, 256 MB NAND Flash,LCD显示部分为3.5英寸TFT真彩色 液晶屏,网络芯片为DM9000,1个10M以太网RJ-45接口, 4 个 USB Host,1 个 USB Slave B 型接口。TX2440A 开发板 上还扩展了丰富的接口,如蓝牙接口、CAN接口、ZigBee接 口等,方便进行软件调试以及系统测试。
( 2) 视频采集模块
采用了 ZC301摄像头,利用Linux提供的Video4 Linux API函数对USB摄像头采集视频数据,然后将视频数据通 过内部总线发送到视频流服务器MJPG-streamer上,视频 流服务器将视频图像数据进行压缩后,采用TCP/IP协议进行 远程传输,再通过CGI函数集实现客户端与服务器的之间的 交互,远端客户机通过浏览器就可以查看现场监控画面。
( 3) 传感器模块
本系统采用DS18B20温度传感器采集室内温度;采用 HIH-4000湿度传感器采集室内的湿度;采用DSM501A粉尘 传感器来检测室内粉尘浓度;采用PIP探头LH1778为核心的 检测电路来检测是否有人员入侵,并利用蜂鸣器进行本地报 警和GSM短信报警。这些传感器模块通过S3C2440的I/O 口接到控制中心,并把采集到的信息发送到Web服务器上。
(4) GPRS通信模块
GPRS通信模块选用西门子电气公司生产的MC351,该 模块可以提供语音传输、彩信业务和数据传输业务等接口, 内置了彩信MMS协议和TCP/IP协议。该模块与处理器 S3C2440采用串型端口进行数据通信,MC35i上的TXD0端口 主要用于接收处理器发送的数据;GPRS模块上的RXD0端 口用于向处理器发送数据。通信模块将GPRS网络和Internet 网络链接起来,通过与监控中心建立通信链路来进行双向的 数据通信。
1.2软件设计
软件设计主要完成应用程序的设计和监测界面的实现。 应用程序通过调用驱动程序从而实现对硬件的控制,主要完 成室内环境监测模块、照明控制模块和视频监控模块等软件 设计,该应用程序使用CGI语言实现,将CGI嵌入式网页中, 用户通过调用CGI程序,以表单的方式将返回信息呈现给用户, 从而实现网络监控。
(1)环境检测模块的软件设计
该模块设计主要是检测室内的温度、湿度、和粉尘浓度, 整个流程是先由传感器获取室内的状态信息,然后通过网络 将信息传输到服务器平台上。用户通过操作平台就可以查看室 内环境信息,当达到危险值时,蜂鸣器进行报警,同时微处 理器通过串口向GSM短信模块发送命令,通知用户家中有危 险。以温度传感器为例的温度采集流程图如图2所示。
( 2)照明模块的软件设计
该模块主要设计室内照明,系统采用开发板上的 LED1~LED3灯分别来模拟室内照明灯。在/www/Leddate目 录下建立一个文本文件:led.txt,保存LED灯的状态信息, 将每次对LED灯的操作进行数据实时更新。
( 3)视频监控模块的软件设计
视频监控实现分为三个部分:视频图像采集、视频数据 传输、视频图像显示。通过Linux系统内部的V4L对视频图 像采集,将采集到的原始图像数据通过JPEG压缩输出给客 户端进行实时播放,网络传输中应用层采用TRTP /RTCP协 议配合来保证传输的质量,传输层与网络层采用TCP/IP协议。 同时移植BoaWeb服务器,通过CGI监听客户端的请求,从 而实现与客户端的网络交互。视频监控的软件设计框图如 图4所示。
1.3监测界面的实现
根据CGI程序的工作原理,监控页面主要分两部分组 成:静态表单页面设计和动态Web页面设计,使用HTML 来设计静态页面,使用CGI技术制作动态页面。当用户通 过浏览器访问Web服务器时,访问的第一个文件是index. html,将弹出一个对话框要求用户输入登录信息,进行身份验 证,由login.cgi对用户的登陆信息进行验证,通过认证之后, 用户才能进入系统的主页面main.html,在main.html主页面 里为用户提供三种功能:家居环境检测;室内电灯控制;网络 视频监控。其中家居环境检测、报警信号、照明灯由main.cgi 程序进行控制,每个模块利用CGI传输数据和操作指令,完 成照明灯的操作和数据保存;网络视频由视频流服务器Mjpg- streamer通过网络传输到浏览器。当鼠标点击视频查看按钮时, 该页面会链接到stream.html上,显示视频监控画面,在此界 面上,点击左侧的菜单可以进行远程画面拍照,点击控制菜单 将进入视频参数调整界面。
链接部分的HTML语句如下:
<a href="http : //202.117.66.20/ main.cgi">
<a href="http : //202.117.66.20 : 8080/stream.html"><img
src="/?action=stream" width="512px" height="384px"/>
其中202.117.66.20为Boa服务器及硬件电路板的IP地址, href的内容为链接的地址,img里的src为该链接的显示图标。
表1系统主要页面功能说明表
序号 |
程序名 |
功能描述 |
1 |
index.htm 1 |
用户登录界面 |
2 |
main.hm 1 |
智能家居监控主页 |
3 |
stream.h血 1 |
视频监控画面,实时显示视频设备捕获的 |
视频图象 |
||
4 |
static.hm 1 |
监控拍照页面,实现对实时视频当下时刻 图像进行捕捉 |
5 |
login.cgi |
用户登录判定程序 |
6 |
main.cgi |
照明灯控制,环境监测及报警系统程序 |
2系统测试
本测试方案是将开发板和PC主机通过路由器接入局域 网,查看主机的IP地址为“202.117.66.100”,将ARM9开发 板的IP地址设置为“202.117.66.20”,使其与主机的IP地址 在同一网段。将主机与开发板在超级终端中Pmg通网络;然 后进入开发板的MjPg-streamer目录,并启动视频监控系统 的服务端[2];最后在客户端火狐浏览器的地址栏输入http : //202.117.66.20,就可以进入用户登录界面。用户登陆界面截 图如图4所示。
图4用户登录界面
当用户输入正确的用户名和密码后,登陆到远程控制主 界面,在主页面就可以查看室内的状态信息,用户可以通过 按钮控制室内的照明灯,远程控制界面截图如图5所示。
图5远程控制界面
当用户点击视频查看链接后,将进入视频监控界面,在 此界面可以观看从摄像头采集到的实时画面,还能拍照、调 整视频参数,监控画面为实验室一角,在实验室的测试过程中, 监控视频画面清晰流畅,网络延迟较小。监控画面截图如图6 所示。
图6视频监控画面
3结语
本文提出了一种嵌入式的智能家居控制系统的实现方案。 介绍了系统的硬件组成、主要模块的软件设计过程、监控界 面的实现过程、Web服务器的构建与实现视频网络传输等。 系统实现了家居环境中各参数的实时采集、安防检测、照明灯 控制,视频信息的智能化处理,以及家中有危险时的报警功能。 主要特点是易搭建、操作简单、成本低廉,基本达到设计的要 求,有良好的应用价值。下一步可以研究采用手机对智能家居 的远程控制,使用更加方便。
20211223_61c40d06a4c01__嵌入式智能家居控制系统设计与实现