Web网络传感器的远程数据采集系统设计

   2024-02-18 互联网1050
核心提示:  引言  随着网络技术和嵌入式技术的发展,将嵌入式系统与Internet相结合对系统进行数据、图像监控和管理,成为重要研究方向

  引言

  随着网络技术和嵌入式技术的发展,将嵌入式系统与Internet相结合对系统进行数据、图像监控和管理,成为重要研究方向之一。嵌入式Web网络传感器技术是传感器、嵌入式、分布式信息处理和Internet等相关技术交*结合的技术,它是在智能传感器的基础上把TCP/IP协议作为一种嵌入式应用,嵌入现成智能服务器的ROM中[12],利用传感器内建的Web服务器,用户可以通过浏览器采集远程监控对象的信息[3]。

  1 Web网络传感器数据采集系统工作原理

  用户通过浏览器访问Web服务器上的数据,将远程采集到的数据实时显示到Internet网页上。用户需要实时看到数据的变化,而HTML网页通常只能是静态的数据,为此在Web服务器上应用动态网页技术是必要的。动态网页的实现技术有CGI和HTML脚本嵌入技术(如ASP、PHP、JSP等),由于网络传感器嵌入式系统采用的是单片机来实现,其资源有限,为此采用CGI技术来实现动态网页。

  1.1 CGI原理

  CGI[4](Common Gateway Interface,公共网关接口)提供给Web服务器一个外部程序的通道,实现处理器与浏览器之间的通信。CGI是一种接口规范,可以处理客户端(一般是浏览器)输入的数据,完成浏览器和服务器之间的交互操作。CGI是运行在Web服务器上的程序,由浏览器的输入触发,是服务器和系统中其他程序的桥梁。CGI程序属于一个外部程序,是运行在服务器端的一个可执行文件。

  CGI程序的工作原理示意图如图1所示。

  
图1 CGI程序工作原理示意图

  客户端的Web浏览器浏览到某个主页后,利用一定的方式提交数据,并通过HTTP协议向Web服务器发出请求。服务器端的HTTP Daemon(守护进程)将描述的主页信息通过标准输入(STDIN)和环境变量(environment variable)传递给主页指定的CGI程序,并启动此应用程序进行处理(包括对数据库的处理)。处理结果通过标准输出(STDOUT)返回给HTTP Daemon,再通过HTTP协议返回给客户端的浏览器,由浏览器负责解释执行,将最终的结果显示给用户。

  
图2 CGI数据采集流程

  1.2 基于CGI的数据采集流程

  CGI的数据采集流程如图2所示。当用CGI实现远程传感器温度数据采集时,CGI程序可以通过直接访问硬件或调用驱动程序的方式获得数据。当数据采集完毕后,CGI程序将数据组织成HTTP流并发送到Web服务器上,由Web服务器负责送到客户端。

  2 实时数据采集技术

  2.1 连续数据采集的实现方法

  由于HTTP是基于请求/响应模式的,客户端和服务端进行一次交互时,开始于客户提出的一个请求,并在服务器给出响应后结束。而一次交互只能得到一组数据,那么如何实现连续的数据采集呢?一般有两种方法:即客户端牵引和建立TCP连接。

  客户端牵引就是在网页中插入定时刷新功能,它的数量级为s,可以使用户看到数据的变化,但不能满足强实时性的要求,而且其中会漏掉一些中间的数据。

  建立TCP连接就是通过在网页中嵌入 ActiveX控件或 Java Applet小程序来增强客户机的功能。其中,ActiveX控件只能在Windows环境下运行,而Java Applet通用性强,可以实现跨平台操作。所以本系统采用Java Applet来进行远程数据的实时采集。

  2.2 Java Applet

  Applet是用Java编写的,含有可视化内容的,并被嵌入Web页面中用来产生特殊页面效果的小程序,经常被用于增加网页多媒体效果,并使网页产生互动功能[5]。

  当用户访问带有Java Applet的网页时,Applet被下载到用户计算机上执行,但前提是用户使用的是支持Java的网络浏览器。由于Applet是在用户计算机上执行的,因此它的执行速度是不受网络宽带或者MODEM存取速度的限制,用户可以更好地查看网页上Applet产生的多媒体效果。

  Applet必须将HTML的和一对标记或者嵌入到Web网页中,使用浏览器才能运行。在IE中用标签取代标签,在Netscape 4使用标签取代,但是”嵌入到HTML网页中。

  最后,在已加载μC/OSII和μIP程序的Web服务器上添加嵌入Applet的MoNItor.html网页,将Monitor.html网页的文本转换成十六进制代码,放置在μIP的fsdata.c文件中并嵌入到处理的ROM中,通过Keil将所有程序编译生成HEX文件,下载到嵌入式Web处理器里。

  打开浏览器输入IP地址192.168.11.30,访问嵌入式Web服务器上的采集数据。网络传感器实时数据采集结果如图5所示。

  
图5 网络传感器实时数据采集结果

  结语

  本文介绍了Web服务器的工作原理,将CGI和Java Applet技术内嵌在嵌入式服务器上,通过客户端的浏览器可以实现嵌入式Web网络传感器的实时数据采集,节约了诸多的硬件资源和人力资源,使得对远程数据自动采集变得更加具有通用性,同时可以适合任何内建嵌入式Web网络传感器,具有一定的现实意义。


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