树莓派网页控制小灯教程
这是我最近在咸鱼上接的一个小项目,整体逻辑不复杂,功能也很简单,就是多端控制二极管。
电路图分析
正极接GP17,负极接GND
实物连接图如下
开发环境
- wiringPi
- nodejs
- git
1.安装wiringPi
cd ~/Desktop/
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
2.安装nodejscurl -sL https://deb.nodesource.com/setup_9.x| sudo -E bash -
sudo apt-get install -y nodejs
输入node -v
显示node版本信息则正常
测试
安装好wiringPi和nodejs,我们就可以先测试一下了
输入gpio mode 0 out
(0代表的是之前我们连接的GP17),我们也可以这样gpio -g mode 17 out
输入gpio write 0 1
向0写入高电平,此时如果正常,小灯应该亮了,如果出现异常请仔细检查线路连接是否正确
输入gpio write 0 0
向0写入低电平,小灯灭
后台逻辑编辑
脚本编辑,读取当前小灯状态,开灯或关灯,并返回小灯状态
#!/bin/bash
status=`gpio read 0`
echo $status
if [ 0 -eq $status ];then
gpio write 0 1
else
gpio write 0 0
fi
status=`gpio read 0`
echo $status
后台逻辑编写,以post方式请求接口,并返回小灯的状态
app.post('/api/led',(req,res)=>{
exec('bash ./bash/led.sh',(err,stdout,stderr)=>{
if(err){
res.json({"err":err})
}
res.json({"success":stdout});
})
})
后台
git clone https://github.com/Caibiy/LED.git && npm install --save && node app.js
访问地址就可以对小灯进行控制了
APP
APP需要下载AndroidStudio和相关sdk
git clone https://github.com/Caibiy/LedApp.git
导入到AndroidStudio后等待build后修改接口地址为树莓派的地址,然后进行安装如果有安卓手机可以直接安装到自己手机上,如果没有可以安装到模拟器上进行控制