新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于S3C2440的智能家居远程监控系统解决方案

基于S3C2440的智能家居远程监控系统解决方案

作者:时间:2012-09-13来源:网络收藏

3 系统的软件设计

3.1 的软件组成

的软件系统由设备驱动程序、嵌入式Linux 操作系统和应用程序构成,如图6所示。其中嵌入式Linux 操作系统采用2.6 版本的内核。

基于S3C2440的智能家居远程监控系统解决方案

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 >

nbspnbspnbspinput type="submit" value=" 登录"> /form>

参数action 指明处理该表单的CGI 程序, 此表单所填的内容会通过Web 服务器以name=value1pwd=value2的方式传给logon.cgi 程序处理, 该程序对用户名和密码进行认证。用户认证界面如图7 所示, 门窗控制界面如图8 所示。使用表单在网页中添加2 个按钮, 分别控制门窗的打开和关闭。对应的CGI 程序调用步进电机的驱动程序, 控制电机转动, 模拟门窗控制。

基于S3C2440的智能家居远程监控系统解决方案

基于S3C2440的智能家居远程监控系统解决方案



评论


相关推荐

技术专区

关闭