RPi-Buttons : Différence entre versions
De Wiki levelKro
(Page créée avec « Vous pouvez facilement ajouter des boutons sur un Raspberry Pi pour lui définir des actions précises. == Matériel == * Boutons pressoir, il ne doivent pas garder la po... ») |
|||
Ligne 56 : | Ligne 56 : | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
− | + | [[Catégorie:Programmation]] | |
[[Catégorie:Raspberry Pi]] | [[Catégorie:Raspberry Pi]] |
Version actuelle datée du 2 août 2021 à 14:50
Vous pouvez facilement ajouter des boutons sur un Raspberry Pi pour lui définir des actions précises.
Matériel
- Boutons pressoir, il ne doivent pas garder la position "on".
- Cable adéquat (prise Dupont) pour relier les boutons aux connections du GPIO.
Codes
Cet exemple ne montre que deux boutons, mais il est possible d'en ajouter plus et de faire des combinaison, à celui qui sera en mesure d'apdater le script. Créer le document dans le dossier "/home/pi" avec pour nom "buttons.py".
Script Python
from gpiozero import Button from signal import pause import os, datetime, time from datetime import datetime as dt buttonA = Button(4) buttonApressed = False buttonB = Button(17) buttonBpressed = False while True: if buttonA.is_pressed and buttonApressed is not True: buttonApressed = True print("Button A is pressed") os.system("sudo reboot") elif buttonA.is_pressed: pass else: buttonApressed = False if buttonB.is_pressed and buttonBpressed is not True: buttonBpressed = True print("Button B is pressed") os.system("sudo poweroff") elif buttonB.is_pressed: pass else: buttonBpressed = False
Script de démarrage
Pour démarrer le script Python automatiquement au démarrage, il suffit de créer un document dans "/etc/systemd/system/" au nom de "buttons.service" et d'y inclure ce code.
[Unit] Description=Buttons service After=udev.target StartLimitIntervalSec=2 [Service] Type=simple Restart=always RestartSec=1 User=root ExecStart=python3 /home/pi/buttons.py [Install] WantedBy=multi-user.target