2、系统结构

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

基于HTTP协议的数据交互功能实现构建数据采集方案

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

3.1 采集板

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

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查