Skip to content

panelServer sh

Jan Horacek edited this page Apr 7, 2018 · 14 revisions

Staniční hlášení

Tato stránka popisuje komunikační protokol modulu staničního hlášení, který je typický vestavěný do stanice, a hJOPserveru.

Obecné informace

Modul staničního hlášení se připojuje k Panel serveru hJOPserveru a poslouchá na příchozivší požadavky na přehrání hlášení.

Všechny příkazy staničního hlášení jsou prefixovány řetězcem ;SH;.

Modul staničního hlášení umožňuje používat libovolné množství sad zvuků, mezi kterými lze přepínat příkazy ze serveru.

Workflow

  1. Modul staničního hlášení se připojí k WiFi síti, kterou má uvedenou v konfiguraci.
  2. Modul staničního hlášení vyhledá hJOPservery v lokální síti pomocí broadcastu do lokální sítě.
  3. Pokud nalezne běžící hJOPserver, ke kterému se má podle konfigurace připojovat, připojí se k němu a zaregistruje staniční hlášení. Jinak poslouchá na UDP discovery portech a čeká na aktivaci serveru (a odesílá UDP požadavek každých 20 s).
  4. Po připojení k hJOPserveru poslouchá na příkazy ze serveru, kontroluje existenci spojení.

Definice soupravy

Staniční hlášení definuje soupravu následujícím řetězcem:

číslo;typ;kolej;výchozí stanice;cílová stanice;/čas příjezdu/;/čas odjezdu/

Například:

608522;Os;1;Zd;Oc;9:22;9:25

Čas příjezdu a odjezdu jsou nepovinné parametry. Čas příjezdu a odjezdu může být prázdný.

Server → klient

;SH;REGISTER-RESPONSE;stav;/kód chyby/

  • Odpověd na příkaz REGISTER.

  • stav je jeden ze stringů:

    • OK: registrace se povedla,
    • NOK: registrace se nepovedla, v dalším příkazu následuje kód chyby.
  • kód chyby může být:

    • NONEXISTING_OR: OŘ, kterou chce klient registrovat, neexistuje,
    • ALREADY_REGISTERED: OŘ, kterou chce klient zaregistrovat, již byla zaregistrována (a registrace je nadále platná).
  • V případě odpovědi ERR server žádným způsobem neinformuje dispečera, že staniční hlášení nebylo zaregistrováno. Pokud staniční hlášení není schopné pokračovat v registraci a chce o tom informovat dispečera (mělo by chtít), musí odeslat příkaz REGISTER-ERR (viz níže).

;SH;UNREGISTER-RESPONSE;stav;/kód chyby/

  • Odpověd na příkaz UNREGISTER.

  • stav je jeden ze stringů:

    • OK: odregistrace se povedla,
    • NOK: odregistrace se nepovedla, v dalším příkazu následuje kód chyby.
  • kód chyby může být:

    • NONEXISTING_OR: OŘ, kterou chce klient odregistrovat, neexistuje,
    • NOT_REGISTERED: OŘ, kterou chce klient odregistrovat, není pro tohoto klienta zaregistrována.

;SH;PRIJEDE;{souprava}

  • Požadavek na přehrání hlášení o příjezdu soupravy.

;SH;ODJEDE;{souprava}

  • Požadavek na přehrání hlášení o odjezdu soupravy.

;SH;PROJEDE;{souprava}

  • Požadavek na přehrání hlášení o průjezdu soupravy.

;SH;SPEC;[POSUN,NESAHAT,INTRO,SPEC1,SPEC2,SPEC3]

  • Požadavek na přehrání speciálního hlášení.
  • Přehrává jeden celistvý soubor najednou, neprobíhá žádná syntéza.

;SH;SYNC

  • Požadavek na aktualizaci lokální databáze zvuků.

;SH;CHANGE-SET;sada

  • Změnit aktuální sadu zvuků na sada.

;SH;SETS-LIST

  • Požadavek na získání seznamu dostupných sad zvuků.

Klient → server

;SH;REGISTER;sada;verze

  • Registruje staniční hlášení pro oblast řízení .
  • Modul používá sadu sada na verzi verze.
  • Na tento příkaz server vždy odpoví příkazem REGISTER-RESPONSE

;SH;REGISTER-ERR;chybová zpráva

  • Staniční hlášení není možné inicializovat z důvodu chybová zpráva.

;SH;UNREGISTER;

  • Zruší registraci staničního hlášení pro oblast řízení .

;SH;SYNC;STARTED;

  • Informuje server o započaté synchronizaci zvuků.

;SH;SYNC;DONE;sada;verze

  • Synchronizace zvuků byla dokončena, repozitář zvuků je na verzi verze.

;SH;SYNC;ERR;verze;chybová zpráva

  • Synchronizace zvuků skončila s chybou chybová zpráva, repozitář zvuků je na verzi verze.

;SH;CHANGE-SET;[OK,ERR];/chybová zpráva/

  • Odpověď na žádost na změnu sady hlášení.

;SH;SETS-LIST;{set1,set2,set3}

  • Odpověď na požadavek na získání seznamu dostupných sad zvuků.
Clone this wiki locally