首页 > 解决方案 > Openhab2 exec 使用 pigpio 和 gpiozero 绑定到外部 rpi

问题描述

在机器 A 上使用 openhab2。机器 B 是控制继电器的 RPi。使用机器 a 中的 pigpio 和 gpiozero 来控制机器 b 的 gpio 引脚。

使用下面的脚本进行测试。我怎样才能重写它以便openhab中的开/关功能起作用?截至目前,它只是在开和关之间循环。请帮助一个菜鸟

#!/usr/bin/python
# https://gpiozero.readthedocs.io/en/stable/
# https://gpiozero.readthedocs.io/en/stable/api_output.html#outputdevice

import sys
import time
import gpiozero

relay = gpiozero.OutputDevice(18, active_high=False, initial_value=False)

def set_relay(status):
    if status:
        print("Setting relay: ON")
        relay.on()
    else:
        print("Setting relay: OFF")
        relay.off()

def toggle_relay():
    print("toggling relay")
    relay.toggle()

def main_loop():
    while 1:
        # then toggle the relay every second until the app closes
        toggle_relay()
        # wait a second
        time.sleep(1)

if __name__ == "__main__":
    try:
        main_loop()
    except KeyboardInterrupt:
        # turn the relay off
        set_relay(False)

    print("\nExiting application\n")
    # exit the application
    sys.exit(0)

标签: pythongpiozero

解决方案


推荐阅读