我在 RPi4 v1.1 上安装了 Ubuntu Server 20.04.1 LTS,并使用了以下脚本:
from gpiozero import Button
import time
import os
stopButton = Button(26)
while True:
if stopButton.is_pressed:
time.sleep(1)
if stopButton.is_pressed:
os.system("shutdown now -h")
time.sleep(1)
使用按钮安全地关闭 Pi,结果却发现它不起作用(is_pressed 始终返回 true)。几天前,该脚本在 Raspberry Pi OS 上运行良好。经过一些故障排除后,我发现内部上拉电阻不起作用,因此 GPIO 读数始终为低,并且从未检测到下降沿。我已经尝试使用 GPIO 26 和 17(BCM 编号),i2c 模块似乎已卸载(使用 lsmod)。有什么想法吗?
附加信息:我用 Raspberry Pi OS 测试了我的设置两次,并使用示波器确定 GPIO 确实读取了低电平。
答案1
事实证明,如果通过 pip3 安装 RPi.GPIO(和 gpiozero),则问题不再存在。更多详细信息请参阅我的错误报告。