当前位置:首页 > 单片机 > 单片机
[导读]摘要: 以智能家居远程监控系统为例,设计了一种以Web 技术为核心的远程监控系统解决方案, 并实施建立在基于S3C2440 微处理器和嵌入式Linux 操作系统的软硬件平台上。在嵌入式Linux操作系统中构建了Web 服务器和视频

摘要: 以智能家居远程监控系统为例,设计了一种以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 语言添加表单:

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