Use systemd to configure commands to run when a GPIO button is pressed on a Raspberry Pi
Project description
NAME
systemd-gpio - run commands when a button on a GPIO pin is pressed
DESCRIPTION
Use systemd to configure commands to run when a button attached to a GPIO pin is pressed, released, or held.
To configure a GPIO pin, create a file called /etc/gpio/N, where N is an integer pin number following the gpiozero pin numbering convention. Once you have populated the configuration file, activate the button by running the following command, replacing N with the pin number:
sudo systemctl enable --now gpio@N.service
ENVIRONMENT
Button behavior. See the documentation for the corresponding constructor arguments of gpiozero.Button.
Commands to run when the button is held, pressed, or released, respectively. See the documentation for the corresponding properties of gpiozero.Button.
FILES
/etc/gpio/N
Configuration file for GPIO pin N, where N corresponds to the gpiozero pin numbering. The file should be in the systemd EnvironmentFile syntax and may define any of the environment variables listed above.
HISTORY
This project is inspired by https://github.com/ali1234/systemd-gpio. The main difference is that we are using gpiozero rather than WiringPi, because WiringPi is no longer maintained.
EXAMPLES
The following example configures GPIO 23 so that when it is pressed, it prints a message to all TTYs, and when held, shuts down the machine:
# /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
To activate the pin, run the following command:
sudo systemctl enable --now gpio@23.service
SEE ALSO
systemctl(1), systemd.exec(5)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for systemd_gpio-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f353da781b3698025b24c11492dce83228e85b8b4aaa6f6c2c33d79d1c519c9d |
|
MD5 | 953af906896e09f0d1593042ef98a534 |
|
BLAKE2b-256 | 59618c0873456ed162bae112629e97b513aeb1439e614115ecdca086db0aeacf |