当前位置:首页 > 工业控制 > 工业控制
[导读]引言 随着网络技术的不断发展,嵌入式系统将不断地和网络相结合。嵌入式Web技术是计算机领域研究的热点,其优点是开发成本低、通用性强,能运行在8位或16位MCU环境中,其丰富的Web用户图形界面使得嵌入式设备具

引言
    随着网络技术的不断发展,嵌入式系统将不断地和网络相结合。嵌入式Web技术是计算机领域研究的热点,其优点是开发成本低、通用性强,能运行在8位或16位MCU环境中,其丰富的Web用户图形界面使得嵌入式设备具有极好的交互性。因此,一旦在嵌入式设备中集成了Web服务,就能实现用户与嵌入式设备低成本、高通用性的信息交流,即客户端利用HTTP浏览器(如IE),在任何时间、任何地点都能实现与嵌入式设备的信息交互。可以说,嵌入式Web的应用必将极大地促进嵌入式设备,特别是低端控制设备、仪器、仪表的信息化,最终将促进物联网的各种应用。
    在MCU上开发Web服务器的难点在于其资源有限。相比台式机PC(几个GB的双核CPU,几个GB的内存和几百个GB的硬盘)来说,嵌入式系统的各种硬软件资源少得可怜。在嵌入式系统中实现复杂的Web动态服务及Web控制,既没有必要也不现实。因此,如何紧紧围绕嵌入式系统的具体应用要求,恰当地实现Web动态服务及Web控制,进而实现物联网应用是一个需要解决的技术难题。

1 嵌入式Web服务的一般实现方法
   目前,嵌入式设备中通常使用的Web服务器有Apache、httpd、Boa、Thttpd和mini-httpd等。常用的实现动态Web页面的技术主要有CGI、ASP、PHP、JSP、Java、ISPI等。其中,Boa是一个运行在类Unix系统中的小型Web Server,虽然功能比较齐全,但很多功能(如virtual hos-t,内存使用量较大)对嵌入式应用而言是冗余的;Apache功能较强大,但占用空间太多(需要几MB空间,其他Web服务器只需要几百KB);PHP 可扩展性较差,安全性不高;标准的CGI需要用到文件、进程等操作。
    为节省资源、提高效率,嵌入式环境下现应用较多的是嵌入式动态Web实现方法,一般采用“Apache+PHP”或者是“Boa+CGI”技术。然而,在低端的嵌入式设备中,特别是8位MCU的仪器、仪表中,因为受资源尤其是存储资源的限制,要用上述思路来实现嵌入式Web服务不太现实,毕竟对于低端的嵌入式设备而言,移植操作系统是一件奢侈的事情。

2 嵌入式Web动态服务的改进思路及实现
    考虑到嵌入式Web服务器的应用领域多数是专门的控制设备仪表,绝大多数控制设备仪表的工作流程都是基本固定的,所以可以考虑采用某种固定的交互模式来控制这些仪表。能否用这种思路进行设计的关键是要弄清下面两个问题:第一,嵌入式Web服务器的功能有哪些?第二,这些功能是否固定,是否需要扩展?如果这种功能既不是很复杂,又相对固定,那么就可以按照这种思路进行设计,而完全没有必要用CGI、ASP等Web动态服务技术来实现Web动态服务。遵照这一思路,本文实现如下:
    ①将显示界面不变的部分作为一个静态页面,以HTML格式存储在ROM中,以方便MCU直接操作。这样设计后,需要注意的问题是,MCU的ROM空间是否能同时存储程序代码和网页HTML代码。笔者所设计的嵌入式Web服务器的程序代码量有28 KB,而HTML代码量有2~3 KB,采用的MCU(即W78E58B)有32 KB ROM空间,因此采用这种设计思路完全可行。
    ②利用替换法提供Web动态服务。对需要动态改变的内容部分作特殊标记,例如,环境温度值为“TAG:Temperature”,网页长度为“TAG:PageLen”。程序运行时,先将静态页面由ROM读入内存,然后将环境温度值和网页长度值传送到服务器节点,服务器读取实际值并存入内存,再用实际值代替标记,生成一个新的页面并将其送给浏览器,这样用户看到的就是一个动态的页面。
    ③经过上述设计后,网页文件的值是动态的,但不是实时的。可以采用如下思路实现实时动态服务:利用HTML语言的<meta httpequiv =“Refresh”content=“秒数”;url=“跳转的URL”>来实现网页内容的自动更新,其刷新时间由文件开头语句中的content的内容决定。该值可根据具体应用需求进行设置,例如笔者设计的刷新时间为2 s。
    按照这种设计实现后,网页文件就能在2 s范围内实时显示系统通过温度传感器采集来的环境温度。

3 嵌入式Web控制的实现
   按照上述思路可实现服务器对客户端的Web动态服务。然而在实际的嵌入式应用中,仅仅一个Web动态服务是不够的,它还应支持客户端数据上传到服务器,以达到通过客户端来控制服务器的目的。
    那么,如何实现客户端对服务器端的控制呢?遵照上述设计思路,并结合HTTP请求中的POST命令来实现简单的Web控制。实现过程如下:
    ①在网页文件中实现如下表单:


    ②在嵌入式Web服务器的HTTP接收模块中分析HTTP请求的POST数据,当LEDCtr1=0时,发送指令点亮LED灯,否则熄灭LED灯。

4 功能测试
    测试时可将嵌入式Web服务器与客户端主机直接相连,并利用PC机的IE浏览器实时读取服务器测量的环境温度,结果如图1所示。左图是测量的当前环境温度显示的结果,右图是当采用物理手段(如利用打火机烧烤传感器)以提高环境温度后显示的结果。由图可知,嵌入式Web服务器能完成正常的Web动态服务。经实践验证,服务器系统LED灯的亮/灭完全可由图1所示的亮/灭控件来控制,也就是说已成功实现了Web控制。

 

 

5 结论
    笔者分析了当前嵌入式系统实现Web动态服务的几种思路,以采集环境温度、控制LED灯的亮/灭为例,给出一种在嵌入式设备中实现Web动态服务与Web控制的实现思路,并在给出实现结果的基础上验证了该设计思路的可行性。这为嵌入式设备,特别是低端嵌入式设备中顺利实现Web动态服务及Web控制,进而实现物联网技术打下了坚实的基础。
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