一项智能家居远程监控系统的解决方案 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

一项智能家居远程监控系统的解决方案

来源:中国一卡通网  作者:中国一卡通收录  发布时间:2012-04-13 11:35:15  字体:[ ]

关键字:智能家居  远程监控  嵌入式系统  Web  技术  

摘   要: 以智能家居远程监控系统为例,设计了一种以Web 技术为核心的远程监控系统解决方案, 并实施建立在基于S3C2440 微处理器和嵌入式Linux 操作系统的软硬件平台上。在嵌入式Linux操作系统中构建了Web 服务器和视频服务器。在此基础上使用CGI 技术处理HTML 表单,控制系统硬件,实现交互操作,完成用户认证、门窗控制、照明控制、温度监测、视频监控等功能。远程用户可以通过IE浏览器进行实时监视,并对监测系统设备实现管理。


  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 语言添加表单:

  <form method="post" action="/cgi-bin/logon.cgi">

  用户名:<input type="text" name="user"><br>

  密码: <input type = "password" name = "pwd" ><br >

  &nbsp&nbsp&nbsp<input type="submit" value=" 登录"> </form> 

  参数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 表单, 控制系统硬件, 实现交互操作, 完成用户认证、门窗控制、照明控制、温度监测、视频监控等功能。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