一、由于需要在网页中操作I/O口和舵机等硬件,所以要用到CGI(通用网关接口)技术,即在网页中调用位于服务器中的CGI程序,然后在CGI程序中调用具体的硬件操作。CGI在网页中通常是通过表单的action值调用的,如:
<form action= "xxx.cgi " method=post>
在表单提交时,就会执行xxx.cgi程序。
二、 cgi程序执行完毕后通常会返回一新网页,但是有时候我们并不期望这么做,我们希望cgi只执行交给它的任务,并且保持调用它的原网页不变。CGI的输出形式是固定的,通常有三类,以不同的输出头标记:Content-type, Location, 和Status. 其中的Status有就可以实现我们要的效果:只执行规定的程序,其他不做任何变化。一个简单的Bourne Shell版的cgi程序如下:
#!/bin/sh
do_something
echo "Status: 204 No Response"
echo
exit 0
三、有时候我们需要当javascript在满足一定条件时自动调用CGI程序,而不需要网页上的鼠标点击按钮,下面的程序就可以实现自动提交表单,从而触发CGI程序:
<script language=javascript>
document.form1.submit();
</script>
以上是我认为CGI关键地方的简单总结,实现细节可以参考其他详细的资料。
网络上的参考资料:
http://baike.baidu.com/view/369917.htm
http://blog.minidx.com/2007/11/02/44.html
http://www.jdon.com/idea/cgi.htm
http://hi.baidu.com/angmu/blog/item/d0092d0869027538e924880d.html
http://www.winu.cn/space-14160-do-blog-id-12108.html