位置:51电子网 » 技术资料 » 嵌入式系统

基于嵌入式网络模块的HTTP数据采集方案

发布时间:2008/9/2 0:00:00 访问次数:528

  本文提出了一种在单片机系统中实施基于http协议的数据采集的方案,利用嵌入式网络模块实现串口到以太网数据的转换,使用采集板将数据封装成http包.

  该方案灵活方便,实现简单;采用分布式结构,采集效率高,可适用于大量数据的采集,而且可以方便扩展为基于internet的远程数据采集.

  1 前言

  随着工业以太网的发展,由于传输速度、传输可靠性及可扩展性等综合性能方面的优越性,越来越多的数据采集系统都是基于以太网接口,并且越来越多的仪器仪表设备也提供了以太网接口.但是很多企业都有早期投入的设备仪表,一般使用串口进行数据通信,因此需要一种简单、高效、易于扩充的集成方案,实现对原有设备仪表的数据采集,并且可以方便的集成到现有的以太网工业控制系统中.本文提出一种数据采集方案,除了满足前面要求外,由于其采用http协议,可以方便扩展为基于internet的远程数据采集.http协议可以利用嵌入式系统(wince、linux等)基于其自带的tcp/ip协议栈实现或者直接使用嵌入式web服务器[1~4],在计算机系统中也可以利用高级语言直接使用web客户端使用http协议或者利用winsock网络编程,实现基于http的数据交互,但都会增加系统的开发成本,本文提出一种基于嵌入式网络模块在单片机系统中实现简单http协议的方法,并基于此方法构建数据采集方案.

  2 系统结构

  http协议是一种基于tcp实现的应用层协议,它是因特网可靠的交换数据的重要基础.如果要实现http协议 ,必须以tcp/ip协议栈为基础,利用嵌入式网络模块即可方便的实现tcp/ip协议栈的功能.图1为一个利用嵌入式网络模块实现的基于http协议的数据采集方案.

  图1 系统结构

  图1中,最关键部分是采集板和网络模块.当今仪器仪表最常用的通讯接口是485串行接口,采集板和仪表设备一般通过485总线连接,采集板利用单片机开发,实现下位机和设备仪表的通信,采用主从方式采集所需要的数据,再通过485总线发送给网络模块,网络模块收到采集板数据发出的串行数据,利用内嵌的tcp/ip协议栈实现串行数据到以太网数据的转换,网络模块通过网线、交换机和采集服务器连接.采集板是实现http应用层协议的地方,只要采集板发出的数据符合http协议,经由网络模块转化后成为合法的http请求,则web服务器可使用任何的服务器端动态网页技术(cgi、asp、jsp、php、asp.net等)实现数据的处理和保存.

  3 系统实现

  3.1 采集板

  采集板和仪表进行主从通讯采集数据以外,最主要的任务就是把采集的数据封装为http协议的数据包,也就是要在单片机中实现简化的http协议,能够完成基本的数据交互功能即可.在国际标准中,有两个http协议的标准文档:rfc1945和rfc2616[5].这两个文档分别描述了http/1.0和http/1.1的实现标准.这两个版本的http协议最大区别在于前者不支持保持连接,规定每次的http请求和响应后都要关闭tcp连接,而后者支持持久连接,这意味着可以打开一次tcp连接进行多次请求/响应,大大提高了性能.为了提高性能,本文中将实现基本的http1.1协议.经过分析研究,找出了一种比较简单且有效的实现.下面通过 一个具体例子说明实现的http协议包格式.

  get /com2http/test.aspx http/1.1crlf

  host: 127.0.0.1crlf

  content-length: 86crlf

  connection: keep-alivecrlf

  crlf

  000000c8420000c8420000c8420000c8420000c8420000c8420000c8420000c8420000c8420000c84251ad

  通过工具截获的数据以16进制显示如下:

  00000000:47 45 54 20 2f 63 6f 6d 32 68 74 74 70 2f 74 65 get /com2http/te

  00000010:73 74 2e 61 73 70 78 20 48 54 54 50 2f 31 2e 31 st.aspx http/1.1

  00000020:0d 0a 48 6f 73 74 3a 20 31 32 37 2e 30 2e 30 2e ..host: 127.0.0.

  00000030:31 0

  本文提出了一种在单片机系统中实施基于http协议的数据采集的方案,利用嵌入式网络模块实现串口到以太网数据的转换,使用采集板将数据封装成http包.

  该方案灵活方便,实现简单;采用分布式结构,采集效率高,可适用于大量数据的采集,而且可以方便扩展为基于internet的远程数据采集.

  1 前言

  随着工业以太网的发展,由于传输速度、传输可靠性及可扩展性等综合性能方面的优越性,越来越多的数据采集系统都是基于以太网接口,并且越来越多的仪器仪表设备也提供了以太网接口.但是很多企业都有早期投入的设备仪表,一般使用串口进行数据通信,因此需要一种简单、高效、易于扩充的集成方案,实现对原有设备仪表的数据采集,并且可以方便的集成到现有的以太网工业控制系统中.本文提出一种数据采集方案,除了满足前面要求外,由于其采用http协议,可以方便扩展为基于internet的远程数据采集.http协议可以利用嵌入式系统(wince、linux等)基于其自带的tcp/ip协议栈实现或者直接使用嵌入式web服务器[1~4],在计算机系统中也可以利用高级语言直接使用web客户端使用http协议或者利用winsock网络编程,实现基于http的数据交互,但都会增加系统的开发成本,本文提出一种基于嵌入式网络模块在单片机系统中实现简单http协议的方法,并基于此方法构建数据采集方案.

  2 系统结构

  http协议是一种基于tcp实现的应用层协议,它是因特网可靠的交换数据的重要基础.如果要实现http协议 ,必须以tcp/ip协议栈为基础,利用嵌入式网络模块即可方便的实现tcp/ip协议栈的功能.图1为一个利用嵌入式网络模块实现的基于http协议的数据采集方案.

  图1 系统结构

  图1中,最关键部分是采集板和网络模块.当今仪器仪表最常用的通讯接口是485串行接口,采集板和仪表设备一般通过485总线连接,采集板利用单片机开发,实现下位机和设备仪表的通信,采用主从方式采集所需要的数据,再通过485总线发送给网络模块,网络模块收到采集板数据发出的串行数据,利用内嵌的tcp/ip协议栈实现串行数据到以太网数据的转换,网络模块通过网线、交换机和采集服务器连接.采集板是实现http应用层协议的地方,只要采集板发出的数据符合http协议,经由网络模块转化后成为合法的http请求,则web服务器可使用任何的服务器端动态网页技术(cgi、asp、jsp、php、asp.net等)实现数据的处理和保存.

  3 系统实现

  3.1 采集板

  采集板和仪表进行主从通讯采集数据以外,最主要的任务就是把采集的数据封装为http协议的数据包,也就是要在单片机中实现简化的http协议,能够完成基本的数据交互功能即可.在国际标准中,有两个http协议的标准文档:rfc1945和rfc2616[5].这两个文档分别描述了http/1.0和http/1.1的实现标准.这两个版本的http协议最大区别在于前者不支持保持连接,规定每次的http请求和响应后都要关闭tcp连接,而后者支持持久连接,这意味着可以打开一次tcp连接进行多次请求/响应,大大提高了性能.为了提高性能,本文中将实现基本的http1.1协议.经过分析研究,找出了一种比较简单且有效的实现.下面通过 一个具体例子说明实现的http协议包格式.

  get /com2http/test.aspx http/1.1crlf

  host: 127.0.0.1crlf

  content-length: 86crlf

  connection: keep-alivecrlf

  crlf

  000000c8420000c8420000c8420000c8420000c8420000c8420000c8420000c8420000c8420000c84251ad

  通过工具截获的数据以16进制显示如下:

  00000000:47 45 54 20 2f 63 6f 6d 32 68 74 74 70 2f 74 65 get /com2http/te

  00000010:73 74 2e 61 73 70 78 20 48 54 54 50 2f 31 2e 31 st.aspx http/1.1

  00000020:0d 0a 48 6f 73 74 3a 20 31 32 37 2e 30 2e 30 2e ..host: 127.0.0.

  00000030:31 0

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!