当前位置:首页 > 电源 > 数字电源
[导读]引言 随着网络技术的不断发展,嵌入式系统将不断地和网络相结合。嵌入式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控制,进而实现物联网技术打下了坚实的基础。
 

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

(全球TMT2022年10月21日讯)爱立信(Ericsson)公布2022年第三季度财报。由于网络业务表现强劲,第三季度集团有机净销售额增长了3%。总销售额为680亿瑞典克朗,2021年同期为563亿瑞典克朗,其中V...

关键字: 爱立信 GE 控制 移动网络

旧金山, Oct. 20, 2022 (GLOBE NEWSWIRE) -- 总部坐落在旧金山的科技公司Swift Navigation力图重新定义面向汽车高级辅助驾驶系统(ADAS)和自动驾驶、工业机器控制、商用交通,...

关键字: NAVIGATION SWIFT 控制 API

美国纽约州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)发布 2022 年第三季度业绩报告。 IBM 董事长兼首席执行官 Arvind Kri...

关键字: IBM 软件 BSP 云平台

物联网 (IoT) 正在兴起。智能设备正在释放技术优势,帮助人们创造附加值,提高行业生产率。然而,物联网也带来了许多挑战,例如新技术的复杂性,以及获取和处理数据以做出明智决策的需求。换句话说,将产品特性转化为系统解决方案...

关键字: 英飞凌 物联网

Semtech LoRa®设备和LoRaWAN®通讯协议助力实现更及时、高效、智能的智慧校园室内空气质量监测。

关键字: 物联网 人工智能

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

数字电源

15504 篇文章

关注

发布文章

编辑精选

技术子站

关闭