Uživatelské nástroje

Nástroje pro tento web


Referenční manuál

Základní informace

Sada Turris Gadgets je sada periferií firmy JABLOTRON ALARMS a.s. Základní funkční komponentou této sady je USB rozhraní Turris Dongle. Toto rozhraní zajišťuje komunikaci mezi periferiemi ze sady a routerem Turris.

Na této stránce se dále používá následující terminologie:

  • Hostitel = Router Turris
  • Modul = Turris Dongle
  • Sada = Turris Gadgets
  • Periferie - Prvek ze sady Turris Gadgets

Modul má následující komunikační rozhraní:

  • USB CDC - slouží pro komunikaci s hostitelem
  • Rádio na frekvenci 868,5 MHz - slouží pro komunikaci s periferiemi

Celkový systémový koncept vyjadřuje následující obrázek:

Periferie v sadě

Kat. číslo Název Počet v sadě Příklad použití Funkce
Turris Dongle 1 ks Pro připojení periferií k routeru Vysílač / Přijímač
AC-82 Přijímač 2x relé 230V 1 ks Ovládání světel Přijímač
AC-88 Dálkově ovládaná zásuvka 2 ks Zapnutí přímotopu Vysílač / Přijímač
JA-80L Interní siréna 1 ks Zvuková signalizace Vysílač / Přijímač
JA-81M Univerzální rozhraní 1 ks Pro připojení externích detektorů Vysílač
JA-82SH Detektor otřesu nebo náklonu 1 ks Detekce manipulace s předměty Vysílač
JA-83M Magnetický detektor mini 2 ks Detekce otevření dveří Vysílač
JA-83P PIR detektor 2 ks Detekce pohybu osob Vysílač
JA-85ST Detektor kouře a teploty 1 ks Detekce požáru Vysílač
RC-86K Dálkový ovladač 2 ks Aktivace/deaktivace systému Vysílač
TP-82N Termostat 1 ks Regulace teploty Vysílač

Komunikace s modulem

Technologie komunikace

Komunikace mezi hostitelem a modulem je řešena přes rozhraní USB jako virtuální sériový port (tzv. USB CDC). Toto zajišťuje integrovaný obvod od firmy FTDI - FT230X.

Základní nastavení sériového portu

Sériový port musí být inicializován v režimu 57600 8N1, což znamená:

  • Komunikační rychlost 57600 Bd
  • 8 bitů šířka slova
  • Žádná parita
  • 1 stop bit

Obecné principy komunikace

  • Mezi hostitelem a modulem jsou 3 základní typy komunikace:
    • Příkaz (směr hostitel → modul)
    • Odpověď (směr modul → hostitel)
    • Zpráva (směr modul → hostitel)
  • Každý příkaz má jasně definovanou odpověď - jedná se o synchronní mechanismus.
  • Zpráva je pak z pohledu komunikace asynchronní.
  • Komunikační protokol je ve formátu ASCII.
  • Každá komunikace (příkaz / odpověď / zpráva) musí být zakončena znakem \n.
  • Správný formát příkazu je \x1B CONTENT \n (bez mezer mezi obsahem a značkami).
  • Modul posílá odpovědi + zprávy ve formátu \n CONTENT \n (bez mezer mezi obsahem a značkami).
  • V následujícím popisu komunikace se znaky \x1B a \n neuvádějí (jsou zřejmé).
  • Do modulu je možné posílat příkazy se zakončením řádku \r\n - \r se v tomto případě ignoruje a modul zpět odpovídá pouze se zakončením \n.
  • Pokud modul přijme neplatný příkaz, vrátí odpověď ERROR.
  • Po připojení modulu do USB portu hostitele se modul na sériové lince ohlásí zprávou: TURRIS DONGLE V#.# RESET, kde pole #.# představuje verzi firmware modulu.

Dotaz na identifikaci modulu

  • Příkazem ve formátu WHO AM I? lze zjistit verzi firmwaru, případně vyzkoušet funkčnost spojení.
  • Na tento příkaz pošle modul odpověď ve formátu TURRIS DONGLE V#.#, kde #.# představuje verzi firmware.

