AN19 URL M2M API (http GET) ovládání NETIO elektrických zásuvek
Tagy: 
M2M API

Aplikační poznámka AN19 demonstruje použití M2M API protokolu URL M2M API  nebo také http get.  Zavoláním určité url adresy lze zapnout / vypnout nebo přepnout jednu ze čtyř elektrických zásuvek na 230V. Tento protokol podporují všechna NETIO 4x zařízení (NETIO 4 / 4All / 4C).
 

Můžeme Vám nějak pomoci?

NETIO chytré zásuvky podporují ovládání pomocí URL M2M API  rozhraní (voláním url s parametry) dvěma různými způsoby:

  1. Pomocí uživatelského Lua skriptu (NETIO AN04)
  2. Použitím standardního M2M API typu URL M2M API (http GET) (toto AN19).

 

Rozdíl mezi ovládáním popsaným v AN04 (Lua script) a AN19 (M2M API) je v tom, že URL řetězec ve standardním M2M API rozhraní , ani následné reakce na něj nemůže uživatel nijak změnit, může se mu jen přizpůsobit.

 

Řetězec znaků, který NETIO přijme v URL se rozloží na jednotlivé příkazy a zásuvka poté nastaví výstupy do požadovaných stavů podle čísla Akce. Čísla akcí odpovídají standardnímu číslování ve všech M2M protokolech:

Akce výstupu:

0 = Vypnutí výstupu  (Off)

1 = Zapnutí výstupu (On)

2 = Vypnutí výstupu na krátkou dobu (short Off)

3 = Zapnutí výstupu na krátkou dobu (short On)

4 = Přepnutí výstupu z jednoho stavu do druhého (toggle)

5 = Ponechání stavu výstupu (no change)

 

URL API příklad formátu (přepne stav na výstupu 1):
http: //192.168.1.30/netio.cgi?pass= netio-psw&output1=4

 

Podporovaná zařízení: NETIO 4All, NETIO 4C, NETIO 4

 

Nastavení NETIO 4x chytrých zásuvek

Ve webové administraci NETIO 4x v sekci M2M API Protocols - URL M2M API , povolte URL M2M API , nastavte Passphrase (ověřovací řetězec). Případně upravte číslo Portu a uložte kliknutím na tlačítko Save Changes. Po uložení dojde k restartu zařízení (cca 1 minuta).


 

Vytvoření ovládacího řetězce

  • Pro ovládání zásuvky je nutné vytvořit ovládací řetězec, který má následující tvar: https://<netioIP>/netio.cgi?pass=<Passphrase>&output<X>=<action>
  • Na místo <netioIP> vložte IP vaší chytré zásuvky NETIO. Pokud nepoužíváte výchozí port (80), je nutné ho vložit za dvojtečku za IP NETIO.
  • Příklad pro port 8080: 192.168.101.118:8080

Parametry

  • pass=<Passphrase>
    • Passphrase, kterou je nastavená v sekci M2M API Protocols - URL M2M API.
    • Výchozí Passphrase je MAC adresa, která je na štítku krabice. Kvůli bezpečnosti ji důrazně doporučujeme změnit.
    • Příklad pro Passphrase netio-psw: pass=netio-psw
    • Pokud žádné heslo nevyžadujete, je možné nechat tuto kolonku prázdnou. Do ovládacího řetězce se pak parametr zadávat nemusí, nebo se zadá prázdný (pouze pass=).

 

  • output<X>=<action>
    • X
      • Nastavuje číslo výstupu (1 - 4)
      • Příklad pro výstup 2: output2
    • action
      • Nastavuje akci pro daný výstup
      • 0 - vypne výstup
      • 1 - zapne výstup
      • 2 - krátce vypne výstup (pokud byl výstup vypnutý, bude po provedení příkazu zapnutý)
      • 3 - krátce zapne výstup (pokud byl výstup zapnutý, bude po provedení příkazu vypnutý)
      • 4 - změní aktuální stav výstupu
      • 5 - ponechá výstup beze změny
    • Příklad pro zapnutí výstupu 3: output3=1
    • Pro ovládání více výstupů najednou oddělte jednotlivé parametry znakem &.
    • Příklad pro zapnutí výstupu 2, vypnutí výstupu 3 a přepnutí stavu výstupu 4: output2=1&output3=0&output4=4

 

  • delay<X>=<time(ms)>
    • Nastaví čas pro krátké zapnutí/vypnutí v akcích 2 a 3.
    • Pokud není nastaven nebo je jeho hodnota 0, využije se hodnota nastavená ve webové aplikaci.
    • Místo <X> vložte číslo výstupu a místo <time(ms)> vložte čas v milisekundách (minimální hodnota je 100).
    • Příklad pro nastavení zpoždění výstupu 3 na 500ms: delay3=500
    • Příklad celého řetězce: https://192.168.101.118/netio.cgi?pass=netio-psw&output3=2&delay3=500

 

