Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
rpisonst [2019/01/19 23:19] edenhofer |
rpisonst [2019/01/19 23:22] (aktuell) edenhofer |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Ein- / Ausschalter ====== | ||
+ | |||
+ | V 1.00.0 | ||
+ | |||
+ | Mit dieser einfachen Schaltung und ein paar Zeilen Python-Code ist es möglich, den Raspberry Pi mit einer Taste ein- bzw. wieder auszuschalten. | ||
+ | |||
+ | {{::rpi_e_a.jpg?400|}} | ||
+ | |||
+ | Das Relais hat eine Versorgungsspannung von 5V und besitzt zwei Umschaltkontakte. Die Stromversorgung bekommt das Relais über den USB Port, da dieser im Ruhezustand des Raspberry stromlos ist.\\ | ||
+ | |||
+ | Im stromlosen Zustand ist der Taster direkt mit den beiden Anschlüssen **RST** verbunden. Durch Drücken des Tasters werden diese kurzgeschlossen, wodurch der Raspberry startet. Dies gilt für alle Raspberry's bis zur Version 3. Ab 3+ muss der mit RUN bezeichnete Pin auf einen der **RST** Anschlüsse gelegt werden, der andere **RST**-Anschluss muss auf Masse gelegt werden.\\ | ||
+ | |||
+ | Nachdem der Raspberry gestartet ist, wird das Relais über den USB-Anschluss mit Strom versorgt, wodurch dieses die Kontakte umschaltet.\\ | ||
+ | |||
+ | Jetzt liegt der Taster einerseits auf Masse (GND), andererseits am GPIO26, der über einen Pull-Up Widerstand auf einen eindeutigen **HIGH**-Pegel gezogen wird. Wird nun der Taster betätigt, wird der **GPIO-Port 26** auf **LOW** gelegt. Das wird durch die Software erkannt und der Raspberry wird geordnet heruntergefahren. | ||
+ | |||
+ | <code> | ||
+ | #!/usr/bin/python3 | ||
+ | # Datei /home/pi/halt.py | ||
+ | import os, sys, time, RPi.GPIO as gpio | ||
+ | gpio.setmode(gpio.BCM) # Pin-Nummern des P1/J8-Headers | ||
+ | gpio.setup(21, gpio.IN) # Pin 21 ist mit Reset-Button verbunden | ||
+ | while True: | ||
+ | if gpio.input(21) == 0: | ||
+ | os.system("init 0") | ||
+ | sys.exit() | ||
+ | time.sleep(0.3) | ||
+ | </code> | ||
+ | |||
+ | Das Script muss mit **chmod 655 halt.py** ausführbar gemacht werden. In der ''/etc/rc.local'' vor exit eine Zeile mit dem Inhalt ''/home/pi/halt.py &'' einfügen, um das Script zum Ende des Bootprozesses zu starten. Durch das **&** am Schluss wird das Script im Hintergrund ausgeführt. | ||
+ | |||
+ | <code> | ||
+ | # Datei /etc/rc.local | ||
+ | ... | ||
+ | /home/pi/halt.py & | ||
+ | ... | ||
+ | exit 0 | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | |||
====== OLED Modul EP-0060 ====== | ====== OLED Modul EP-0060 ====== | ||
Zeile 209: | Zeile 252: | ||
- | |||
- | ====== Ein- / Ausschalter ====== | ||
- | |||
- | V 1.00.0 | ||
- | |||
- | Mit dieser einfachen Schaltung und ein paar Zeilen Python-Code ist es möglich, den Raspberry Pi mit einer Taste ein- bzw. wieder auszuschalten. | ||
- | |||
- | {{::rpi_e_a.jpg?400|}} | ||
- | |||
- | Das Relais hat eine Versorgungsspannung von 5V und besitzt zwei Umschaltkontakte. Die Stromversorgung bekommt das Relais über den USB Port, da dieser im Ruhezustand des Raspberry stromlos ist.\\ | ||
- | |||
- | Im stromlosen Zustand ist der Taster direkt mit den beiden Anschlüssen **RST** verbunden. Durch Drücken des Tasters werden diese kurzgeschlossen, wodurch der Raspberry startet. Dies gilt für alle Raspberry's bis zur Version 3. Ab 3+ muss der mit RUN bezeichnete Pin auf einen der **RST** Anschlüsse gelegt werden, der andere **RST**-Anschluss muss auf Masse gelegt werden.\\ | ||
- | |||
- | Nachdem der Raspberry gestartet ist, wird das Relais über den USB-Anschluss mit Strom versorgt, wodurch dieses die Kontakte umschaltet.\\ | ||
- | |||
- | Jetzt liegt der Taster einerseits auf Masse (GND), andererseits am GPIO26, der über einen Pull-Up Widerstand auf einen eindeutigen **HIGH**-Pegel gezogen wird. Wird nun der Taster betätigt, wird der **GPIO-Port 26** auf **LOW** gelegt. Das wird durch die Software erkannt und der Raspberry wird geordnet heruntergefahren. | ||
- | |||
- | <code> | ||
- | #!/usr/bin/python3 | ||
- | # Datei /home/pi/halt.py | ||
- | import os, sys, time, RPi.GPIO as gpio | ||
- | gpio.setmode(gpio.BCM) # Pin-Nummern des P1/J8-Headers | ||
- | gpio.setup(21, gpio.IN) # Pin 21 ist mit Reset-Button verbunden | ||
- | while True: | ||
- | if gpio.input(21) == 0: | ||
- | os.system("init 0") | ||
- | sys.exit() | ||
- | time.sleep(0.3) | ||
- | </code> | ||
- | |||
- | Das Script muss mit **chmod 655 halt.py** ausführbar gemacht werden. In der ''/etc/rc.local'' vor exit eine Zeile mit dem Inhalt ''/home/pi/halt.py &'' einfügen, um das Script zum Ende des Bootprozesses zu starten. Durch das **&** am Schluss wird das Script im Hintergrund ausgeführt. | ||
- | |||
- | <code> | ||
- | # Datei /etc/rc.local | ||
- | ... | ||
- | /home/pi/halt.py & | ||
- | ... | ||
- | exit 0 | ||
- | </code> | ||
- | |||
- | ---- | ||