宋珍伟 焦玉全
基于VxWorks的智能家居控制系统
宋珍伟 焦玉全
信息化网络化技术的发展以及家电智能化技术的进步,为远程控制家里的电器设备以及远程安防报警提供了条件,因此构建一个基于Web的智能家居控制平台,只要有网络的地方,通过Internet登陆家居网页就可以控制家里的各种电器。经测试实验证明,该系统具有较好的稳定性和实用性,基本实现了远程设备监控的功能。
智能家居;vxworks;webserver;arm
本文提出了基于工业以太网以及ARM处理器为核心,以VxWorks为嵌入式操作系统的EWS控制平台设计方案,构建一个基于Web的智能家居控制平台,着重研究智能控制系统的核心—基于ARM核的智能网关软硬件设计,也就是在网络设备控制平台中构建嵌入式 Web服务器(EWS)。在此核心的基础上通过 HTTP协议和 Web 页面形式就可以实现对家居的远程控制,内嵌于平台的Web 服务器可以向任何接入它所在网络的合法用户提供统一的基于嵌入式浏览器方式的操作和控制界面,用户所熟悉的浏览器也成了家居的最前端控制平台,从而达到控制各种家电的目的。
整个硬件基于ARM7TDMI核微处理器44box芯片,扩展一片Flash用于存储VxWorks操作系统、一片8M HY57V651620,网络芯片采用RTL8019AS,附带电路为系统电源电路和串口通讯电路以及家电控制模块,安防报警等,如图1.1所示。
图1.1 硬件整体框图
采用的S3C44BOX芯片是韩国Samsung公司出品的一款ARM(Advanced RISC Machines)微控制器,CPU核心为ARM7TDMI。支持在线仿真和实时调试采用SAMBA2总线结构,最高频率为66MHZ。S3C44BOX具有非常丰富的外围资源,集成LCD控制器、12C总线控制器、I2S总线控制器、2个串口控制器、2个通用DMA(Direct Memory Access)控制器、8个10位ADC(Analog to Digital Converter)通道、71个通用I/O引脚等。S3C44B0X 中的系统管理能够通过S/W 控制每组的访问时间、数据总线宽度,ROM/SRAM 组的访问时间和FP/EDO/SDRAM 组被系统管理寄存器中的BANKCON0-7 和BANKCON6-7 控制。组6-7 的类型需要相同。每组ROM/SRAM/DRAM 的数据宽度受BWSCON 控制寄存器控制。ROM 组0 用于Boot ROM 组,因此组0 受H/W 控制,OM[1:0]用于这个目的的。当系统复位时,通过专用的命令,LDMIA和STMIA对BWSCON,BANKCON0-7,BANKSIZE, MRSRB6/7实施控制。从而通过与SST39VF160芯片和HY57V641620存储器接口电路通信实现存储模块的设计。
网络模块采用RTL8019AS芯片,其内部寄存器分NE2000寄存器组和PnP寄存器组,其中NE2000寄存器组又分为4页,都映射到16个I/O地址空间上。系统通过命令寄存器(CR)中的PS1和PS0位来访问不同的页,通过16位I/O地址来访问页内寄存器,使芯片在全双工模式下,可实现数据的同时接收和发送成功完成了对网络模块的设计。由多种不同类型的传感器对室内环境进行采集,对家电状态进行监控,对于家电的控制采用红外模块来完成,采用SC9012红外发射芯片来完成,当控制端接收到相应命令之后,发送电路就按一定的编码在输出端产生串行编码的脉冲,该脉冲再经驱动由红外线发光二极管发射到空间。家电的接收端接收到光信号后,经过解码,达到控制家电的目的。
ARM平台软件实现是本设计的另一个重点,软件的设计基于VxWorks操作系统主要有GoAhead WEB服务器移植、Go Forms程序的设计和网页制作。
2.1VxWorks操作系统平台构建。
VxWorks内核与其它操作系统相比具有非常突出的优点,快速的任务上下文切换、最小的同步开销、最小的中断延时,这也是本文使用该操作系统的原因之一。在VxWorks中,BSP向VxWorks提供与硬件环境的基本接口,负责在加电时完成硬件的初始化,为VxWorks访问硬件驱动程序提供支持,并将VxWorks中与硬件有关的以及与硬件无关的软件进行集成,由BSP向上提供虚拟的硬件平台。因此,对于VxWorks操作系统而言板级支持包是非常重要的,针对目标板的BSP开发实际上是指针对特定目标板硬件进行的BSP移植。对于VxWorks的移值分为二个不同层次,第一是针对处理器的移植,风河公司据不同种类的CPU提供对应的参考包;第二是针对具体目标板,由开发人员定制BSP包。本文BSP设计也主要是针对第二部分 。
由BSP生成的BOOTROM完成最少的系统初始化,只对加载过程中所需的设备初始化和添加驱动,然后通过网口将VxWorks映像加载到RAM的RAM_LOW_ADRS中,然后跳转到VxWorks映像装入点,从而正常启动VxWorks。在VxWorks基础之上编写网络驱动程序以及构建TFFS文件系统。
2.2WebServer服务器。
Goahead是一款适合嵌入式的web Server, 支持asp,cgi,embedded JavaScrip等脚本语言, 这款WEB服务器非常小巧,编译后不含SSI仅要求60K内存,它的输出通常也是面向一些小屏幕设备。在性能方面,使用一颗24MHz的68040处理器,它的响应速度为20次/秒,使用266MHz的Pentium处理器可以达到50次/秒的响应速度。使用的VxWorks开发环境是Tornado2.2,把goAhead所有的源码加到VxWorks image编译环境中去,从而实现Goahead的移植工作。GoAhead WebServer实现了称之为GoForms的标准CGI内存表单处理器,GoForms非常适合于嵌入式操作系统,这也是本文采用GoForms的原因之一。
编写相应的控制程序,如:灯光、家电、报警以及视频监控等,通过GoForms表单实现对各模块控制程序的调用,同时设计网页界面,用户可以通过见页界面对家庭环境设备进行监测控制。
3.1文件系统调试。
将Flash SST39VF160划分为两部分前512K [0x00000000-0x00080000]用于存放bootrom,后1536K [0x00080000-0x001FFFFF]建立TFFS用于存放VxWorks操作系统与应用程序,tffsDevFormat对Flash格式化,TFFS格式化完成,Flash存储器中的内容就显得很有规律,我们可据此判断格式化是否成功。使用usrTffsConfig对文件系统进行配置,成功后,可以通过devs查看Tffs文件系统的挂载信息。
在文件系统建立成功之后,通过在目标开发板上启动FTP服务,将编译好的VxWorks映象下载到文件系统中。在DOS模式下登陆开发板进入文件系统目录可以看到具有读写属性的下载成功的 VxWorks映像。
3.2WebServer 调试结果。
图3.1 网页控制界面
网页控制界面如图3.1所示。
在浏览器中输入http://192.166.0.2/ ,可以看到一个网页控制界面,说明WebServer已经构建完毕。在系统控制界面中,已实现部分功能如照明系统的灯光单独控制,可以对房间的灯进行单独开启和关闭控制,不影响其它房间当前状态;控制智终端复位,系统出现故障状态下,可以对家居控制器进行远程操作;通风系统控制。可见核心部分已经完成,完全可根据不同电器的特性,编写一个控制程序加入到WebServer当中去,从而实现相应家电的控制。
本文基于ARM芯片以及VxWorks实现了一个Web服务器系统,完成了VxWorks移植、串口网络驱动编写、Tffs文件系统构建、相应控制程序编写等。已经实现了家居控制系统的基本功能,为进一步的开发做好了准备。
[1]宋珍伟. Vxworks监控系统研究[J]. 景德镇高专学报,2009(4):7-8.
[2]宋珍伟. 基于网络技术的远程智能家居系统[J]. 科技广场,2005(10):97-98.
[3]程敬原.VxWorks软件开发项目实例完全解析[M].北京:中国电力出版社,2005,10.
[4]陈智育,等.VxWorks程序开发实践[M].北京:人民邮电出版社,2004,5.
ClassNo.:TP332.3DocumentMark:A
(责任编辑:蔡雪岚)
ResearchonSmartHomeControlSystemBasedonVxWorks
Song Zhenwei Jiao Yuquan
The fast development of information, network technology as well as intelligent household appliance offers facilities for the remote control of home appliances and Safeguard Alarming System. This thesis constructs a Smart Home Control Platform based on web through which home appliances can be easily controlled via Logging on the website of it if only the internet is available. Tested, this system has good stability and practicality. The functional goal of remote device monitoring has been achieved.
smart home;vxworks;webserver;arm
宋珍伟,硕士,讲师,南通农业职业技术学院,江苏·南通。邮政编码:226007
1672-6758(2011)11-0067-2
TP332.3
A