我正在尝试通过网络控制GPIO引脚。我在我的raspberry-pi(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>
关于这个主题的任何帮助都会很棒。
答案 0 :(得分:0)
为apache2启用mod_cgi模块
sudo a2enmod mod_cgi
根据处理器的架构,它将启用cgi或cgid模块
为我工作。