Inhaltsverzeichnis:
- Schritt 1: Elektronische Schaltung
- Schritt 2: Python-Code
- Schritt 3: So starten Sie das Skript automatisch nach dem Bootvorgang
Video: Ausschalttaste für Raspberry Pi - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Der Raspberry Pi ist eine sehr nützliche Computerplattform, mit der verschiedene IoT-/Robotik-/Smart-Home-/…-Projektanwendungen erstellt werden können. Das einzige, was es jedoch im Vergleich zu einem normalen Computer nicht hat, ist ein Abschaltknopf. Wie können wir also selbst eine erstellen? Gut, lass es uns gemeinsam tun!
Für dieses Tutorial benötigen Sie Folgendes:
- 1 Raspberry Pi bereits konfiguriert und einsatzbereit
- 1 Steckbrett oder etwas, mit dem Sie die elektronische Schaltung erstellen können
- 1 Taster
- 2 Überbrückungsdrähte
Wenn Sie noch nie einen Raspberry Pi verwendet haben, können Sie sich mein Tutorial ansehen, wie und was zu tun ist, um es zu konfigurieren:
www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/
Schritt 1: Elektronische Schaltung
Nichts super kompliziertes hier, es ist eine ziemlich einfache Strecke. Die 2 Bilder oben erklären den Schaltungsaufbau. Sie können einen beliebigen GPIO-Pin für die Tasteneingabe verwenden, Sie müssen nur sicherstellen, dass der Code aktualisiert wird, um dies widerzuspiegeln.
Lassen Sie uns kurz erklären, wie das funktionieren soll:
- Das ROTE Kabel führt die 3,3 V zu einem Ende des Druckknopfes.
- Das SCHWARZE Kabel verbindet das andere Ende des Tasters mit einem Pi GPIO, der als Eingang verwendet wird.
- Standardmäßig ist die Taste geöffnet, sodass keine Spannung durch sie fließt. Das SCHWARZE Kabel hat also 0V, wenn die Taste nicht gedrückt wird. Dies bedeutet, dass der logische Zustand des Pi GPIO-Eingangs 0 ist.
- Wenn die Taste gedrückt wird, fließt die Spannung durch und das SCHWARZE Kabel wird mit 3,3 V verbunden. Der Raspberry Pi sieht dann an seinem Eingang eine Spannung von 3,3 V, was einem logischen Zustand von 1 entspricht.
Schritt 2: Python-Code
Jetzt, da die Schaltung einsatzbereit ist, müssen wir den Code schreiben, der sie ausführt, und ich verwende hier Python in einer PyCharm-Umgebung. Ich habe den Knopf so konfiguriert, dass er den Raspberry Pi nur dann ausschaltet, wenn er länger als 3 Sekunden gedrückt wird. Der Grund, warum ich dies tue, ist, dass es sehr leicht ist, es versehentlich zu drücken, und Sie möchten Ihren Pi nicht versehentlich herunterfahren.
Der obige Druckbildschirm stammt aus meiner PyCharm-Umgebung und der Code ist der folgende (mit einem kleinen Unterschied in Zeile 26, die mit einem anderen Projekt verknüpft ist, aber hier nicht erforderlich ist):
# Dies ist ein Code zum Ausschalten des Raspberry Pi beim Drücken und Halten einer definierten Taste# Externes Modul importsimport RPi. GPIO as GPIOimport timeimport os# Raspberry Pi Pin- und Variablendefinitionen &hold_time = 3 # Hold time in sec to poweroffbutton_poweroff = 1 # Push button zum Ausschalten von Raspberry PiGPIO.setwarnings(False)GPIO.setmode(GPIO. BCM) # Broadcom-Pin-NummerierungsschemaGPIO.setup(button_poweroff, GPIO. IN, pull_up_down=GPIO. PUD_DOWN) # Schaltfläche als Eingabe gesetzt, während True: GPIO.wait_for_edge(button_poweroff, GPIO. RISING) start = time.time() time.sleep(0.2) # Entprellung umschalten während GPIO.input(button_poweroff) == 1: time.sleep(0.01) length = time.time() - start if length > hold_time: os.system("sudo poweroff")
Wenn Sie den Taster mit einem anderen GPIO verbunden haben, aktualisieren Sie zunächst die Zeile 11 auf dem obigen Druckbildschirm mit dem entsprechenden GPIO-Eingang:
button_poweroff = GPIO_X # Aktualisieren Sie mit dem richtigen GPIO, das auf Ihrer Schaltung verwendet wird
Außerdem können Sie mit der Variablen hold_time die Wartezeit ändern, die das Herunterfahren des Pi auslöst.
Schritt 3: So starten Sie das Skript automatisch nach dem Bootvorgang
Jetzt, da wir den Code fertig haben, müssen wir ihn nur noch ausführen. Es wäre jedoch praktisch, wenn wir dieses Skript jedes Mal automatisch ausführen lassen könnten, wenn der Pi bootet, damit die Schaltfläche funktioniert, ohne dass wir das Skript jedes Mal ausführen. Es gibt viele Möglichkeiten, dies zu tun. Ich habe hier eine Zeile in die Datei rc.local eingefügt, die sich im Ordner /etc/ Ihres Pi befindet. Es wird als Teil der Boot-Sequenz ausgeführt.
Sie müssen eine Befehlszeile öffnen und die folgenden Befehle eingeben (1. Druckbildschirm oben):
CD /
cd etc sudo nano rc.local
Der erste Befehl führt Sie von Ihrem /home/pi-Verzeichnis zum Root-Verzeichnis, das / ist.
Der zweite Befehl führt Sie dann in das Verzeichnis /etc/.
Schließlich öffnet der dritte die Datei rc.local als Superuser mit vollen Bearbeitungsrechten, die Sie zum Ändern der Datei benötigen.
Sobald Sie sich in der Datei befinden, müssen Sie nur eine Zeile am Ende hinzufügen, jedoch vor der Anweisung exit 0 (2. Druckbildschirm oben):
# Fügen Sie diese Zeile zur Datei rc.local hinzu, um das Skript zu starten
sudo python /home/pi/Documents/shutdown_with_hold.py &
Hier sind einige Dinge zu beachten:
- der Name Ihrer Datei: In der obigen Zeile gehe ich davon aus, dass die Datei shutdown_with_hold.py ist. Aber es könnte sein, was immer Sie wollen, aktualisieren Sie einfach den Namen mit Ihrem.
- wo Sie Ihre Datei gespeichert haben: In der obigen Zeile gehe ich davon aus, dass sie in Ihrem /home/pi/Documents-Verzeichnis gespeichert ist. Aber auch hier kann es überall sein. Sie müssen nur sicherstellen, dass Sie hier den absoluten Pfad zu Ihrer Datei angeben.
- das "&"-Zeichen am Ende: Dies ist wichtig und ermöglicht die Ausführung dieses Befehls im Hintergrund
Und das ist es! Jetzt wird das Skript jedes Mal ausgeführt, wenn Ihr Pi eingeschaltet ist, und Sie müssen nur mehr als 3 Sekunden auf den Knopf drücken, um ihn auszuschalten.
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
Anleitung für Raspberry Pi Gaming Emulator: 7 Schritte
Raspberry Pi Gaming Emulator Anleitung: Jeder liebt es zu spielen. Auch wenn wir ernsthafte Arbeit leisten. Und das ist natürlich, denn jeder verdient Ruhe, Freizeit oder Freizeit. Und natürlich können wir uns kaum weigern, unser Lieblingsspiel gespielt zu haben. Ich erinnere mich an die Zeit, als ein Typ
Anfängerleitfaden für Raspberry Pi: 6 Schritte (mit Bildern)
Anfängerleitfaden für Raspberry Pi: Ich arbeite seit geraumer Zeit mit Arduino. Es ist einfach, billig und erledigt die Arbeit. Aber in letzter Zeit tendiere ich mehr zu IoT-Projekten. Also begann ich mit dem ESP-Entwicklungsboard und es funktionierte perfekt. Aber jetzt möchte ich in Richtung
Hutschienenhalterung für Raspberry Pi 4: 7 Schritte
Hutschienenhalterung für Raspberry Pi 4: Manchmal ist es sinnvoll, Ihr Raspberry Pi 4 basiertes Projekt dauerhaft in einem Schaltschrank zu montieren - zum Beispiel in der Hausautomation oder industriellen Anwendungen. In solchen Fällen hilft Ihnen unser RasPiBox Gehäuse-Set für Raspberry Pi A+, 3B+ und 4B
Tox & Toxygen für den Raspberry Pi 3: 5 Schritte
Tox & Toxygen für den Raspberry Pi 3: In dieser Anleitung erfahren Sie, wie Sie Toxygen auf Raspberry Pi 3 installieren und verwenden. Aber zuerst sprechen wir über Tox.Tox ist eine verschlüsselte Art zu sprechen und laut seiner Website "A New Kind" von Instant Messaging. Ob Konzerne oder Regierungen