树莓派控制电灯

Raspberry Pi Feb 20, 2017 ~

前两天入手了一个树莓派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文件即可打开网页控制系统

四、一饱眼福

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

第一个案例视频-优酷

第二个案例视频-优酷

Tags

Weic Ma

没有什么事是一个脑瓜子解决不了的,要是不行就Remove掉你的脑瓜子吧!

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.