好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

BS模式嵌入式远程检测系统实验.doc

3页
  • 卖家[上传人]:夏**
  • 文档编号:532068882
  • 上传时间:2024-01-02
  • 文档格式:DOC
  • 文档大小:1.54MB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • B/S 模式的嵌入式远程检测系统实验 实验简介 感测技术和计算机技术应用结合的发展趋势是嵌入式和远程应用, 这种嵌入式应用由过 去的 51 系列单片机逐渐发展成被 ARM 等嵌入式系统所取代,远程应用有 C/S 和 B/S 两种模 式,由于 ARM 嵌入式系统性能优异,具有完备的功能,能运行 Linux 等开源可裁剪的实时操 作系统,方便架构 web 应用因此传统的检测系统应用技术必将面临挑战,检测系统软件的 网络应用,过去人们之所以主要使用 C/S 模式,是因为 B/S 模式网页信息传送冗余度大,使 实时性很差,而 AJAX 技术很好的弥补了 B/S 模式这个缺点,因此过去的 C/S 模式的主体地 位必将被 B/S 模式所取代 把检测系统中的嵌入式小型计算机作为一台接入网络中的计算机, 它既是一个检测仪表 设备,又是一个 WEB 服务器,因此可以通过浏览器远程操作该仪表,从而实现 B/S 模式的检 测系统 1 系统的结构与组成 1.1 检测系统原理 图 1 中液位变送器输出 2-20mA 电流接入 DDC 远程模块 7017,7017 数字化后通过 485 总 线接入嵌入式系统 ARM7,完成数据采集、数据处理。

      与远程用户通过浏览器基于 HTTP 协议 进行交互图 1:检测系统结构框图 1.2 应用软件设计 采用 B/S 模式开发的应用程序的关键问题是如何提高检测的实时性,常规的 web 应用是 采用网页刷新机制,强制用户进入提交/等待/重新显示,用户的动作总是与服务器的"思考 时间"同步,客户端每次刷新数据都要求服务器端传送整页数据,而一页数据中只有极少数 据是需要更新的实时数据,因此网络传送大量冗余信息,严重影响实时性AJAX(异步 JavaScript + XML)技术,是一种新的 WEB 开发理念,它集 JavaScript、CSS、DOM、 XMLHttpRequest 技术于一体,将浏览器端的 JavaScript、DHTML 与服务器异步通信有机融 合 提供与服务器异步通信的能力, 使用户从请求/响应的循环中解脱出来 使用 JavaScript 和 DHTML 立即更新 UI,并向服务器发出异步请求,以执行所需要的更新当请求返回时, 使用 JavaScript 和 CSS 来相应地更新 UI,网络只需要传送极少的已经更新了的数据,而不 是刷新整个页面大大减少了传输的数据量,提高了检测的实时性。

      在设计过程中,WEB 如 何实时的取得检测数据成为成功关键,在此,利用 Linux 特有的文件类型 FIFO(命名管道) 来和 WEB 应用程序通信,FIFO 一端写入数据,另一端就读出数据,通信方便检测模块把 实时数据按一定的方式写入管道,另一端 WEB 服务程序(用 C 写的 CGI 程序)读出数据后发 送给 AJAX 客户端脚本和 Flash 图表,AJAX 就操作 DOM 实现无刷新的动态更新 WEB 页面数 据,Flash 得到数据后解析出绘制图表的坐标值,然后绘制出动态曲线图这就实现了在 WEB 里显示实时数据和动态曲线图 系统应用软件由嵌入式计算机中的测量控制模块、WEB 服务模块和客户端脚本程序共同 构成,如图 2 所示为系统软件结构图 图 2:软件结构框图 1.3.1 测量模块 测量控制模块是基于 linux 系统 C 语言实现数据采集、标度变换.系统初始化后从串口 读取当前液位值进行标度变换,判断有无 WEB 数据请求,若有则把请求的数据写入 FIFO 送 给 WEB 服务模块,下一步,系统进入定时等待(400 毫秒) ,定时到则立即进入下一次数据 采集、运算 这一过程就实现了液位高度的采集、变换、实时传送数据给 WEB 服务模块。

      测量控制模块软件流程如图 3 所示 图 3:测量模块软件流程图 1.3.2 WEB 服务模块 WEB 服务模块是基于 Linux + boa 架构的嵌入式 Web Server,用 C 编写的 CGI 程序它 接受并处理 AJAX 发来的请求并通过 FIFO 管道与检测模块交换数据,实现实时数据获取、控 制参数修改一方面从 FIFO 管道中读取来自测量控制模块的实时数据,再送给客户端 AJAX 脚本和 Flash 进行实时数据的显示和动态图表的绘制; 另一方面接受从客户端提交的控制参 数然后返回给测量控制模块进行相应控制 这一过程就完成了用 WEB 浏览器进行测量控制的 任务,从而实现了 B/S 模式的检测系统如图 4 所示为 WEB 服务模块软件流程图 图 4:WEB 服务模块软件流程图 1.3.3 AJAX + CGI 动态显示测量数据 AJAX (JavaScript、XML、DHTML)可以定时向服务器发送 XML 请求(异步 XML 请求) 同时在不刷新页面的情况下利用 DOM 技术动态的更新页面数据在此,WEB 客户端用 Ajax 脚本定时请求 WEB 服务模块的 CGI 程序,CGI 程序处理请求并返回数据,当 AJAX 获得数据 后,就操作 DOM 更新页面显示实时测量数据。

      由于可变数据量非常小,网络只需传输 WEB 页面需要更新的少量数据,这就提高了传输速度,从而实现了实时数据的显示WEB 客户端 则使用通用的浏览器,当用户修改参数、给定值或显示实时数据时,只需要打开标准 WEB 浏览器就完成了系统的操作和显示,这就实现了 B/S 模式的测量 AJAX 脚本工作流程图如图 5 所示: 图 5:AJAX 脚本和 Flash 工作流程图 1.3.4 Flash + CGI 绘制实时曲线 Flash 能定时自动请求并读取数据文件这一特性使它与 XML 结合能动态更新内部数据, XML(The Extensible Markup Language) 样只要通过 WEB 服务程序(CGI)更新了 XML 这 文件的数据,Flash 的内部数据就能得到更新 在此 CGI 把测量控制模块采集的数据(如液位值)以预先规定的 XML 文件格式动态生成 XML 送给 FlashFlash 读取了这个 XML 文件后就解析文件,从标记有解析出当前 液位,从标记中解析出设定液位有了这两个值,Flash 用脚本操作 Flash 元件 间断的在预定的坐标上打点,就样就绘制出动态曲线图。

      本次测试中的 XML 文件格式为:

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.