WEIC`S BLOG

树莓派控制电灯

我的项目

废话

前两天入手了一个树莓派3B、研究了两天,做出来了通过网页控制电灯泡的案例,特此分享经验;

一、准备

1.材料

树莓派;
树莓派继电器(我用的是低电平触发,如果你的是高电平触发请自行修改代码);
家用220v电灯泡、灯头、插头、电线;
螺丝刀等电工工具;

2.技术

Linux基础,想实现网页控制还需拥有建站基础、PHP基础;


二、动手

1.接线

电灯接线,如下图,将电灯的正极和负极分别接到继电器的常开端(NO)和公共端(COM);

继电器的杜邦线按下面电路图里的蓝红黄三色杜邦线位置接上;



树莓派接线,用的是杜邦线;还是以上面电路图里的蓝红黄三色杜邦线为例;

蓝色接树莓派pin6(如下图第6个)

红色接树莓派pin11(如下图第11个)

黄色接树莓派pin2(下图红色5v电压接口)

2.代码

新建python脚本

# -*- coding: utf-8 -*-

import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)

num = 17           #树莓派针脚编号     

GPIO.setup(num, GPIO.OUT)
id = GPIO.input(num)

if (id == 1):
    GPIO.output(num, GPIO.LOW)
    print "已打开设备"
if (id == 0 ):
    GPIO.output(num,GPIO.HIGH)
    print "已关闭设备"

这个脚本会根据树莓派GPIO的状态而执行相反的操作,所以开关电灯只需重复运行此脚本即可;

3.完整网页控制代码

要实现下方第一个优酷视频中的效果需 点我下载 完整的程序;


三、更好的网页控制系统

上面的代码是我最开始写的,不好用,所以就重写了一套网页控制的程序,具体效果可以看下面第二个视频;

要实现网页控制你需要开启PHP的exec函数和《Linux执行sudo命令时免输密码》这篇文章中的功能;

如何开启PHP的 exec函数 :打开 php.ini 文件,找到 disable_functions ,将等号后面的 exec 删掉后保存 php.ini 并重启PHP即可;

接线方法和上面一样,只不过这次我用的是两个灯,程序也是控制两个灯的程序,当然你也可以用这套程序控制一个灯;

1.程序下载

程序我已经放到Github上了,如果觉得不错的话记得Star一下哦;

2.程序使用

本系统主要是由PHP和Python写的,在使用之前你需要简单的修改三个Python程序;

state.py

led1.py

led2.py

你需要修改上面三个Python程序中的变量 num1 和 num2 的值,这两个变量分别是继电器1和继电器2的控制线接口编号,要是不明白可以看上面电路图中的解释;如果你需要一个用电器的话,只需修改一个变量即可;

然后将本程序放到你树莓派的Web目录下,访问index.php文件即可打开网页控制系统


四、一饱眼福

我做完的,不要在意线路上的细节;

第一个案例视频-优酷

第二个案例视频-优酷

加载评论
打赏本文
二维码