嵌入式怎么移植webserver到开发板
其实也就是构建个WebServer服务器,只不过这里是以boa+cgic来实现的。
移植boa软件
所用的软件为boa-09413targz,先进行解压到当前目录 。
移植cgic库 ,cgic205targz,修改Makefile ,修改为如下(红色的地方为改过的);
嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。
ZigBee技术
ZigBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术。主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。
ZigBee是一种新兴的无线通信技术,它具有短距离、低功耗、低成本和低数据速率等特点。而智能家居的特点就是网络传输数据量小,对带宽要求低,但是需要的网络实时性好,延迟要短,要求接入方便,系统续航能力久、可扩展性强并且后期维护简单。这无疑使ZigBee技术成为了首选,因为ZigBee技术的主要应用领域就是工业控制、电子设备和楼宇自动化等,它的特点决定了ZigBee技术能很好地满足智能家居系统的需求。
1系统总体方案
智能家居系统网络大致可分为外部网(因特网)、内部网(ZigBee自组网)和家庭网关。其中,家庭网关是核心部分,本系统以移植在tiny6410开发板上的Boa服务器作为家庭网关,它负责家庭内部网络和外部网络的连接和协议转换。下面介绍内部网,这里的内部网就是ZigBee自组网,根据家庭布局采用树状或者星形网络拓扑。ZigBee自组网包括各个终端节点,这些节点配合继电器控制家庭中各种电器开关、温湿度传感器等家庭中需要被监控的设备对象,从而达到远程监控功能。从通信的角度讲,每个节点即为一个终端,它们相互间通过ZigBee协议进行无线通信。这里暂不考虑内部网络不同的协议转换问题。
智能家居系统的总体结构框图如图1所示。
图1智能家居总体结构图
2智能家庭网关设计
本文设计的家庭网关要处理来自Internet的数据,要求实现家庭网关的硬件必须提供强大的网络支持,同时需要支持TCP/IP协议,因此需要操作系统来支持多任务。家庭网关是一个由硬件和软件共同组成的功能实体,将Boa服务器移植到ARM开发板作为网关使用。Boa是一个单任务的小型HTTP服务器,源代码开放、性能优越,特别适合应用在嵌入式系统中,家庭网关结构图如图2所示。
图2家庭网关结构图
Boa服务器的建立较为简单,主要步骤包括:在开发主机上对其进行解压然后交叉编译,接着配置服务器,主要是修改boaconf文件,配置完成后就可以进行移植了,移植成功后安装完毕就可以运行Boa服务器软件了。在构建好的嵌入式平台上运行Boa服务器以及串口读写应用程序,结合静态网页和动态CGI程序可以让命令从网页下达到嵌入式服务器。通过CGI技术可以实现Web服务器和串口读写应用程序的调用,从而达到数据(也就是命令)从网页到服务器再通过串口写入ZigBee家庭内部网络的这样一条正向的流程。当命令发送至ZigBee家庭内部网络后,紧接着读写应用程序读取ZigBee的反馈数据(主要是LED状态以及传感器读数),读取后存入ARM板子里的SQlite数据库以供稍后的CGI程序调用并显示在网页上。
3 ZigBee家庭内部网设计
从发展趋势来看,无线自组网是智能家居网络未来的发展方向。ZigBee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术。其是一种介于无线标记技术和蓝牙之间的技术提案,相对于现有的各种无线通信技术,ZigBee将是最低功耗和成本的技术之一。介于智能家居的规模,即网络中传输的数据量不大、节点较多等考量,实现家庭内部网络拓扑选择星形结构。
ZigBee节点的硬件设计较为简单,本节点采用TI公司的CC2430芯片,在单个芯片上整合ZigBee射频(RF)前端、内存和微控制器。它使用一个MCU(加强型8051),具有128 KB可编程闪存和8 KB的RAM,还包含ADC、定时器、AES128协同处理器。数据采集单元选用一款含有已校准数字信号输出的温湿度复合传感器DHT11
家庭内部网络系统的软件系统是以IAR System公司的IAR Embedded Work bench为开发环境、以TI公司的ZStack协议栈为开发基础设计的。ZigBee协议栈2006基于IEEE 802154标准制定,该协议的突出优点是:组网能力强、适应面广、可靠性高、节能性好。ZStack协议栈由实现ZigBee协议不同功能的程序文件和库函数组成。
4 ZigBee协议
ZigBee协议是家庭内部网的基础也可以说是核心,它的底层是IEEE 802154,包括物理层和MAC层。ZigBee工作在868 MHz、915 MHz和24 GHz 3个频段,而真正需要关心是网络层和应用层。网络层的主要功能就是路由,路由算法是它的核心,优秀的算法能节省ZigBee的能源消耗,缩短延迟。网络层上面是应用层,它主要规定了一些与应用相关的功能,也就是开发人员直接打交道的对象。
本系统采用的协议栈工作流程如图3所示。
图3 ZigBee家庭内部网结构图
在智能家居ZigBee内部自组网络中,协调器作用最为关键,它上接智能家居系统“大脑”也就是家庭网关,下接ZigBee自组网其他路由和终端设备,同时起到一个无线接口的功能。如图3所示,协调器接收应用程序从串口发来的命令并对其解析,解析命令获取要控制的终端地址和控制命令,然后向指定的终端节点发送解析后的新的控制命令,寻址方式是点对点方式,通过协调器分配的网络地址来发送,ZigBee自组网中的命令结构如图4所示。终端收到命令后作出相应动作并反馈自己的状态给协调器,协调器收到反馈数据后会自动通过串口发回给家庭网关,也就是嵌入式服务器,并由应用程序来读取。以上就是ZigBee家庭内部网工作流程。
图4命令结构
本文实现了智能家居监控系统的远程控制功能,整个系统架构简单,即建立嵌入式家庭网关和ZigBee家庭内部网络,其功能齐全,并且可根据实际情况和个人需求增减传感器以节约成本,可为任何家庭提供量身订制的智能家居监控服务。本系统可以根据家庭环境的改变随时添加设备节点,安装方便,实现了智能家居的人性化控制。此项技术将Web技术与嵌入式技术结合并扩展,在此项目设计上稍加改动即可添加更多功能的传感器,此项技术也可以广泛地运用在工业、农业和商业各个领域。
0条评论