Sériová čísla

  • Každý výrobek, který vysílá, má svůj jedinečný 14 místný kód. Jeho posledních 8 číslic představuje sériové číslo. Prostřednictvím sériového čísla se registrují periferie do modulu Turris Dongle.
  • Tento 14 místný kód a tedy i sériové číslo lze nalézt pod zadním krytem každé periferie viz. foto níže.

Rozsah sériových čísel:

Periferie Hexadecimální rozsah Dekadický rozsah
AC-88 0xCF0000 - 0xCFFFFF 13565952 - 13631487
JA-80L 0x580000 - 0x59FFFF 05767168 - 05898239
JA-81M 0x180000 - 0x1BFFFF 01572864 - 01835007
JA-82SH 0x7F0000 - 0x7FFFFF 08323072 - 08388607
JA-83M 0x1C0000 - 0x1DFFFF 01835008 - 01966079
JA-83P 0x640000 - 0x65FFFF 06553600 - 06684671
JA-85ST 0x760000 - 0x76FFFF 07733248 - 07798783
RC-86K 0x800000 - 0x87FFFF 08388608 - 08912895
TP-82N 0x240000 - 0x25FFFF 02359296 - 02490367
Pozn.:
  • U RC-86K je uveden rozsah pouze pro levou polovinu ovladače. Adresa pravé poloviny se dá dopočítat přičtením bitu č. 20. V dekadickém tvaru to znaméná přičtení konstanty 1048576 k adrese levé poloviny ovladače (v hexadecimálním tvaru 0x100000).
  • Pokud má sériové číslo, převedené z hexadecimálního formátu pouze 7 znaků, je nutné mu předřadit ještě 0 na první pozici.

Registrace a správa periferií

  • Modul přijímá pouze ty periferie, které jsou do něj registrované.
  • Periferie jsou registrované v tzv. slotech ve vnitřní flash paměti modulu.
  • Ve výchozí sadě jsou všechny prvky v modulu již registrované a pro rychlý start toto není nutné řešit.
  • V případě potřeby dalších periferií je možné sadu rozšířit dokoupením na e-shopu.
  • Do modulu lze registrovat až 32 periferií.

Smazání všech slotů

  • V modulu lze všechny sloty v paměti smazat příkazem ERASE ALL SLOTS.
  • Odpověď na tento příkaz je OK.

Registrace slotu

  • Pro registraci slotu slouží příkaz SET SLOT:XX [YYYYYYYY].
    • Pole XX reprezentuje číslo slotu (rozsah 00..31).
    • Pole YYYYYYYY je dekadická 24-bitová adresa periferie.
  • Odpověď na tento příkaz je OK.

Odregistrování slotu

  • K odregistraci slotu slouží příkaz SET SLOT:XX [——–].
    • Pole XX reprezentuje číslo slotu (rozsah 00..31).
    • Místo adresy se pošle 8x pomlčka.
  • Odpověď na tento příkaz je OK.

Vyčtení slotu

  • Pro vyčtení slotu slouží příkaz GET SLOT:XX.
    • Pole XX reprezentuje číslo slotu (rozsah 00..31).
  • Odpověď na tento příkaz je SLOT:XX [YYYYYYYY].
    • Pole XX reprezentuje číslo slotu (rozsah 00..31).
    • Pole YYYYYYYY je dekadická 24-bitová adresa periferie.

Příjem zpráv z periferií

  • Po přijetí signálu z registrované periferie pošle modul zprávu v následujícím formátu:
   [XXXXXXXX] PRODUCT... MESSAGE...
  • Pole XXXXXXXX - 24-bitová adresa periferie (v dekadickém formátu)
  • Pole PRODUCT… - modelové obchodní označení výrobku (např. RC-86K)
  • Pole MESSAGE… - vlastní obsah zprávy periferie (popsáno pro každou periferii níže)

