跳转到主要内容

使用systemd配置在Raspberry Pi上按下GPIO按钮时运行的命令

项目描述

名称

systemd-gpio - 当GPIO引脚上的按钮被按下时运行命令

描述

使用systemd配置在GPIO引脚上的按钮被按下、释放或保持时运行的命令。

要配置GPIO引脚,创建一个名为 /etc/gpio/N 的文件,其中 N 是一个整数引脚号,遵循gpiozero引脚编号约定。一旦配置文件已填写,通过运行以下命令激活按钮,用引脚号 N 替换

sudo systemctl enable --now gpio@N.service

环境

GPIO_PULL_UP
GPIO_ACTIVE_STATE
GPIO_BOUNCE_TIME
GPIO_HOLD_TIME
GPIO_HOLD_REPEAT

按钮行为。请参阅gpiozero.Button的相应构造函数参数的文档。

GPIO_WHEN_HELD
GPIO_WHEN_PRESSED
GPIO_WHEN_RELEASED

当按钮被保持、按下或释放时运行的命令。请参阅gpiozero.Button的相应属性文档。

文件

/etc/gpio/N

GPIO引脚 N 的配置文件,其中 N 对应于gpiozero引脚编号。该文件应使用systemd EnvironmentFile语法,并可以定义上述列出的任何环境变量。

历史

本项目灵感来源于 https://github.com/ali1234/systemd-gpio。主要区别在于我们使用的是 gpiozero 而不是 WiringPi,因为WiringPi已不再维护。

示例

以下示例配置GPIO 23,当按下时,向所有TTY打印消息,当长按时关闭机器

# /etc/gpio/23
GPIO_HOLD_TIME=5
GPIO_WHEN_PRESSED="wall 'Hold the power button for 5 seconds to power off.'"
GPIO_WHEN_HELD=poweroff

要激活引脚,请运行以下命令

sudo systemctl enable --now gpio@23.service

另请参阅

systemctl(1), systemd.exec(5)

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

systemd-gpio-0.1.0.tar.gz (7.9 kB 查看哈希)

上传时间

构建分布

systemd_gpio-0.1.0-py3-none-any.whl (7.8 kB 查看哈希)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面