Oproti XML je JSON úspornější na množství přenášených dat a strojové zpracování.
Datovou strukturu v json formátu lze přenášet mimo jiné v textovém souboru (.json).
V kontextu NETIO produktů
NETIO products používá JSON strukturu pro čtení i zápis jako jedno z REST API. Toto API si lze představit jako přenost textových souborů netio.json přes http(s) protokol oběma směry. Čtením (download) souboru lze ověřit stav zařízení a získat změřené hodnoty. Zápisem souboru (upload) lze přepnout výstup. Přenášet není třeba celou definovanou strukturu, pro přepnutí jednoho výstupu stačí přenést pouze jeden datový objekt.
Heslo a uživatelské jméno (pro čtení nebo čtení a zápis) je uloženo ve standardní http (nebo https) hlavičce. Hesla proto nejsou součástí souboru netio.json.
JSON over HTTP(s) je jedním z preferovaných protokolů REST API, protože používá http protokol. Použití M2M API protokolu na bázi http je dlouhodobě nejspolehlivější cesta z hlediska IT prostředí ve firmách, bezpečnostních mechanismů, zablokovaných portů a podobně.
Jak funguje NETIO JSON M2M API (protokol)
-
Stav zařízení (ON/OFF zásuvek + spotřeba elektřiny) lze zjistit v souboru na adrese http:// device-IP/netio.json na IP adrese zařízení. Soubor netio.json lze stáhnout a zobrazit JSON datovou strukturu ve webovém prohlížeči.
-
Ovládání výstupů přes JSON protokol probíhá zápisem souboru netio.json do zařízení pomocí http(s) post.
- Pro vyzkoušení JSON API koncovým uživatelem lze použít různé utility a nástroje (např. cURL). Pro otestování JSON M2M API jsme NETIO uživatelům připravili do webu produktu nástroj HTTP(s) file upload. Viz AN21 kde je podrobný postup.
Integrace pomocí JSON M2M API
V profesionální integraci se nepoužívá přenos pomocí textových souborů. Data v JSON formátu se posílají jako datový tok s přístupovým bodem /netio.json. V NETIO implementaci REST JSON protokolu lze během jednoho TCP/IP spojení na http server zařízení provést zápis a načíst aktualizovaný stav výstupů.
Příklad JSON objektu pro ovládání výstupu:
{
"Outputs":[
{
"ID":1,
"Action":1
}
]
}
M2M Active Client
Některé produkty NETIO products mohou v zařízení vykonávat (spouštět) Lua skripty. Lua skript se dokáže chovat jako client který stahuje soubory a řídí komunikaci. Tento speciální režim může používat pro přenost dat json strukturu. Detaily najdete pod heslem M2M Active Client.
HTTP nebo HTTPs?
Některá NETIO zařízení podporují i HTTPs zabezpečenou komunikaci. Standardní NETIO unified Open API (kompatibilní se všemi NETIO produkty) podporuje pouze základní HTTP verzi.
Specifikace protokolu a odkazy
>> NETIO specifikace M2M protokolu URL API: Stránka Download
>> AN21 JSON HTTP(s) ovládání NETIO zásuvek 230V (REST API 3x jinak)