Xibo-Steuerbefehle: Syntax und Rückmeldung dokumentieren
Einordnung für die Projektarbeit
Eine zugesagte Fernsteuerfunktion lässt sich anhand des vorgesehenen Befehls, der Player-Plattform und der erwarteten Rückmeldung prüfen. Das vollständige Handbuchkapitel enthält die Befehlstabelle und Beispiele für RS232 und Android Intents. Verwenden Sie es als Referenz für die Nachweisfrage an den Lieferanten und halten Sie den konkreten Prüfaufbau im Projekt fest.
Vollständiges Handbuchkapitel
Befehlsfunktionen
Konfigurieren Sie Befehle, die Benutzer über das CMS auswählen und senden, im CMS zeitlich planen oder in Layouts einbinden können.
Erstellen Sie Befehle für alle Player oder definieren Sie Befehlszeichenfolgen je Player. Das ist insbesondere in einem gemischten Netzwerk nützlich.
Befehle bieten einen einfachen Zugriff auf Funktionen für RS232 und Android Intents.
Befehle erstellen
Befehle sollten folgende Struktur haben:
- Code
- Befehlszeichenfolge
- Validierungszeichenfolge
- Zeichenfolge für die Alarmauslösung: never, always, success, error
Parameter
Befehlszeichenfolgen können Parameter enthalten, die durch das Pipe-Zeichen | getrennt sind, beispielsweise mute|1. In diesem Fall wird die Befehlszeichenfolge an | aufgeteilt; ihr erstes Element bestimmt die auszuführende Befehlsart.
Hilfsfunktionen
Befehlshilfen sind Präfixe, die der Befehlszeichenfolge vorangestellt werden können, um eine weitergehende Aktion auszuführen. Befehle ohne Präfix werden in der Shell des Betriebssystems ausgeführt, auf dem der Player läuft: cmd.exe unter Windows und shell unter Android.
Validierung
Die Validierungszeichenfolge wird mit der Ausgabe des Befehls verglichen. Bei Übereinstimmung gilt der Befehl als erfolgreich. Die Validierungszeichenfolge muss exakt übereinstimmen.
Unterstützte Befehle
| Befehl | Befehlszeichenfolge | Parameter |
|---|---|---|
| Statusfenster anzeigen | showStatusWindow | Zeitlimit in Sekunden (int), Standard 60 |
| Status senden | status | |
| RS232 | rs232 | 1. Verbindung 2. Befehl Weitere Einzelheiten im Abschnitt RS232 weiter unten |
| Android Intent | intent | Weitere Einzelheiten im Abschnitt Android Intent weiter unten |
| Ping | ping | |
| Zeitzone festlegen | timezone | 1. IANA-Zeitzonenkennung |
| Automatische Uhrzeit einstellen | time_auto | |
| NTP einstellen | time_ntp | |
| Automatische Zeitzone einstellen | timezone_auto | |
| Philips-Steuerung | tpv | 1. Operation screenon screenoff backlighton backlightoff mute unmute |
| Philips-LED-Steuerung | tpv_led | 1. Farbe off red white green blue on |
| Sony-Bildschirmsteuerung | sony | 1. screenOff 2. screenOn |
| Stummschaltung | mute | 1. Operation 1 = an 0 = aus |
| Bildschirm einschalten | screenOn | |
| Bildschirm ausschalten | screenOff | |
| Bildschirm-Eingangsquelle | screenInputSource | 1. Quelle hdmi1 |
| Neustart | reboot | |
| Aktualisieren | refresh | |
| Größe ändern | resize | 1. Prozentwert 2. Quadrant top-left top-right bottom-left bottom-right |
| Ausrichtung | orientation | 1. Drehwinkel in Grad (0, 90, 180, 270) |
| Lizenz prüfen | licenceCheck | |
| Aktueller geografischer Standort | currentGeoLocation | |
| HTTP-Anfrage ausführen | http | 1. URL 2. Inhaltstyp 3. Angaben (JSON) method body |
| WLAN konfigurieren | wifi | 1. ssid 2. path 3. identity 4. password 5. domain 6. saveRoot (true/false, Standard: false) 7. rootCaFileName 8. rootCaAlgo (Standard: pkcs12) |
| WLAN bei Trennung neu starten | restartWifiIfDisconnected | |
| Allgemeiner Befehl | Jeder nicht zugeordnete Code | |
| Ausschalten | poweroff | |
| Panel ausschalten | displayoff | |
| Panel einschalten | displayon | |
| Bildeigenschaft festlegen | picture_property | Bildwert |
Nicht alle Player-Plattformen unterstützen alle Befehlsarten.
webOS und Tizen verfügen über zusätzliche Befehle. Werden diese als geplante Befehle verwendet, müssen sie nicht im Anzeigeprofil festgelegt werden.
Vollständige Informationen finden Sie in der Tabelle zur Gerätekompatibilität.
Weitere Informationen zur Gerätekompatibilität erhalten Sie von Ihrem Administrator.
HTTP
HTTP-Befehle ermöglichen es, webbasierte Endpunkte anzustoßen oder mit ihnen zu interagieren. Dazu werden vordefinierte Befehle für HTTP-Aufrufe an externe Dienste festgelegt, etwa an einen Warteschlangenzähler oder einen Sensor. Sie können damit in Echtzeit Layoutwechsel auslösen, die Dauer von Widgets beeinflussen oder bedingte Inhalte aktivieren.
Befehle können bei Bedarf über XMR ausgelöst, für bestimmte Daten und Uhrzeiten geplant oder mit einer interaktiven Berührungs- beziehungsweise Klickaktion in einem Layout verknüpft werden.
RS232
Professionelle Displays verfügen häufig über eine serielle Schnittstelle zum Ein- und Ausschalten des Panels. Xibo kann die RS232-Befehlshilfe zum Senden dieser Befehle verwenden. Dazu wird der Befehlszeichenfolge das Präfix rs232 vorangestellt. Das Befehlsformat lautet rs232|<connection string>|<command>.
Unter Windows ist die Verbindungszeichenfolge in folgendem Format anzugeben:
<COM#>,<Baud Rate>,<Data Bits>,<Parity|None,Odd,Even,Mark,Space>,<StopBits|None,One,Two,OnePointFive>,<Handshake|None,XOnXOff,RequestToSend,RequestToSendXOnXOff>,<HexSupport|0,1,default 0>
Bitte beachten: Soll der Befehl im HEX-Format gesendet werden, geben Sie die Byte-Zeichenfolge in der Befehlszeichenfolge an, beispielsweise 7E 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 FF. Der Player wandelt sie in einen Bytestrom um. Setzen Sie das Element HexSupport in der Verbindungszeichenfolge auf 1.
Unter Android ist die Verbindungszeichenfolge in folgendem Format anzugeben:
<DeviceName>,<Baud Rate>,<Data Bits>,<Parity>,<StopBits>,<FlowControl>
Jede Einstellung wird durch eine entsprechende Zahl dargestellt:
DATA_BITS_5 = 5;
DATA_BITS_6 = 6;
DATA_BITS_7 = 7;
DATA_BITS_8 = 8;
PARITY_NONE = 0;
PARITY_ODD = 1;
PARITY_EVEN = 2;
PARITY_MARK = 3;
PARITY_SPACE = 4;
STOP_BITS_1 = 1;
STOP_BITS_15 = 3;
STOP_BITS_2 = 2;
FLOW_CONTROL_OFF = 0;
FLOW_CONTROL_RTS_CTS = 1;
FLOW_CONTROL_DSR_DTR = 2;
FLOW_CONTROL_XON_XOFF = 3;
Der eigentliche Befehl ist eine Zeichenfolge, die mit den angegebenen Verbindungsdaten über RS232 gesendet wird.
Android Intent
Android-Anzeigeprofile können mit der Hilfsfunktion intent einen Intent angeben, der bei Ausführung des Befehls aufgerufen werden soll. Das Befehlsformat lautet intent|<type|activity,service,broadcast>|<activity>|[<extras>].
[<extras>] ist ein optionaler Parameter, der ab Android v2 R206 verfügbar ist und zusätzliche Daten an den Intent übergibt. Er muss eine JSON-formatierte Zeichenfolge mit einem Array sein, das mindestens ein Objekt enthält. Das Objektformat ist unten dargestellt und muss in einer einzigen Zeile stehen.
{
"name": "<extra name>",
"type": "<type|string,int,bool,intArray>",
"value": <the value of the above type>
}
Beispielsweise lässt sich bei manchen Geräten die Firmware so programmieren, dass Ein- und Ausschaltzeiten festgelegt werden.
[{
"name": "timeon",
"type": "intArray",
"value": [2018, 7, 28, 8, 40]
}, {
"name": "timeoff",
"type": "intArray",
"value": [2018, 7, 28, 21, 40]
}]
Im Befehl würde dies folgendermaßen angegeben:
intent|broadcast|activity|[{ "name": "timeon", "type": "intArray", "value": [2018, 7, 28, 8, 40] }, { "name": "timeoff", "type": "intArray", "value": [2018, 7, 28, 21, 40] }]
Befehle mit der Hilfsfunktion intent sind nur auf Geräten mit dem Betriebssystem Android verfügbar.
Befehle zum CMS hinzufügen
- Öffnen Sie Befehle im Abschnitt Displays des CMS-Hauptmenüs.
- Klicken Sie auf Befehl hinzufügen.
- Geben Sie dem Befehl einen Namen.
- Geben Sie einen Code ein, etwa die Befehlszeichenfolge, um ihn leicht identifizieren zu können.
- Wählen Sie im Dropdownfeld Befehl die Option Freitext.
- Geben Sie eine Befehlszeichenfolge ein.
- Klicken Sie auf Speichern.
Befehle aus dem CMS senden
- Öffnen Sie Displays im CMS-Hauptmenü.
- Wählen Sie im Zeilenmenü eines Displays Befehl senden.
- Wählen Sie den gewünschten Befehl im Dropdownmenü.
- Klicken Sie auf Speichern.
Befehle im CMS planen
- Öffnen Sie Zeitplan im CMS-Hauptmenü.
- Klicken Sie auf Ereignis hinzufügen.
- Wählen Sie im Dropdownfeld Ereignistyp Befehl.
- Wählen Sie den gewünschten Befehl aus der Liste.
- Klicken Sie auf Weiter und legen Sie die Displays fest.
- Klicken Sie auf Weiter und legen Sie die Zeiten fest.
- Klicken Sie auf Fertigstellen, sofern keine weiteren Aktionen wie Wiederholungen erforderlich sind.
Geplante Befehle werden einmal ausgeführt und benötigen lediglich ein Startdatum und eine Startzeit. Der Befehl kann bis zu 10 Sekunden nach dem ausgewählten Zeitpunkt ausgeführt werden.
Shell-Command-Widget
Mit dem Shell-Command-Widget können externe Befehle abhängig von der Aktivität der Layouts ausgeführt werden.
Shell-Befehle, die einen Befehl als Quelle verwenden, verhalten sich wie normale Shell-Befehle. Der Befehl wird ausgeführt, sobald das Widget im Layout angezeigt wird.
Ein Shell-Befehl kann auch eine Befehlszeichenfolge sein, für die Optionen für alle Player angegeben werden. Damit können Benutzer Befehle bei Bedarf für die einmalige Verwendung hinzufügen.
HDMI-CEC
HDMI-CEC ist ein Bus, der in nahezu allen neuen professionellen Großbilddisplays mit HDMI-Anschlüssen implementiert ist. Dieser Bus, der physisch über die normalen HDMI-Kabel verbunden ist, unterstützt Steuersignale für das Ein- und Ausschalten, Lautstärkeänderungen, die Auswahl der Videoquelle und viele weitere Funktionen der Fernbedienung. Darüber hinaus kann er die meisten anderen Geräte am HDMI-Bus steuern.
Xibo bietet keine direkte Schnittstelle zu HDMI-CEC, da es viele unterschiedliche Herstellerspezifikationen gibt. HDMI-CEC lässt sich jedoch über eine Batchdatei steuern.