互联网的迅速发展,实现了信息的高速传输和资源共享,极大地方便了人们的生活。嵌入式系统广泛应用于各种电器产品、智能仪表和控制设备中,它与互联网的结合是一种必然的趋势。
嵌入式系统和网络技术的快速发展,为网络远程控制的发展和完善提供了技术基础。
笔者综合运用嵌入式系统和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服务器,实现对电源插座的操作,进而远程控制与其相连的电器。本文设计采用模块化设计,功能实用,操作简便,易于扩展,可广泛应用于家用或工业电器的远程控制。
随着互联网技术的发展以及与信息家电、工业控制技术的结合日益紧密,具备网络功能的嵌入式系统应用正在成为未来电器的发展趋势。
5G商用化应用越来越近,基站建设将带动155GWh以上锂电池需求
可编程增益放大器MCP6S2X在多路信号采集中的应用
物联网时代5G和AI将是未来IoT世界中两个主要的驱动引擎
在TWS蓝牙耳机项目中谈谈一款耳机RF性能调试
半导体激光器的特点
基于ARM-Linux架构的远程可控电源插座设计方案
北京航空航天大学:研制成功的高灵敏度石墨烯MOEMS谐振压力传感器
如何使用运算放大器来驱动高精度模数转换器
光纤连接无线路由器的方法
人机界面应用的蓝牙低功耗和专有射频协议比较
三星显示器:藏不住的专业高效,为你扫清“节后综合症”
隔爆型电气设备的防爆原理
一加6手机设计图曝光该机采用了木质后壳设计
市场面板价格普遍下降 iPhone需求不及预期
苏宁小Biu智能变温冰箱开启预约该冰箱支持24档宽幅变温
电感的饱和电流怎么测
现在的电梯电机为什么都要采用永磁同步电机?
宽带隙材料满足EV功率和效率要求
CMOS图像传感器工作原理
采集针畅通性测试仪