Návratové hodnoty

Jako odpověď na http get požadavek je možné obdržet:

  • 200 OK
    • Vše proběhlo v pořádku
  • 400 Bad request
    • Ovládací řetězec byl špatně naformátován
  • 401 Unauthorized
    • Špatná Passphrase
  • 403 Forbidden
    • URL M2M API není na zařízení NETIO povolena (viz sekce Nastavení NETIO 4x)

 

Ovládání z příkazové řádky

Pro ovládání z příkazové řádky lze použít příkaz cURL (ke stažení z https://curl.haxx.se/download.html) nebo libovolný jiný příkaz, který umí otevřít URL adresu (např. webový prohlížeč).

 

Windows

Stáhněte program cURL, spusťte příkazový řádek (CMD) a v curl otevřete složku bin.

Před ovládací příkaz je nutné napsat curl a příkaz samotný vložit do uvozovek.

Příklad zapnutí zásuvky 1: curl "https://192.168.101.118/netio.cgi?pass=netio-psw&output1=1"

 

Mac OS X a Linux

Program cURL je standardní součástí vašeho operačního systému. Postup pro ovládání výstupů je shodný s Windows, viz výše.

 

Ukázka z online dema NETIO zásuvek

Na webu jsou k dispozici online dema (pro každé zařízení),

která slouží k ukázce a je možné si v nich vyzkoušet M2M protokoly.

 

FAQ:

 

1) Lze v rámci jednoho příkazu ovládat více výstupů najednou?

Ano, v jednom ovládacím řetězci je možné mít více příkazů pro ovládání výstupů. Je nutné je oddělit znakem &.

Příklad: https://192.168.101.118/netio.cgi?pass=netio-psw&output1=1&output2=0
 

2) Po zadání ovládajícího řetězce jsem přesměrován do webové aplikace, co mám dělat?

Pravděpodobně jste zastavil jiný port než 80. Číslo portu jiného než 80 musí být napsáno za IP adresou za dvojtečkou. Pokud problémy přetrvávají kontaktujte zákaznickou podporu.

Příklad: https://192.168.101.118:8080/netio.cgi?pass=netio-psw&output1=1

 

3) Zásuvku zapnu pomocí URL, ale potom přijde na řadu časovač (Scheduler) pro ovládání stejné zásuvky. Proběhne časová sekvence správně?

Ano, po vykonání URL M2M API příkazu je zásuvka dál dostupná pro všechny cesty ovládání (Scheduler, WatchDog, Mobilní aplikace, tlačítko,...)

 

4) Používá se v M2M API typu URL M2M API pro URL ovládání http post nebo http get?

Jedná se o metodu http get.

 

5) Jaký je rozdíl mezi AN04 a AN19?

Obě aplikační poznámky popisují ovládání NETIO elektrických zásuvek podobným způsobem přes zavolání URL adresy. Rozdíl je v syntaxi příkazu a způsobu zpracování.
 

  • Aplikační poznámka AN19 využívá standardní M2M API. Je to snazší pro uživatele, ale chování nelze nijak modifikovat.
  • Příklad AN04 využívá zákaznického Lua skriptu. Syntaxe příkazu i chování NETIO zásuvek tak záleží na tom, co si zákazník ve skriptu napíše. Samotné AN04 je spíš příklad použití než definice protokolu.
     

6) Lze nějak přes volání URL M2M API Get zjistit stav výstupů?

Ne, doporučujeme použít Telnet nebo XML protokoly z M2M API.

 

7) Jako odpověď na url příkaz dostanu HTML stránku s prostým „OK“. Lze tuto odpověď nějak modifikovat?

Ne, v této chvíli ne. Časem plánujeme do M2M API možnost nastavení návratového kódu stránky pro standardní M2M API (AN19) a zákaznického řetězce pro Lua script (AN04)

 


Podporované verze FW:

3.0.1 a novější (Archiv firmwware)


 

 

Zeptejte se na cenu nebo technické parametry

Pro otestování zařízení použijte jméno/heslo demo/demo