-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunktionstaste.txt
100 lines (77 loc) · 4.25 KB
/
funktionstaste.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Um die Funktion der Taste, die Sie an GND und GPIO 3 angeschlossen haben, zu steuern, können Sie ein Python-Programm schreiben, das die GPIO-Bibliothek verwendet. Hier ist ein einfaches Beispiel eines Python-Skripts, das erkennt, wenn die Taste gedrückt wird, und je nach Bedarf eine Aktion ausführt:
python
Copy code
import RPi.GPIO as GPIO
import time
# Setze die Pin-Nummer für die Taste und den GPIO-Modus
taste_pin = 3 # Hier verwenden wir GPIO 3
GPIO.setmode(GPIO.BCM)
GPIO.setup(taste_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
try:
while True:
# Warte auf Tastendruck
if GPIO.input(taste_pin) == GPIO.LOW:
print("Taste wurde gedrückt!")
# Hier können Sie die gewünschte Aktion ausführen, z.B. System herunterfahren
# Zum Herunterfahren können Sie das `os`-Modul verwenden:
# import os
# os.system("sudo shutdown -h now")
# Den obigen Code einkommentieren, wenn Sie das System herunterfahren möchten
time.sleep(0.2) # Kurze Verzögerung, um mehrere Tastendrücke zu verhindern
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup() # GPIO-Ressourcen freigeben
In diesem Skript wird die Taste an GPIO 3 (BCM-Modus) überwacht. Wenn die Taste gedrückt wird, wird die Nachricht "Taste wurde gedrückt!" ausgegeben. Sie können die gewünschte Aktion an der markierten Stelle ausführen, z. B. das System herunterfahren, indem Sie das os.system-Kommando verwenden. Beachten Sie, dass Sie für das Herunterfahren möglicherweise Administratorrechte benötigen.
Denken Sie daran, die GPIO-Bibliothek zu installieren, wenn Sie sie noch nicht installiert haben:
Copy code
pip install RPi.GPIO
Stellen Sie sicher, dass Sie dieses Skript als Administrator ausführen, da der Zugriff auf GPIO-Pins normalerweise root-Berechtigungen erfordert:
Copy code
sudo python3 dein_skript.py
Passen Sie das Skript an Ihre spezifischen Anforderungen an und fügen Sie die gewünschte Aktion ein, die beim Drücken der Taste ausgeführt werden soll.
Sie können das Python-Skript als systemd-Service erstellen, um es im Hintergrund auszuführen und die Taste kontinuierlich zu überwachen. Hier ist eine Schritt-für-Schritt-Anleitung, wie Sie das tun können:
Erstellen Sie das Python-Skript:
Schreiben Sie Ihr Python-Skript, das die Taste überwacht und die gewünschte Aktion ausführt, wenn sie gedrückt wird. Speichern Sie es an einem geeigneten Ort auf Ihrem Raspberry Pi. Zum Beispiel können Sie es in /home/pi/tastensteuerung.py speichern.
Erstellen Sie eine systemd-Service-Datei:
Erstellen Sie eine Service-Datei für systemd, um Ihr Skript zu starten und im Hintergrund auszuführen. Verwenden Sie Ihren bevorzugten Texteditor, um eine Datei mit dem Namen tastensteuerung.service in /etc/systemd/system/ zu erstellen:
shell
Copy code
sudo nano /etc/systemd/system/tastensteuerung.service
Fügen Sie den folgenden Inhalt in die Service-Datei ein:
plaintext
Copy code
[Unit]
Description=Tastensteuerungsdienst
After=multi-user.target
[Service]
ExecStart=/usr/bin/python3 /home/pi/tastensteuerung.py
WorkingDirectory=/home/pi
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
Stellen Sie sicher, dass Sie den Pfad zum Python-Interpreter (/usr/bin/python3) und zum Skript (/home/pi/tastensteuerung.py) entsprechend anpassen.
Speichern und schließen Sie die Datei:
In Nano verwenden Sie Ctrl + X, dann Y, und drücken Sie Enter, um die Datei zu speichern und zu schließen.
Aktualisieren Sie systemd:
Aktualisieren Sie systemd, damit es den neuen Service erkennt:
shell
Copy code
sudo systemctl daemon-reload
Starten Sie den Service:
Starten Sie den Service, um das Skript auszuführen:
shell
Copy code
sudo systemctl start tastensteuerung.service
Aktivieren Sie den Service beim Start:
Damit der Service beim Start automatisch ausgeführt wird, aktivieren Sie ihn:
shell
Copy code
sudo systemctl enable tastensteuerung.service
Überprüfen Sie den Status des Dienstes:
Sie können den Status des Dienstes überprüfen, um sicherzustellen, dass er läuft:
shell
Copy code
sudo systemctl status tastensteuerung.service
Ihr Python-Skript sollte jetzt als systemd-Service im Hintergrund laufen und die Taste überwachen. Wenn Sie die Taste drücken, sollte die im Skript definierte Aktion ausgeführt werden.