如何使用Sense HAT操纵杆控制Raspberry Pi开机与关机
基于Sense HAT操纵杆实现树莓派开关机方案
前置说明
- 关机功能可通过系统内运行Python脚本直接实现
- 开机功能无法通过系统内脚本实现:树莓派关机后所有进程都会终止,操纵杆事件检测代码无法运行,需要额外做硬件改造,将操纵杆中键引脚接到树莓派RUN引脚即可触发上电启动
完整实现代码
首先修正你原有代码的语法错误,加入关机逻辑如下:
from sense_hat import SenseHat import os import time sense = SenseHat() while True: for event in sense.stick.get_events(): # 匹配中键松开的触发条件 if event.direction == "middle" and event.action == "released": # 亮红灯1秒作为关机提示 sense.clear(255, 0, 0) time.sleep(1) sense.clear() # 调用系统关机命令 os.system("sudo poweroff") # 降低循环占用的CPU资源 time.sleep(0.1)
使用方法
- 将代码保存为
shutdown_control.py - 以root权限运行脚本:
sudo python3 shutdown_control.py - 如需开机自动启动该脚本,可编辑
/etc/rc.local文件,在exit 0行前添加以下内容:sudo python3 /home/pi/shutdown_control.py &
注意事项
脚本必须以root权限运行,否则没有权限调用系统关机命令。
硬件改造实现按键开机时,注意引脚接线不要接错,避免烧毁主板。
内容的提问来源于stack exchange,提问作者speedee_doge
相关产品推荐
相关产品推荐

