基于嵌入式Web Server的无线数据采集系统
求能够动态地保存一些数据,并且当系统重新启动时,保存的数据依然存在。所以我们需要充分发挥Flash可擦写的优势,在系统运行过程中,动态地擦写Flash来保存数据。通过建立JFFS文件系统,可以用Flash来保存数据,即将Flash作为系统的硬盘来使用。可以像操作硬盘上的文件一样操作Flash芯片上的文件和数据。系统运行的参数可以实时保存到Flash芯片中,在系统断电后数据仍然存储在Flash芯片中。为实现Flash上的JFFS文件系统,我们需要在内核中加入对JFFS文件系统和Flash设备的支持,并针对具体的Flash 芯片修改设备驱动程序,生成设备节点并将JFFS文件系统挂接到Flash 设备上。
第三,编写各个设备的驱动程序。主要包括串口驱动程序、以太网接口驱动程序、BDM调试接口驱动程序和FLASH芯片驱动程序。
2.2 嵌入式Web Server软件系统实现
嵌入式Web Server的软件系统包括五个部分: ①HTTP引擎; ②虚拟文件系统; ③配置模块; ④安全模块; ⑤应用程序接口模块。
图3 嵌入式Web Server软件系统示意图
其中HTTP引擎负责响应用户的请求、通过虚拟文件系统访问静态数据信息、通过应用程序接口得到动态数据信息。
虚拟文件系统为嵌入式Web Server提供虚拟文件服务,虚拟文件系统使用数据结构存储文件大小、修改时间等信息。对于存储HTML文件需要的动态信息建立数据结构保存脚本的指针和脚本所调用函数的名称。通过虚拟文件系统将Java、 GIF、 PDF、 HTML以及文本等文件形式编译为Web服务器认可的代码,而独立于具体的文件系统。
配置模块使系统管理员可以从任何一台标准的Web浏览器上设置嵌入式Web Server参数,在系统启动中定义的配置环境变量包括并发连接数、Socket端口、主机名称、根文件路径、缺省初始文件以及非活动超时和时区等。
配置模块对标准浏览器的开放使得安全问题更加重要,尤其是对网络设备的配置和控制信息的访问成为安全保护的重点。安全模块通过在服务器上定义安全域和对每个安全域定义的用户名和密码实现对敏感信息的保护。还可以对请求数据采取加密措施实现安全保护功能。
应用程序接口模块实现和嵌入式应用系统的数据交换。在嵌入式Web Server中,应用程序接口与嵌入式操作系统通信,实现对嵌入系统的配置、监视和控制,是嵌入式Web Server软件系统的核心。而应用程序接口模块常见的有CGI(Common Gateway Interface)、SSI(Server Side Include)和HCPA(HTML-to-C Preprocessor Approach)等3种形式。
本系统应用程序接口模块采用CGI形式。CGI提供嵌入式Web Server一个执行外部程序的通道,CGI程序经过编译成为可执行文件,放在服务器端运行。嵌入式Web Server根据用户的请求调用相应的CGI程序。并由嵌入式Web Server将CGI程序得到的动态信息封装到页面中,发送到用户浏览器上。
3 无线数据传输
3.1 通信原理
在此系统中,基于无线方式的数据传输,决定了它有相对高的不可靠性,为了可靠通信,编程时设计了相应的通信协议,并采用数据帧号和CRC校验进行数据的纠检错。
Web Server和数据采集终端的数据传输采用半双工方式,基于停止等待协议(stop and wait)的思想,将待传输的数据帧按先后顺序附加上帧号,以保证数据的正常传输。数据采集终端首先处于接收状态,Web Server将控制字(A/D采样频率、采样方式)发送给数据采集终端后,Web Server转换为接收方式,等待终端发送确认帧。数据采集终端接收到控制字,进行CRC数据校验,如果数据正确就向Web Server发送确认帧,数据帧帧号清零,开始进行数据采集和数据传输。反之,则向Web ServerR发送重发请求。
数据开始传输,数据采集终端发送第N帧数据,发送完毕,转换为接收状态,等待Web Server发送确认帧;Web Server接收到数据,进行CRC校验,将帧号与自身帧号比较,数据正确,将自身帧计数器加1,通知数据采集终端发送第N+1帧数据。
3.2 通信协议
PTR2000+在无信号时,串口输出的是随机数据,为保证无线通信的可靠,必须定义一个简单的通信协议,对数据进行打包后传输,数据帧格式见图4。
图4 数据帧格式
考虑到无线通信中的延迟效应和数传MODEM的发射接收转换时间,为使接收建立正确的同步,需要在数据帧头部加入5byte 的填充比特和同步码。在整个数据通信中需要3种类型的的数据帧,即服务器发送的控制帧,数据终端发送的数据帧,和他们发送的确认帧,长度包括类型码和数据帧字节数之和数据校验采用16位CRC循环校验码。
数据终端发送的数据帧设计为
- 基于 WebNMS 物联网开发平台的ATM机监控解决方案(11-08)
- 德州仪器WEBENCH在线工具,实现高效设计的秘密(03-22)
- 如何在DragonBoard 410c平台上移植web服务?(02-08)
- Dragonboard 410c搭载web服务器之用户交互系统(02-09)
- Dragonboard 410c搭载web服务器之后端数据交互(02-09)
- Dragonboard 410c搭载web服务器之如何实现视频文件上传(02-09)