Prüfen ob Monitor oder Bildausgabe vorhanden

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

Prüfen ob Monitor oder Bildausgabe vorhanden

Beitrag von MoonKid » 29.06.2017 22:36:07

Besteht grundsätzlich die Möglichkeit zu prüfen, ob die Ausgabe eines "Monitorbildes" stattfindet bzw. ob am anderen Ende der HDMI-Leitung ein Empfänger sitzt oder ob das System gerade headless läuft?

Besonderheit: Wenn der "Monitor" mehrere Eingänge hat und gerade kein Signal entegen nimmt (weil er auf einem anderen Eingang von einem anderen PC bedient wird), aber physikalisch dennoch verbunden ist, zählt das in dieser Situation auch als "keine Bildausgabe".

Kann man das prüfen?

Hintergrund:
Ich möchte, dass mein Raspberry Pi 2 merkt, wenn er im headless Modus (Pi am HDMI1 aber Wii auf HDMI2 wird gerade genutzt) läuft und sich dann wieder (nach ein paar Minuten) selbst herunterfährt.

DeletedUserReAsG

Re: Prüfen ob Monitor oder Bildausgabe vorhanden

Beitrag von DeletedUserReAsG » 29.06.2017 22:39:50

Mit etwa xrandr kann man sich die Daten angeschlossener Monitore ausgeben lassen.

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: Prüfen ob Monitor oder Bildausgabe vorhanden

Beitrag von MSfree » 30.06.2017 09:09:50

Besonderheit: Wenn der "Monitor" mehrere Eingänge hat und gerade kein Signal entgegen nimmt (weil er auf einem anderen Eingang von einem anderen PC bedient wird), aber physikalisch dennoch verbunden ist, zählt das in dieser Situation auch als "keine Bildausgabe".
Ich denke, das hängt vom Monitor ab.

Mein Computerbildschirm signalisiert mir das per Icon, wenn ein zweites Monitorsignal über einen anderen Eingang reinkommt. Was mein Fernseher treibt, habe ich noch nicht ausprobiert, da hängt zur Zeit nur eine DVB-T2 Box am HDMI1.
Ich möchte, dass mein Raspberry Pi 2 merkt, wenn er im headless Modus (Pi am HDMI1 aber Wii auf HDMI2 wird gerade genutzt) läuft und sich dann wieder (nach ein paar Minuten) selbst herunterfährt.
Mal blöd gefragt, warum fähst du den Pi überhaupt hoch, wenn der sich dann doch wieder runter fahren soll?

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Prüfen ob Monitor oder Bildausgabe vorhanden

Beitrag von hikaru » 30.06.2017 10:04:40

niemand hat geschrieben:Mit etwa xrandr kann man sich die Daten angeschlossener Monitore ausgeben lassen.
Das Stichwort dazu nennt sich EDID [1].
Bei VGA war das noch recht anschaulich, da der EDID-EPROM des Displays über Pin 9 des VGA-Kabels vom Rechner mit Strom versorgt wird, so dass eine Identifikation auch ohne Hauptstromzufuhr des Displays funktioniert. Manche VGA-Kabel haben keinen Pin 9 und dann funktioniert die automatische Erkennung auch nicht.

[1] https://en.wikipedia.org/wiki/Extended_ ... ation_Data

MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

Re: Prüfen ob Monitor oder Bildausgabe vorhanden

Beitrag von MoonKid » 30.06.2017 10:20:43

MSfree hat geschrieben:Mal blöd gefragt, warum fähst du den Pi überhaupt hoch, wenn der sich dann doch wieder runter fahren soll?
Ist gar nicht blöd, sondern berechtigt. Im Wohnzimmer hängt alles an einer abschaltbaren Steckdosenleiste.
Schaltet man die ein, bekommt der Pi Strom und fährt sich hoch. Ein Pi hat keinen Schalter - wenn man ihn nicht anlötet.

Wenn meine Frau aber Wii spielen will, muss sie den Strom einschalten und nutzt einen anderen Video-Eingang am TV. Der Pi schaltet sich aber eben auch ein. Den muss man aber sauber runterfahren und darf ihm nicht einfach den Strom wegnehmen. Der soll also alleine merken, dass er gar ncht gebraucht wird und sich wieder runterfahren, ohne das meine Frau da dran denken muss. ;)
hikaru hat geschrieben:Das Stichwort dazu nennt sich EDID [1].
[1] https://en.wikipedia.org/wiki/Extended_ ... ation_Data
Interessant. Wie kann man das in Debian auslesen?
Und wenn das Auslesen nicht funktioniert, könnte ich davon ausgehen, dass der Monitor nicht angeschlossen ist...

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Prüfen ob Monitor oder Bildausgabe vorhanden

