【发布时间】:2014-03-04 07:14:28
【问题描述】:
我正在尝试通过网络控制 GPIO 引脚。我在我的树莓派(Raspbian wheezy)上安装了 apache 服务器,并且我用 Html 和 javascript 创建了一个网页。我想做的是在用户单击页面上的按钮时控制 gpio 引脚。 我在 /usr/lib/cgi-bin 目录中的 .cgi 文件上有 bash 脚本,我对 apache 配置文件进行了某些安排,以便它可以访问该位置的文件。
这是.cgi文件内容:
#!/bin/bash
gpio -g mode 7 out
gpio -g write 7 1
echo "Status: 204 No Content"
echo "Content-type: text/html"
echo ""
修改apache的conf文件:/etc/apache2/sites-enabled/000-default
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AddHandler cgi-script .cgi // I added this line
</Directory>
但是当我单击页面上的按钮时,它没有显示任何响应。我还使用以下命令使 .cgi 文件可执行:
sudo chmod a+x setu.cgi
页面代码: 头部:
<head>
<script language="JavaScript" type="text/JavaScript">
function setu()
{
document.location="cgi-bin/setu.cgi";
}
function clearall(event)
{
document.location="cgi-bin/clearall.cgi";
}
</script>
</head>
正文部分:
<form name="form1" method="post" action="">
<p align="center"> </p>
<p align="center">
<input name="up" type="button" id="up" value="UP" onmousedown="setu()" onmouseup="clearall(event)" >
<p align="center"> </p>
</form>
关于这个主题的任何帮助都会很棒。
【问题讨论】:
标签: raspberry-pi