Odvysílání stavového paketu

  • Pro odvysílání stavového paketu se pošle příkaz ve formátu:
   TX ENROLL:E PGX:X PGY:Y ALARM:A BEEP:BBBB
  • Pole E - registrační signál:
    • Hodnota 1 - vysílá se registrační signál pro přijímače
    • Hodnota 0 - nevysílá se registrační signál pro přijímače
  • Pole X - stav výstupu X:
    • Hodnota 1 - výstup je sepnutý
    • Hodnota 0 - výstup je rozepnutý
  • Pole Y - stav výstupu Y:
    • Hodnota 1 - výstup je sepnutý
    • Hodnota 0 - výstup je rozepnutý
  • Pole A - stav poplach:
    • Hodnota 1 - poplach je aktivní
    • Hodnota 0 - poplach není aktivní
  • Pole BBBB - stav zvukového výstupu:
    • Hodnota NONE - zvuk není aktivní
    • Hodnota SLOW - pípání je pomalé
    • Hodnota FAST - pípání je rychlé
  • Odpověď na tento příkaz je OK.
  • Opakování vysílání stavového paketu je doporučeno provádět 3x s minimální mezerou 200ms a maximální mezerou 500ms (po odpovědi) - časy v mezeře je doporučeno volit náhodné.
  • Není vhodné provádět změnu výstupu X a Y v jedné vysílané relaci. Důvodem je to, že při použití obou zásuvek AC-88 (kdy jedna reaguje na výstup X a druhá na výstup Y) je při změně výstupu odvysílána z AC-88 zpětná odpověď, jejímž vlivem může dojít k rádiové kolizi (obě strany začnou vysílat ve stejný okamžik). Z tohoto důvodu je doporučeno při požadavku na současnou změnu výstupu X a Y odvysílat dvě relace s minimální mezerou 1 sekunda.

Zprávy od RC-86K

   [XXXXXXXX] RC-86K ARM:1 LB:?
   [XXXXXXXX] RC-86K ARM:0 LB:?
   [XXXXXXXX] RC-86K PANIC LB:?

Poznámky:

  • ARM:1 = Událost zajištění
  • ARM:0 = Událost odjištění
  • PANIC = Událost tíseň
  • LB:1 = Nízký stav baterie - ano
  • LB:0 = Nízký stav baterie - ne
  • Událost PANIC lze vyvolat stiskem obou tlačítek levé / pravé poloviny klíčenky.
  • Pozn.: RC-86K se chová jako 2 samostatné dálkové ovladače, z nichž každý vysílá na vlastní adrese. Obě tyto části se liší pouze v bitu č. 20. Pokud byl stav přijatého bitu “0” jedná se o levou polovinu tlačítek, v opačném případě byla stisknuta pravá polovina tlačítek.

Zprávy od JA-81M

   [XXXXXXXX] JA-81M SENSOR LB:? ACT:1
   [XXXXXXXX] JA-81M SENSOR LB:? ACT:0
   [XXXXXXXX] JA-81M TAMPER LB:? ACT:1
   [XXXXXXXX] JA-81M TAMPER LB:? ACT:0
   [XXXXXXXX] JA-81M BEACON LB:?

Poznámky:

  • SENSOR = Událost senzor
  • TAMPER = Událost sabotáž
  • BEACON = Report zklidněné periferie
  • ACT:1 = Stav smyčky - aktivní
  • ACT:0 = Stav smyčky - neaktivní
  • LB:1 = Nízký stav baterie - ano
  • LB:0 = Nízký stav baterie - ne

Zprávy od JA-83M

   [XXXXXXXX] JA-83M SENSOR LB:? ACT:1
   [XXXXXXXX] JA-83M SENSOR LB:? ACT:0
   [XXXXXXXX] JA-83M TAMPER LB:? ACT:1
   [XXXXXXXX] JA-83M TAMPER LB:? ACT:0
   [XXXXXXXX] JA-83M BEACON LB:?

Poznámky:

  • SENSOR = Událost senzor
  • TAMPER = Událost sabotáž
  • BEACON = Report zklidněné periferie
  • ACT:1 = Stav smyčky - aktivní
  • ACT:0 = Stav smyčky - neaktivní
  • LB:1 = Nízký stav baterie- ano
  • LB:0 = Nízký stav baterie - ne

