用php来控制树莓派的GPIO
首先我们需要安装wiringPi,具体步骤如下:
1 | sudo apt-get install git-core |
安装成功之后执行
1 | gpio readall |
然后我们插入一个LED在P1口(严格意义上来说是应该给LED接限流电阻的,220欧姆):
根据GPIO的定义呢,我们可以知道GPIO .1口在wiringPi中对应的口是1:
然后我们在终端中输入如下命令:
1 | gpio mode 1 OUTPUT |
其中第一句话是定义引脚1输出,第二句话是给引脚1输出1(高电平) 我们可以看到灯会亮.
如果我们再输入
1 | gpio write 1 0 |
就能看到灯熄灭了. 好了,我们学会了怎么去控制灯的亮和灭.接下来就应该去通过php来控制了. 首先需要在树莓派上装好php,apache2.
1 | sudo apt-get install apache2 |
然后访问你的树莓派的IP地址,如果出现It works则代表你安装成功了. 由于apache默认目录在/var/www/,如果你像我一样不习惯你可以按照以下步骤将路径改到/home/pi/www/
1 | sudo nano /etc/apache2/sites-enabled/000-default |
DocumentRoot 就是apache2的默认目录,我改成了/home/pi/www,Ctrl+X再Y回车保存. 重启apache2服务
1 | sudo /etc/init.d/apache2 restart |
目录就成功的改好了.
然后我们到/home/pi/www目录下新建一个index.php
1 | cd /home/pi/www |
php的内容也很简单,让灯闪一下吧.
1 |
|
然后我们去访问树莓派的IP地址,会发现灯闪了一下.
上面是我写的一个三个网页,index.php是主页,通过ajax方式实现后台访问php,control.php是控制GPIO的php,访问方式是http://192.168.0.107/control.php?pin=1&state=1 还有一个blink.php就是闪一下.
这是control的代码:
1 |
|
这里是index.php对control.php发送命令的代码(部分),
1 | <script type="text/javascript"> |
然后实际上你看到的网页是这个样子:
通过点击不同的按钮就可以实现远程控制灯的亮灭了. 同样在手机上也可以控制: