python - 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)
解决方案
推荐阅读
- python - 绘制多个单变量正态分布
- php - 如何使用 Fullcalendar.io 每年重复生日日期?
- javascript - 计时器问题,在 React 中将毫秒转换为日期格式
- android - Android 实现播放和下载按钮以使用存储在 JSON 中的 URL 从 Firebase 存储下载 MP3 文件并上传到 Firebase 数据库
- haskell - 如何为 GHCI 强制执行类型构造函数参数
- android - 为什么信号功能无法使用信号?
- authentication - 使用 Ionic 的指纹 AIO 进行数据库身份验证
- angularjs - 一个函数不等待另一个函数执行
- java - 为什么即使我有一个 catch 语句,我仍然会收到 InputMissmatchException
- angular - 在路由器链接活动更改图标上