Zprávy od JA-83P

   [XXXXXXXX] JA-83P SENSOR LB:?
   [XXXXXXXX] JA-83P TAMPER LB:? ACT:1
   [XXXXXXXX] JA-83P TAMPER LB:? ACT:0
   [XXXXXXXX] JA-83P BEACON LB:?

Poznámky:

  • SENSOR = Událost senzor
  • TAMPER = Událost sabotáž
  • BEACON = Report zklidněné periferie
  • ACT:1 = Stav smyčky - aktivní
  • ACT:0 = Stav smyčky - neaktivní
  • LB:1 = Nízký stav baterie - ano
  • LB:0 = Nízký stav baterie - ne
  • Po vložení baterie do PIR senzoru a uzavření jeho krytu je potřeba vyčkat na zklidnění PIR senzoru. Zklidnění je indikováno trvalým svitem červené LED.

Zprávy od JA-85ST

   [XXXXXXXX] JA-85ST SENSOR LB:?
   [XXXXXXXX] JA-85ST BUTTON LB:?
   [XXXXXXXX] JA-85ST TAMPER LB:? ACT:1
   [XXXXXXXX] JA-85ST TAMPER LB:? ACT:0
   [XXXXXXXX] JA-85ST DEFECT LB:? ACT:1
   [XXXXXXXX] JA-85ST DEFECT LB:? ACT:0
   [XXXXXXXX] JA-85ST BEACON LB:?

Poznámky:

  • SENSOR = Událost senzor
  • BUTTON = Událost tlačítko
  • TAMPER = Událost sabotáž
  • DEFECT = Událost porucha
  • BEACON = Report zklidněné periferie
  • ACT:1 = Stav smyčky - aktivní
  • ACT:0 = Stav smyčky - neaktivní
  • LB:1 = Nízký stav baterie - ano
  • LB:0 = Nízký stav baterie - ne

Zprávy od JA-82SH

   [XXXXXXXX] JA-82SH SENSOR LB:?
   [XXXXXXXX] JA-82SH TAMPER LB:? ACT:1
   [XXXXXXXX] JA-82SH TAMPER LB:? ACT:0
   [XXXXXXXX] JA-82SH BEACON LB:?

Poznámky:

  • SENSOR = Událost senzor
  • TAMPER = Událost sabotáž
  • BEACON = Report zklidněné periferie
  • ACT:1 = Stav smyčky - aktivní
  • ACT:0 = Stav smyčky - neaktivní
  • LB:1 = Nízký stav baterie - ano
  • LB:0 = Nízký stav baterie - ne

Zprávy od JA-80L

   [XXXXXXXX] JA-80L BUTTON BLACKOUT:?
   [XXXXXXXX] JA-80L TAMPER BLACKOUT:?
   [XXXXXXXX] JA-80L BEACON BLACKOUT:?

Poznámky:

  • BUTTON = Událost tlačítko
  • TAMPER = Událost sabotáž
  • BEACON = Report zklidněné periferie
  • BLACKOUT:1 = Výpadek napájení - ano
  • BLACKOUT:0 = Výpadek napájení - ne
  • Funkce detekce výpadku napájení musí být ve výrobku explicitně povolena - více viz.manuál výrobku JA-80L.

Zprávy od TP-82N

   [XXXXXXXX] TP-82N SET:##.#°C LB:?
   [XXXXXXXX] TP-82N INT:##.#°C LB:?

Poznámky:

  • SET:##.#°C = Nastavená teplota (stejný formát jako na LCD)
  • INT:##.#°C = Aktuální změřená teplota (stejný formát jako na LCD)
  • LB:1 = Nízký stav baterie - ano
  • LB:0 = Nízký stav baterie - ne

Zprávy od AC-88

   [XXXXXXXX] AC-88 RELAY:?

Poznámky:

  • RELAY:1 = Relé zapnuto (tlačítkem nebo rádiově)
  • RELAY:0 = Relé vypnuto (tlačítkem nebo rádiově)