M2M: UDP search: Porovnání verzí
Řádek 45: | Řádek 45: | ||
Seznam TLV párů, tak jak jsou (vždy napevno, ve stejném pořadí) umístěny v datové struktuře: | Seznam TLV párů, tak jak jsou (vždy napevno, ve stejném pořadí) umístěny v datové struktuře: | ||
− | + | name | LEN (bytes) | |
− | -------------------------+---------------- | + | -------------------------+---------------- |
− | + | SDS board version | 1 | |
− | + | SDS MAC addr | 6 | |
− | + | SDS IP+NM+GW+WP+SUP | 16 | |
− | + | SDS IP+NM+GW+WP+SUP | 16 | |
− | + | SDS sysLocation | 33 | |
− | + | SDS flags | 8 | |
− | + | OEM short string | 33 | |
− | |||
Každá TLV položka se skládá z následující struktury: | Každá TLV položka se skládá z následující struktury: | ||
− | + | LEN (B) | item | |
− | ----------+---------- | + | ----------+---------- |
− | + | 1 | length = x | |
− | + | 1 | type | |
− | + | x | contents | |
Takže stačí postupně číst jednotlivé TLV struktury, sledovat jejich délku, a vše je k dispozici. Jednotlivé TLV struktury jsou na sobě těsně navázány (packed). | Takže stačí postupně číst jednotlivé TLV struktury, sledovat jejich délku, a vše je k dispozici. Jednotlivé TLV struktury jsou na sobě těsně navázány (packed). |
Verze z 19. 7. 2023, 13:21
UDP SEARCH
Pomocí speciálního protokolu, kdy se data přenášejí prostřednictvím UDP, je možné získávat informace z výrobků řady SDS/OnlineTechnology.
PORT 20484
Komunikace probíhá formou DOTAZ - ODPOVĚĎ. To znamená, že ten, kdo má o informace zájem (vzdálený uživatel) pošle dotaz (korektně vyplněný UDP paket, viz dále) a obratem obdrží od zařízení odpověď, UDP paket s informacemi.
Tato funkcionalita se využívá primárně pro nalezení všech modulů SDS, které jsou na dané podsíti - často v situaci, kdy neznáme přesnou IP adresu daného modulu, a chceme takový modul přesto najít a přistupovat k němu.
Dotaz
Aplikace musí do SDS odeslat správně formulovaný dotaz.
Dotazem je UDP paket, který obsahuje následující datový payload (23 bajtů):
AN-D-SEARCH * SDS/1.0\n\r
POZOR - kde \n a \r jsou jednoznakové položky !
Odpověď
Modul SDS odpoví, pokud obdrží správně formulovaný dotaz. Odpověď obsahuje řadu doplňujících informací, které lze vyhodnotit.
Odpovědí je UDP paket, který obsahuje následující datový payload (hlavička 23 bajtů + další datové položky):
AN-D-SREPLY * SDS/1.0\n\r
POZOR - kde \n a \r jsou jednoznakové položky !
Následující datová struktura (navazuje hned na hlavičku) - všechny hodnoty LITTLE ENDIAN:
length B | contents -----------+--------------------------------- TBD | reserved -----------+--------------------------------- 4 | version (actual value: 0x01) -----------+--------------------------------- n*x | TYPE-LENGTH-VALUE (TLV) pairs
Seznam TLV párů, tak jak jsou (vždy napevno, ve stejném pořadí) umístěny v datové struktuře:
name | LEN (bytes) -------------------------+---------------- SDS board version | 1 SDS MAC addr | 6 SDS IP+NM+GW+WP+SUP | 16 SDS IP+NM+GW+WP+SUP | 16 SDS sysLocation | 33 SDS flags | 8 OEM short string | 33
Každá TLV položka se skládá z následující struktury:
LEN (B) | item ----------+---------- 1 | length = x 1 | type x | contents
Takže stačí postupně číst jednotlivé TLV struktury, sledovat jejich délku, a vše je k dispozici. Jednotlivé TLV struktury jsou na sobě těsně navázány (packed).
info
stránka se připravuje