基于嵌入式远程测控系统设计
的信息交换的通道。客户的请求通过服务器的标准输出传送给CGI的标准输入。CGI对信息进行处理后,会将结果发回到它的标准输入,然后由眼务器将处理结果发送给客户端。 2.3 CGI外部扩展程序的编制 服务器程序可以通过三种途径接收信息:环境变量、命令行和标准输入。具体使用哪一种方法要由标签的Method属性来决定。在“Method=GET”时,向CGI程序传递表单编码信息的正常做法是通过命令来进行的。 大多数表单编码信息都是通过Qucry-String的环境变量来传递的。如果“Method=POST”,表单信息将通过标准输入来读取。还有一种不使用表单就可以向CGI传送信息的方法。那就是把信息直接追回在URL地址后面,信息和URL之间用问号(?)来分隔。本测控系统采用的是GET方法。下面是远程控制LED闪烁快慢的程序。其网页如下页图3,其程序如下。 <input type=“radio”name=“speed”value=“show”checked>慢速 <input type=“radio”name=“speed”value=“normal”>中速 <input type=“radio”name=“speed”value=“rast”>高速 <input type=“submit”value=确定“name=”submit> 图3 实验结果
;LED测试
其中leds.cgi程序如下:
#! /bin/sh
Period=1+case $QUERY-STRING in
*slow*)
period=0.25
;;
* normal *)
period = 0.125
;;
* fast *
period=0.0625+;;
*fast * ) + period =0.0626
;;
esac
/bin/echo $ period ? /tmp/led-control//通过Query_String的环境变量传递给应用程序。
echo “Content-type:texe/html;charset=gb2312”
echo
/bin/cat led =result.template
exit 0
led—control是编译好的可执行的应用程序,通过led驱动来实现对LED的控制。因为S3C2410有MMU,所以通过操作系统来对硬件控制需要驱动程序来实现。其数据采集部分也类似,不再单独说明。
3、测试结果
首先建立好基于S3C2410嵌入式开发环境,把编译好的booloader、嵌入式linux内核和ramdisk烧人Flash中,然后起动Boa服务器,在PC机的浏览器上输人嵌入式系统的IP地址,即显示出如图3的网页。通过点击慢速、中速和高速,再点击确定,测控板上LED的闪烁由慢变快,圆满实现了设计目标。
4、结论
找们开发的基于ARMLinux的远程测控系统,在真正意义上实现了通过互联网进行远程测控。它具有一般通用平台性能,特别适合实时性要求不很强的家电网络监控和远程工业控制。当然随着硬件和网络速度提高及操作系统实时性的改善,将会大大提高此测控系统的性能,因此有很好的应用前景。
- 在嵌入式多核集群中利用OCP处理高速缓冲器一致流量(07-20)
- 嵌入式智能设备的测试方法研究(11-29)
- 基于ARM的信号发生器人机交互系统设计(01-23)
- 采用C8051F020设计的嵌入式测试仪(01-17)
- 关于嵌入式智能设备的测试方法的研究(01-28)
- 基于μC/OS-II的电力参数监测仪设计(02-23)