Beitrag von hikaru » 30.06.2017 10:51:40

MoonKid hat geschrieben:Wie kann man das in Debian auslesen?
Die EDID-Datensätze aller angeschlossenen Displays lassen sich mit xrandr auslesen:

Code: Alles auswählen

xrandr --verbose | grep -A 8 EDID
Vielleicht geht das auch gezielt für ein einzelnes Display nur mit xrandr ohne grep, aber ich weiß nicht wie.
MoonKid hat geschrieben:Und wenn das Auslesen nicht funktioniert, könnte ich davon ausgehen, dass der Monitor nicht angeschlossen ist...
Jein.
Im Normalfall sollte das so sein. Aber bei VGA wir der EDID-EEPROM des Displays über Pin 9 des VGA-Kabels mit Strom versorgt. Falls das VGA-Kabel keinen Pin 9 hat (selten, kommt aber vor), dann kommt auch kein EDID-Signal zurück.
Bei digitalen Verbindungen kommt meiner Erfahrung nach immer ein Signal zurück. Man kann sich aber nicht immer auf dessen Korrektheit verlassen. So verbauen z.B. manche Fernseherhersteller offenbar in verschiedene Fernseher die selben Chips mit den selben Firmwares. Als Resultat stimmt dann möglicherweise die Information zu Modell, Auflösung und Größe nicht, was zu Problemen bei automatischer Oberflächenskalierung führen kann.
MoonKid hat geschrieben:Wenn meine Frau aber Wii spielen will, muss sie den Strom einschalten und nutzt einen anderen Video-Eingang am TV. Der Pi schaltet sich aber eben auch ein. Den muss man aber sauber runterfahren und darf ihm nicht einfach den Strom wegnehmen. Der soll also alleine merken, dass er gar ncht gebraucht wird und sich wieder runterfahren, ohne das meine Frau da dran denken muss. ;)
Hier wird dir EDID nicht helfen. Da EDID vom Zuspielgerät ausgeht und auf Displayseite nicht mal eine eigene Stromversorgung benötigt (siehe VGA Pin 9) wird ein angeschlossenes Display i.d.R. immer eine EDID-Antwort geben.
Der an Eingang A des Fernsehers angeschlossene RPi weiß also nicht, dass der Fernseher nur läuft, weil deine Frau gerade mit der Spielkonsole auf Eingang B spielt. Der RPi wird auf jeden Fall ein Signal an den Fernseher ausgeben und der wird es auch annehmen. Welcher Eingang gerade dargestellt wird weiß aber nur der Fernseher.

Ich würde den RPi an eine eigene schaltbare Steckdose hängen. Dann wird er nur eingeschaltet, wenn er wirklich benötigt wird. Falls du es doch per Software lösen willst, dann würde ich nach dem Hochfahren einen Timer starten der auf eine Nutzereingabe wartet und bei Verstreichen den Rechner wieder runterfährt.

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: Prüfen ob Monitor oder Bildausgabe vorhanden

Beitrag von MSfree » 30.06.2017 11:16:55

hikaru hat geschrieben:Im Normalfall sollte das so sein. Aber bei VGA wir der EDID-EEPROM des Displays über Pin 9 des VGA-Kabels mit Strom versorgt.
VGA ist beim Raspberry Pi irrelevant, der hat eine HDMI-Ausgang und einen Composite Video (PAL/NTSC) Ausgang.

Das Problem ist trotzdem, daß nicht garantiert werden kann, daß der Monitor sich taub stellt, wenn der Eingang gerade deaktiviert ist. Einige Monitore schalten nicht benutze Videoeingänge aus (das wäre erkennbar), andere Monitore haben immer eine Versorgungsspannung auf dem Videoeingang (das wäre nicht erkennbar).

MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

Re: Prüfen ob Monitor oder Bildausgabe vorhanden

Beitrag von MoonKid » 30.06.2017 12:42:38

hikaru hat geschrieben:Ich würde den RPi an eine eigene schaltbare Steckdose hängen. Dann wird er nur eingeschaltet, wenn er wirklich benötigt wird. Falls du es doch per Software lösen willst, dann würde ich nach dem Hochfahren einen Timer starten der auf eine Nutzereingabe wartet und bei Verstreichen den Rechner wieder runterfährt.
Klingt nach einer sinnvollen Lösung. Jetzt muss ich nur sehen, dass LibreELEC mir dafür auch die Tools anbietet. :)

Antworten