互联网的迅速开展,完结了信息的高速传输和资源共享,极大当地便了人们的日子。嵌入式体系广泛运用于各种电器产品、智能仪表和操控设备中,它与互联网的结合是一种必定的趋势。
嵌入式体系和网络技能的快速开展,为网络长途操控的开展和完善供给了技能根底。
笔者归纳运用嵌入式体系和Web技能,规划了一种可经过互联网进行长途操控的电源插座体系,完结对家用或工业电器的长途实时操控。用户经过网页浏览器拜访该体系,对各插座进行翻开或封闭的操作,完结对与其相衔接的电器的长途操控。
1 嵌入式Web作业原理
嵌入式Web的体系结构如图1所示。客户端和嵌入式体系中Web服务器之间的通信协议选用HTTP(超文本传输协议)。嵌入式操作体系供给TCP/IP协议支撑。嵌入式Web服务器供给静态网页,也能够经过CGI(Common GatewayInterface,公共网关接口)与后台程序或嵌入式数据库交互,进行数据拜访或处理。
嵌入式Web的作业流程如图2所示。嵌入式Web服务器的主要任务是接纳客户端恳求、解析客户端恳求、呼应客户端恳求、向客户端回送恳求的成果。客户端与Web服务器沟通数据之前,首先用TCP/IP树立衔接,服务器端程序树立TCP类型的Socket套接字;服务器在接纳到用户端的恳求后,解析客户恳求的HTTP协议头,剖析客户的恳求,依据客户的恳求做相应的处理并回来成果。
2 长途可控电源插座规划
文中规划选用ARM–Linux架构。ARM处理器县有小体积、低功耗、低成本、高功用等特色。嵌入式Linux操作体系内核精悍,运转所需资源少,十分适宜嵌入式体系运用。
2.1 体系硬件规划
长途可控电源插座体系硬件结构如图3所示。
嵌入式Web服务器完结对用户的身份验证、页面解析与交互,依据用户恳求发生对电源插座的操控信号。存储器寄存体系的程序和页面文件。
以太网接口模块可选用RTL8019AS等以太网接口芯片,完结网络通信。
操控模块完结对衔接在市电AC220 V的插座各开关的“翻开、封闭”操作,从而操控相衔接的电器的作业。因为嵌入式体系运用的DC3.3V电源,且电流较小,操控模块须完结弱电对强电的操控。考虑到呼应速度、电路功耗、运用寿命等要素,操控模块规划选用光电耦合器和可控硅。操控模块可操控电源插座的4路开关,其间一路的电路原理如图4所示。
光电耦合器选用MOC3062,它集光电阻隔、过零检测和过零触发为一体,能够自动检测沟通电压的过零信息。可控硅选用Q4010NH5,是大功率开关型半导体器材,具有耐压高、容量大、体积小、无噪音等长处。
ARM处理器的GPIO端口输出电平缺乏以使光耦元件U1(MOC3062)正常作业,需求信号扩大。电阻R2和下拉电阻R3组成三极管维护电路。当GPIO端口输出为高电平时,三极管T1(9013)导通,使电阻R1和光耦U1构成通路,U1正常作业,GPIO输入信号得到扩大,双向可控硅K1(Q401O NH5)的G操控端得到高电压,K1导通,插座220 V供电翻开;当GPIO端口输出为低电平时,三极管T1截止,使电阻R1和光耦U1构成断路。此刻U1不作业,K1断路,插座供电被封闭。
2.2 操控模块驱动规划
在嵌入式Linux操作体系下,设备驱动程序为运用程序屏蔽了硬件的细节。在运用程序看来,硬件设备仅仅一个设备文件,运用程序能够像操作一般文件相同对硬件设备进行操作。
文中运用GPIO口作为操控端口,每一位信息操控一个电源插座开关。以衔接1号插座开关的GP10为例,阐明其驱动程序的编写。
将GP10界说为输出状况,并预设插座开关断开时输出0,此刻GP10将输出0,输出低电平,并使图4中的三极管T1截止,光耦U1不作业,K1不导通,220 V供电断开;翻开供电时,将GP10置1,即输出高电平,T1导通,220 V供电翻开。
驱动程序中ioctl函数代码如下:
2.3 嵌入式Web服务器规划
长途可控电源插座体系选用B/S(Browser/Server)结构,体系内嵌的嵌入式Web服务器可向合法用户供给依据浏览器的操作界面,浏览器便成了与插座相连设备的远端操控板。
因为嵌入式体系具有的资源有限,构建嵌入式Web服务器须挑选一个适宜的Web服务器,在不影响全体功用的前提下,既使用本身有限的资源,又有必要满意支撑CGI的Web运用需求。
文中选用Boa Server作为嵌入式Web服务器。Boa是一个十分细巧的Web服务器,可履行代码只有约60 kB。它是一个单任务Web服务器,只能顺次完结用户的恳求,而不会创立出新的进程来处理并发衔接恳求。但Boa支撑CGI,能够为CGI程序创立进程来履行。
移植Boa的大致过程如下:
1)从官方网站(http://www.boa.org)上下载Boa源代码,解压;
2)依据硬件对Boa进行相应的装备,并穿插编译,编译器选用arm-linux-gcc;
3)编译生成可在ARM上运转的Boa程序,将其和内核一同下载到ARM平台上运转;
4)将体系所需静态页面文件和CGI程序复制至相应的途径下。
当Web服务器程序收到用户以HTTP协议的GET方法发来的长途操控指令后,调用CGI程序,在CGI程序顶用open(“/dev/rcpo”,O_RDWR)句子翻开设备文件,若成功,则将操控参数传递给ioctl函数的cmd.操控对应的插座开关做相应动作。
3 体系测验
文中在嵌入式体系开发平台上完结,并制作了操控模块硬件,对电源插座进行了内部连线改装,使之长途可控。建立测验环境,对一台220 V供电作业的一般电扇进行长途操控,如图5所示。
用户用浏览器软件拜访本体系,经登录认证后进入操控页面,如图6所示。点击“敞开”按钮后,电扇滚动;点击“封闭”按钮后,电扇封闭。体系运转正常,呼应及时。测验标明,本文规划是可行的、有用的。
4 定论
文中规划了一种长途可控电源插座,在ARM嵌入式体系上构建嵌入式Web服务器,用户经过网络拜访Web服务器,完结对电源插座的操作,从而长途操控与其相连的电器。本文规划选用模块化规划,功用有用,操作简洁,易于扩展,可广泛运用于家用或工业电器的长途操控。
跟着互联网技能的开展以及与信息家电、工业操控技能的结合日益严密,具有网络功用的嵌入式体系运用正在成为未来电器的开展趋势。