-
Notifications
You must be signed in to change notification settings - Fork 7
Hardware Taster als Ein Aus Schalter
Um die SD Karte eines Raspberry Pi zu schützen, sollte der Raspberry nicht einfach durch Ausstecken gestoppt werden. Daher bauen wir einen Ein-/Aus-Schalter ein.
Das github CaravanPi-Paket enthält hierzu die Dateien pishutdown.py und pishutdown.service im Verzeichnis pishutdown (Quelle heise.de). Da wir den I2C-Bus nutzen wollen, müssen wir einen Trick anwenden, um den Taster anzuschließen. Wir nutzen dazu eine Diode wie unten beschrieben. (Quelle: https://raspberrypi.stackexchange.com/)
Um einen Taster als Ein/Aus-Schalter einzurichten, führen wir folgende Schritte und Befehle aus
-
Anschließen eines Tasters an GPIO Pin #11 (BCM 17) und an Ground (GND)
-
Einfügen einer Diode zwischen Pin #11 (BCM 17) und Pin #5 (BCM3). Flussrichtung #5 nach #11
-
Einfügen eines Pull-Up Widerstands von 100kOhm von BCM17 zu +3.3V
-
Installieren von pishutdown.py als Dienst mit den folgenden Befehlen
sudo cp /home/pi/CaravanPi/pishutdown/pishutdown.py /usr/local/bin sudo cp /home/pi/CaravanPi/pishutdown/pishutdown.service /etc/systemd/system sudo systemctl enable pishutdown sudo systemctl start pishutdown
Nach einem Reboot sollten Sie über den neu eingefügten Taster den Raspberry Pi rebooten, beenden und neu starten können.
Drücken Sie kurz (< drei Sekunden) auf den Taster. Der Raspberry sollte einen Reboot ausführen
Drücken Sie lange (> drei Sekunden) auf den Taster. Der Raspberry sollte einen shutdown durchführen
Ohne die Stromzufuhr zu unterbrechen, drücken Sie nach einem Shutdown über den Taster wieder kurz auf den Taster. Der Raspberry sollte dadurch starten.
Skripte zum Starten/Stoppen: https://www.heise.de/select/ct/2017/25/1512425684709349#titel_1512425684709349_3 Nutzung GPIO3 trotz I2C Nutzung: https://raspberrypi.stackexchange.com/a/85316 (Empfehlung Diode)
Weitere ggf. Links: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24682 https://www.raspberrypi.org/forums/viewtopic.php?f=37&t=140994
Hilfreich ist auch diese Belegungsübersicht der GPIO-Pins: http://raspberrypi.ws/pin3
Unfortunately, wake from halt works only on GPIO3/SCL [1]. Some of the described alternatives involve complicated circuits [2].
I found a simple way: Connect the switch to GPIO4, connect a diode from GPIO3 to GPIO4, so that current can flow from GPIO3 to GPIO4.
Pressing the switch will now pull GPIO3/SCL and GPIO4 low, but GPIO3/SCL activity will not influence the state of GPIO4. This is electrically safe with I2C, but a transaction may be interrupted while you press the switch. This could be solved with an NFET and another GPIO pin that drives the gate and isolates I2C from the switch when the Raspi is on.
On the software side, simply put this line in /boot/config.txt: dtoverlay=gpio-shutdown,gpio_pin=4
That's it for current Raspbian! For older Raspbian or some other distributions (e.g. Volumio), put this line in the new file /etc/udev/rules.d/30-shutdown.rules: ACTION!="REMOVE", SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="platform", DRIVERS=="gpio-keys", ATTRS{keys}=="116", TAG+="power-switch"
CaravanPi - smart Caravan based on Raspberry Pi
(c) Josef Spitzlberger, Schloss Lustheim, Munich, Germany, 2019ff
CaravanPi Wiki
- Testaufbau
- Raspberry Pi OS installieren und initial konfigurieren
- MagicMirror installieren
- CaravanPi Skripte installieren
- MagicMirror vorbereiten & updaten
- OBSOLET V2 - Bottle Framework installieren
- Ein-/Aus-Schalter installieren
- Bewegungsmelder installieren
- Hupe/Buzzer installieren
- weitere Taster installieren
- OBSOLET V2 - Konfigurations-Website einrichten
- Temperatur Sensoren installieren
- Temperatur Sensoren anzeigen
- Gasflaschenwaage HX711 installieren
- Gasflaschenfüllstand anzeigen
- mehrere Gasflaschen Waagen anschließen
- I2C-Bus einrichten
- Klimasensor installieren
- Klimasensor BME280 anzeigen
- Klimasensor BME680 anzeigen
- GPIO Ports mit MCP23017 erweitern
- Lage-Sensor installieren
- Lage-Sensor anzeigen
- I2C Extender - langes Kabel
- Tank-Füllstände auslesen
- LEDs zur Lageanzeige
- RGB-LEDs am MCP23017 betreiben
- LED Einbau im Testaufbau
- Caravan ausrichten im Testaufbau
ab hier altes WIKI, muss noch umgezogen werden
XX = in Bearbeitung NEU = neue Funktion in letzter Version
- Stromversorgung Grundsätzliches
- Testgerät bauen
- Verkabeln am Caravan
- Gasflaschen-Waage bauen
- LEDs am Caravan anbringen
- Temperaturfühler im Kühlschrank anbringen
- Klimasensoren innen & außen anbringen
- Stromversorgung Raspberry Pi
- Stromversorgung Monitor
- WLAN im Caravan
- CaravanPi in Betrieb nehmen
- Gasflaschenwaage in Betrieb nehmen
- Defaultwerte für Lage, etc eintragen
- NEU XX Vorüberlegungen
- NEU XX MariaDB installieren
- NEU XX CaravanPi Datenbank anlegen
- NEU XX phpmyadmin installieren
- NEU XX Grafana installieren
- NEU XX Grafana auf MagicMirror anzeigen
- NEU XX Pythonzugriff auf MariaDB
- NEU XX Problembehandlung MariaDB, Grafana
- NEU XX Vorüberlegungen
- NEU XX Flask installieren
- NEU XX Status-Website einrichten
- NEU XX vorhandene Websites migrieren
- NEU XX 230V Eingang prüfen
- NEU XX 12V Batterie prüfen
- NEU XX Gassensor