以智能家居长途监控体系为例,规划了一种以Web 技能为中心的长途监控体系解决方案, 并施行树立在根据S3C2440 微处理器和嵌入式Linux 操作体系的软硬件渠道上。在嵌入式Linux操作体系中构建了Web 服务器和视频服务器。在此根底上运用CGI 技能处理HTML 表单,操控体系硬件,完结交互操作,完结用户认证、门窗操控、照明操控、温度监测、视频监控等功用。长途用户能够经过IE浏览器进行实时监督,并对监测体系设备完结办理。
智能家居又称为数字家庭, 一般是指以核算机接口技能和网络技能为根底, 将各种家用数字化设备有机结合为一体的智能化的网络体系。这些家用数字化设备包含电话、核算机、数字化的视听设备、数字化的家用电器及安全监控设备等, 经过有线或无线的方法将这些设备连接起来, 为家庭用户供给简略、安全、牢靠、智能化的归纳服务。本文以Web 技能为中心, 在根据S3C2440 微处理器和嵌入式Linux 操作体系的软硬件渠道上构建了Web 服务器和视频服务器,Web 服务器选用Boa, 视频服务器选用Servfox, 结合CGI 技能处理HTML 表单, 完结用户认证, 门窗操控等家居监控功用。
1 体系整体结构规划
图1 为智能家居长途监控体系的整体结构图。室内部分首要包含家电操控、防盗报警、长途监控、防火报警等功用模块, 这些功用模块经过Web 服务器接入Internet 网, 用户可经过核算机登录因特网, 长途监控室内状况, 一起室内如检测到火、盗等异常状况可经过Internet 向用户报警。
2 体系硬件规划
智能家居长途监控体系的硬件体系由YC2440-F 开发板、网络接口、门窗操控、照明设备、温度传感器、USB摄像头号组成。YC2440-F 开发板作为整个体系的操控中心, 担任信息的收集和处理, 并操控各个模块和谐作业, 如图2 所示。
操控中心选用YC2440-F 开发板。该开发板是运用三星S3C2440 处理器开发的ARM9 开发板。YC2440-F 开发板选用中心板+扩展板的结构。
门窗操控模块能够让用户经过互联网长途操控室内门窗的敞开与封闭, 如有人以非正常方法经过门窗进入室内, 可向用户报警。在试验中选用一个步进电机来模仿门窗操控, 电机正转表明门窗敞开, 电机回转表明门窗封闭, 步进电机如强行被损坏则报警。步进电机经过集成芯片ULN2003 驱动,门窗操控电路如图3 所示。
照明操控模块能够让用户经过互联网长途操控室内照明体系的翻开与封闭。在试验中运用4 个发光二极管来模仿照明体系, 图4 为照明操控模块硬件电路图。
温度监测模块能够实时监测室内温度, 假如检测到室内温度超越50℃则报警。温度监测电路选用DS18B20温度传感器来完结。DS18B20 运用1-Wire 技能, 具有线路简略, 精度高、体积小、低功耗等特色。硬件电路只需将DS18B20 连接到通用I/O 端口GPB0 端即可。图5 为温度监测模块电路。视频监控体系能够经过摄像头实时监控室内状况, 用户能够经过互联网随时调查室内的状况。视频监控选用用一般USB 摄像头完结。
3 体系的软件规划
3.1 智能家居长途监控体系的软件组成
智能家居长途监控体系的软件体系由设备驱动程序、嵌入式Linux 操作体系和应用程序构成,如图6所示。其间嵌入式Linux 操作体系选用2.6 版别的内核。
Web 服务器运用Boa , 视频服务器运用Servfox5 , 这是两款Linux 下的开源软件, 将源码进行恰当修正就能够移植到嵌入式体系中。
3.2 驱动程序的开发
用户进程是经过设备驱动文件操控硬件, 对设备文件的操作方法便是体系调用, 如open 、read 、write 、close等。编写设备驱动程序的首要作业便是编写子函数,并填充file_operations 结构体的各个域。步进电机、LED 和温度传感器DS18B20 都是经过通用I/O 操控的,做为字符型设备。USB 摄像头归于USB 设备。下面以步进电机驱动程序为例阐明Linux 驱动程序的开发进程,具体步骤如下:
(1 ) 编写驱动程序源代码, 将程序源文件motor.c , 增加到内核的drivers/char 目录下。
(2 ) 修改drivers/char 目录下的装备文件Kconfig,增加如下内容:config MOTOR tristate"Motor Driver"
(3 ) 在char 目录下翻开Makefile , 增加obj -$ (CONFIG_MOTOR)+=motor.o
(4 ) 在内核目录下履行make menuconfig 指令, 进行内核装备: 在Device Driver -Character Driver 下将MOTOR 选为M, 模块方法, 退出保存设置。
(5 ) 履行指令make modules , 编译驱动模块。在char目录下发生motor.ko 的文件, 即所需的步进电机驱动模块。经过NFS 方法传到开发板上。
(6) 加载驱动模块, 履行insmod motor.ko .
(7 ) 树立文件节点, 履行mknod/dev/MOTOR_Driver c228 0 .
3.3 完结根据Web 的长途监控
智能家居长途监控体系能够经过Web 服务器为用户供给简练, 漂亮的操作界面。网络操控部分包含登录界面、用户认证、主界面、门窗操控、照明操控、温度监测及视频监控。
用户认证是经过CGI 程序完结的。首先在登录界面中运用HTML 言语增加表单:
用户名:
暗码:
参数action 指明处理该表单的CGI 程序, 此表单所填的内容会经过Web 服务器以name=value1&pwd=value2的方法传给logon.cgi 程序处理, 该程序对用户名和暗码进行认证。用户认证界面如图7 所示, 门窗操控界面如图8 所示。运用表单在网页中增加2 个按钮, 别离操控门窗的翻开和封闭。对应的CGI 程序调用步进电机的驱动程序, 操控电机滚动, 模仿门窗操控。
照明操控界面如图9 所示, 在网页中增加4 个复选框, 别离配有4 个发光二极管。对应的CGI 程序调用LED 的驱动程序, 操控发光二极管。温度操控界面如图10 所示。CGI 程序调用DS18B20 的驱动程序, 读取温度传感器的值, 然后核算温度, 最终回来一个网页显现DS18B20 的信息和温度。视频监控界面如图11 所示, 在网页中增加Java 插件, 接纳并显现视频服务器Servfox发送的视频数据。增加2 个按钮操控视频服务器的翻开与封闭。
以S3C2440 微处理器为操控中心, 完结了智能家居硬件渠道的规划。完结了嵌入式Linux 操作体系在S3C2440 微处理器渠道上的移植。编写了步进电机、发光二极管以及DS18B20 温度传感器的驱动程序。完结了Web 服务器Boa 和视频服务器Servfox 的移植。运用HTML 言语编写静态网页, 完结根据Web 的智能家居长途监控部分的主体结构。运用CGI 技能处理HTML 表单, 操控体系硬件, 完结交互操作, 完结用户认证、门窗操控、照明操控、温度监测、视频监控等功用。