引言
随着信息技术的发展,以PC为代表的计算机网络技术发展到一个更高阶段,以嵌入式智能设备为核心的后PC时代已经来临。ARM处理器以其性能高、成本低和功耗低的特点,广泛应用于嵌入式控制、消费,教育类多媒体、DSP和移动式应用等领域。随着生活质量的提高,人们对家庭智能化的需求越来越高。智能化正体现在人们生活的各个方面。其中家居的智能化正成为人们生活中追求的热点,而这里提出的基于嵌入式Web服务器的智能家居系统正好满足这一需求。
2 硬件设计
智能家居系统设计需求是PC机遵循802.3和HPPTD等网络协议,通过网络访问主控制器的Web服务器,登录主控制器,通过电力线构成的家庭小型局域网络或串口,发送指令给从控制器进而控制家电,同时利用监控家电的传感器将家电状态返回至PC,如图1所示。该系统设计要求主控制器功耗低,占用空间小,可进行可视化操作。

2.1 控制器选择
DSP数学信号处理器具有强大数据处理能力和高运行速度,但在音频、USB、SD卡等接口功能扩展较弱。而单片机系列的ARM920T具有5级指令流水线.处理速度为1.1 MHz,内置MMU(Memory Management Unit)、独立的16 KB数据Cache、16 KB指令Cache和高速AMBA(Advanced Microcon-troller Bus Architecture)总线接口等功能。DSP和一般8位单片机相比,它具有更全面的通用功能,具有60个中断控制器,支持实时时钟(RTC)、LCD控制器接口、串口接口、网卡接口等功能,还具有16/32位RISC体系结构和ARM指令集。因此该系统采用ARM公司的ARM920T作为主控制器。
从控制器选用MSP430单片机,与89S51单片机相比,它具有RISC(精简指令集),功耗低,支持16位内部总线,引入Flash型存储器和JTAG技术,编程开发非常方便。这里主要讲述主控制系统。
然后判断是否工作在standalone.服务器运行方式上,如果是则运行standalone_main()函数,如果不是则访问process request()函数。
如果服务器工作在standalone模式中,依据图5的工作流程,首先客户端与服务器建立链接,建立socket套接字。监听链接,设置uid和gid,如果服务器没接收到请求信息,继续监听;如果接收到请求信息,则创建子线程。子线程调用process_request()处理客户端请求,服务器继续监听链接,如果客户端请求信息,再创建子线程,调用process_request()处理客户端请求,如此多线程并发处理客户端请求。
在process_request()函数中,首先初始化当前时间,然后读取并处理HTTP请求消息的方法Method字段,读取HTTP请求消息的URL字段。主要通过strcpy_nocrlf(),getparents(),translate_name()这3个函数对HTIP请求消息的URL字段进行解析,依据宏LDGGING决定是否打开日志。最后调用send_note()发送请求的文件给客户端。
3.3 Web服务器通信方案设计
在WINCE系统上开发Web服务器,并通过Web服务器与串口设备进行通信的方案有ASP方案、CSP方案和Socket方案。综合比较,通用WINCE5.0系统不支持ASP控件;Socket主要是C/S方式的,需要安装客户端;而CSP方案在不要求美观的情况下,无需安装客户端就可访问系统。系统则采用该种方案。
一周热门 更多>