树莓派多端控制小灯教程

树莓派网页控制小灯教程

这是我最近在咸鱼上接的一个小项目,整体逻辑不复杂,功能也很简单,就是多端控制二极管。

电路图分析

正极接GP17,负极接GND

实物连接图如下

开发环境

  • wiringPi
  • nodejs
  • git

1.安装wiringPi

cd ~/Desktop/

git clone git://git.drogon.net/wiringPi

cd wiringPi

./build

2.安装nodejs
curl -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后修改接口地址为树莓派的地址,然后进行安装如果有安卓手机可以直接安装到自己手机上,如果没有可以安装到模拟器上进行控制