遥控开关

在这个项目中,我们将学习使用 Cloud4RPi 的开关来控制继电器,从而控制继电器的负载 LED。您也可以将继电器的负载更改为家用电器,但要注意安全。

实验步骤

搭建电路。

../_images/relay1.png

打开代码。

cd /home/pi/cloud4rpi-raspberrypi-python
sudo nano remote_switch.py

找到下面的部分并填写正确的设备令牌。

DEVICE_TOKEN = '__YOUR_DEVICE_TOKEN__'

运行代码。

sudo python3 remote_switch.py

转到 Cloud4RPi 页面,添加一个名为 project2 的新控制面板,然后单击 Add Widget 添加一个 Switch 小部件。

../_images/relay2.png

添加后,您可以使用 “Switch” 小部件来控制继电器。

../_images/relay3.png

代码说明

RELAY_PIN = 18

继电器连接到 T 型扩展板的 GPIO18 引脚。

GPIO.setmode(GPIO.BCM)
GPIO.setup(RELAY_PIN, GPIO.OUT)

选择 BCM 命名模式并设置 RELAY_PIN 为输出模式。

def relay_control(value=None):
    GPIO.output(RELAY_PIN, value)
    return GPIO.input(RELAY_PIN)

该函数通过 value 控制继电器,并返回继电器当前的电平。

注解

由于继电器工作在高电平,当开关状态为Ture时继电器闭合,当开关状态为False时继电器打开

variables = {
    'LED On': {
        'type': 'bool',
        'value': False,
        'bind': relay_control
    },
}

通过设置 'value' 键的值, 我们可以设置Switch部件的初始值, 然后循环读取 'value' 键的值,并将继电器当前电平 RELAY_PIN (函数 relay_control() 的返回值) 发送到Cloud4RPi。