Raspbian VDR Streaming Client - Einschalten mit Taster

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einschalten mit Taster

Entgegen vieler Aussagen kann man den PI mittels Taster einschalten wenn er heruntergefahren ist, aber noch Spannung hat. Im verlinkten Beitrag ist ein 10K-Pullup-Widerstand eingezeichnet, der ist aber überflüssig weil dieser GPIO bereits einen Pullup hat (wegen Alternativ-Verwendung als I2C).

Ein Taster zwischen Pin-5 (GPIO-3) und Pin-6 (GND) ist alles was man braucht. Das Einschalten funktioniert dann ohne weitere Maßnahmen.

Artikel im Raspberry-Forum

Edit: Fehlerhafte Angabe des Pin 3 korigiert.

Funktionsweise

Warnung: Dieser Text ist ungenau und enthält Fehler. IRQ_GPIO3 schaltet nicht den Interrupt an GPIO3 ein sondern die Interruptgruppe IRQ_GPIO3. Im Kern wird GPIO-3 als Interrupt-Eingang freigeschaltet. Im "Auszustand" schläft die CPU (alle Takte aus), kann aber noch per Interrupt aufgeweckt werden. Damit wird dann der Bootvorgang ausgelöst.

Sourcecode: In der Datei "arch/arm/mach-bcm2708/bcm2708_gpio.c" und der Funktion "bcm2708_gpio_irq_init" wird am Ende der GPIO-3 als Interrupt freigeschaltet.

setup_irq(IRQ_GPIO3, &bcm2708_gpio_irq);

Auschalten mit Taster (optional)

Dazu braucht es eine Software die den GPIO überwacht und gegebenenfalls den PI herunterfährt. Der obige Link enthält auch den Phyton-Code dazu. Allerdings wird der GPIO im "Polling-Mode" abgefragt, das ist sehr suboptimal. Eventuell muss der Code angepasst werden damit Vdr erste beendet wird (bei runvdr; mit Sys V Init nicht nötig). Man kann den Vdr aber genauso gut mit der Fernbedienung ausschalten.

Status LED (optional)

An GPIO-4 kann man eine extra Staus-LED anschließen. Details sind über den obigen Link zu finden.

Als Vorwiderstand für eine grüne 2mA LED hat sich hier 680R bewährt. Die LED ist dann noch gut zu sehen, stört aber nicht beim Fernsehen.

Um die LED einzuschalten kann man in die /etc/rc.local folgendes einfügen:

# external LED on gpio 4
echo 4 >/sys/class/gpio/export
echo out >/sys/class/gpio/gpio4/direction
echo 1 >/sys/class/gpio/gpio4/value

Zum Ausschalten der LED (falls dies gebraucht wird):

echo 0 >/sys/class/gpio/gpio4/value


Algemeines zur Verwendung der GPIO