Board logo

标题: 基于ARM9的嵌入式Web远程实时温度监控系统设计(2) [打印本页]

作者: yuyang911220    时间: 2014-12-24 22:33     标题: 基于ARM9的嵌入式Web远程实时温度监控系统设计(2)

3.2  CGI编程
    CGI(Common Gateway  Interfac)中文解释为通用网关接口,通过这种接口可以使Web服务器执行外部请求再将结果转回给应用程序,这种从用户处接受和返回的方法实现了客户端和Web服务器之间交互。CGI程序的语法格式要求很严格,原因是CGI主要通过HTTP协议实现的客户端与服务端之间的通信,每次当用户从客户端向服务端发送请求消息时,该消息会处理用输入的CGI扩展程序的URL地址的真实值,当CGI扩展程序在处理结束之后才将HTTP响应消息返回给客户端。因此,CGI程序的输出数据得语法格式必须和相应消息的语法格式一致,才能保证正确处理。
     CGI程序的调用方法有2种:1)直接输入地址方式。用户在浏览器地址中直接输入正确的URL地址,经Web服务器解析完URL后调用正确的CGI程序。2)在CGI程序中使用FROM表单样式实现调用。CGI程序使用HTTP协议完成的,在HTTP表单元素中ACTION属性值用来指定URL地址,MET  HOD属性值用来指定请求方式为GET或POST。
     CGI程序可以用任何程序设计语言编写,而且C语言的平台无关性很好,因此本系统选择择用C来编写CGI程序。另外,本系统将温度数据保存到文件wendu.txt中,CGI是通过读取文件来获取数据。
3.3  客户端AJAX控件开发
    AJAXl~f即“Asynchronous Java Script and XML”(异步Java  Script和XML),AJAX并非缩写词,而是由Jesse James  Gaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术AJAX的核心理念在于使用XMLHttpRequest对象发送异步请求。
     在传统的JavaScript编程中,如果要从服务器上的文件或数据库中得到任何的信息,或者向服务器发送信息的话,就必须利用一个HTML表单向服务器GET或POST数据,同时用户还需要单击“提交”按钮来发送/获取信息,等待服务器的响应,然后一张新的页面会加载结果,这样就使得传统的web应用程序变得运行缓慢,且越来越不友好。而通过AJAX,可以用XMLHttpRequest对象来直接与服务器进行通信,即可以在不重载页面的情况与Web服务器交换数据。客户端可以停留在同一个页面,用户不会注意到脚本在后台请求过页面,或向服务器发送过数据。本系统需要用户在客户端看到采集温度的实时动态变化折线图,因此选择AJAX技术开发空间。
     首先打开连接,读取wendu.txt中的字符串,用split函数截取温度数据存入字符数组中。
    其代码如下:
   
   
     然后编写绘制温度时间折线图函数,将保存温度的字符数组作为参数传入函数中来绘制图像。页面每秒刷新一次,即可实现实时绘制图像。运行结果如图4所示。


    1)在页面引入画图需要的Javascript文件。
     2)在HTML页面onload方法中调用function(x,y),x是时间数组,y是温度数组。
   

4 结论
     
经测试,本地客户可通过一台上网的计算机,即可以灵活方便实现对远程温湿度的采集与监控,还可以配置GSM模块实现无线监控。此系统工作稳定,扩展性强,配置灵活,功能丰富,具有良好的移植性、通用性并在测量与控制领域有广阔的应用前景。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0