Hallo again,
also wie angekündigt hab ich mir jetzt eine D-Box2 von Nokia besorgt und auch erfolgreich ein Neutrino draufgepackt (in der *****-Edition...)
Dann hab ich mich an die Implementierung der Steuerung (wie gesagt, die muss komplett ohne PC auskommen...) gemacht.
Netzwerk: kein Problem. Die Box ist über einen Switch mit Autodetect 10/100 und Hdx/Fdx an ein normales 100Mb LAN angedockt. Lief auf Anhieb.
Telnet-Verbindung: kein Problem - läuft sowohl vom PC als auch der Steuerung aus
Befehle / Rückmeldungen: es werden einfach über die Telnet-Verbindung commands abgesetzt und die Antworten der Konsole ausgewertet. Folgende Commands werden benutzt:
- wget um Befehle / Rückmeldungen über den Webserver zu bekommen
- rcsim um FB Befehle zu simulieren (ginge auch über wget) - Danke an Fruranski, dein Link hat mir da gut weitergeholfen
- pzapit
Soweit kann ich damit alle Befehle 'erzeugen', die ich brauche. Es bleiben ein paar kleine Probleme, für die ich noch keine richtige Lösung habe... Vielleicht hat ja einer ne Idee...:
- Angenommen die Steuerung will die Box einschalten. Ich checke ob ich eine Telnet Verbindung kriege. Wenn nicht: über IR einschalten und damit Linux booten. Dann warten bis Telnet da ist und loslegen.
Wenn ja: dann stellt sich die Frage: ist die Box im Soft Standby oder nicht? Das Problem ist: im Soft Standby geht die Telnet Verbindung nach wie vor. Man könnte nun den Befehl pzapit -lsb (für Leave Standby) eingeben. Wenn die Kiste schon an ist passiert da nix. Was ist aber, wenn die Steuerung meint, alles sei OK und der Benutzer dann über die IR FB die Kiste in den Standby Mode setzt? Die Steuerung kriegt davon nix mit... Man könnte nun vor jedem Befehl Standardmässig pzapit -lsb machen um sicherzustellen, dass die Kiste da ist... aber das wäre recht unelegant... und löst andere Probleme nicht: angenommen ich schalte auf das ZDF und der Benutzer nimmt dann die IR FB und schaltet auf RTL oder wählt einen anderen Audio Kanal... Auch hier kriegt die Steuerung nix mit.
Schön wäre es, wenn man einen Dämon hätte, der jedes FB command an der Telnet Konsole meldet. Nötig wäre auch der Inhalt der Meldungen, die auf dem Fernsehschirm als Feedback angezeigt werden. Gibts so was?
- Ein kleineres Problem ist, dass es mit den o.g. Befehlen teilweise recht umständlich ist, Statusinformationen zu bekommen. Wenn ich z.B. die Programminfo des laufenden Progamms haben will muss ich mir erst umständlich Event-Ids besorgen... Gibt es da irgendwelche Sachen, die das einfacher erledigen...? So etwa wie ein (fiktives...) Command statinfo, das anzeigt: aktuelles Programm (Name+Nummer), Bouquet (Name und Nummer), Info laufender Event, Audio etc.
Im Moment sehe ich keine andere Möglichkeit als *vor* dem Ausführen eines Befehls zunächste alle relevanten Stati explizit zu checken, da ich nicht ausschliessen kann, dass sich - ohne dass ich es über die Telnet Verbindung mitbekommen habe - irgendetwas geändert hat.
Soweit also mal zum Stand der Steuerung... ich hoffe es interessiert ein paar Leute und irgendjemand hat noch ein paar gute Ideen...
Danke und bis dann,
Klaus