Ich möchte mich ebenfalls herzlichst bei Neueinsteiger bedanken.
Für mich hatte er ebenfalls eine Platine (mit Shutdown-Steuerung).
Das Beste: Er hat mir sogar noch einen StepDown von 12V auf 5V davorgeschaltet, damit ich den Trigger-OUT meines AVR nutzen kann.
Klinkenbuchse oder -kabel anlöten fertig. Vielleicht auch interessant für andere, die das hier finden.
nikelrah
Besten Dank dafür!
Der Reset funktionierte direkt einwandfrei - nur mit dem Python fürs runterfahren über den GPIO Pin musste ich etwas rumprobieren.
Ergebnis poste ich morgen hier.
EDIT:
Hier das Python-Script. Und weil es für mich nicht ganz klar war und hier im Thread oftmals Python-Scripte mit Pull-Down gepostet wurden - nochmal mit Erklärung.
Die Platine von Neueinsteiger zieht den Shutdown-Anschluss auf GND während die Trigger-Spannung anliegt.
Das bedeutet, dass wir einen (internen) PullUP auf dem Pin brauchen, der diesen wieder auf 3,3V zieht wenn die Trigger-Spannung abfällt.
Das Python-Script reagiert dann auf diese aufsteigende Flanke.
#!/usr/bin/python
from __future__ import print_function
import RPi.GPIO as GPIO
from subprocess import call
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(37, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.wait_for_edge(37, GPIO.RISING)
call("sudo shutdown -h now", shell=True)
Alles anzeigen
Gestartet wird das Script bei mir per systemd-Unit.
[Unit]
Description=Shutdown on 12V-Trigger
[Service]
WorkingDirectory=/opt/shutdown-trigger
ExecStart=/usr/bin/python ./shutdown.py
User=osmc
Group=osmc
[Install]
WantedBy=multi-user.target
Alles anzeigen
Ergänzung für alle OSMC-Benutzer:
Ich musste bei OSMC erst die Berechtigungen für die GPIO-Pins anpassen, damit das Python nicht mit root laufen muss.
Habe ich per UDev-Regel erledigt. Einfach eine Datei anlegen (z. B "997-gpio-permissions.rules) in /etc/udev/rules.d mit folgenden Inhalt und dann einmal neustarten.
SUBSYSTEM=="bcm2835-gpiomem", KERNEL=="gpiomem", GROUP="osmc", MODE="0660"
SUBSYSTEM=="gpio", KERNEL=="gpiochip*", ACTION=="add", PROGRAM="/bin/sh -c 'chown root:osmc /sys/class/gpio/export /sys/class/gpio/unexport ; chmod 220 /sys/class/gpio/export /sys/class/gpio/unexport'"
SUBSYSTEM=="gpio", KERNEL=="gpio*", ACTION=="add", PROGRAM="/bin/sh -c 'chown root:osmc /sys%p/active_low /sys%p/direction /sys%p/edge /sys%p/value ; chmod 660 /sys%p/active_low /sys%p/direction /sys%p/edge /sys%p/value'"