M2M API rozhraní Telnet je velmi jednoduché. Produkty NETIO 4x mají komunikaci typu Telnet s limitovanou instrukční sadou otevřenou na výchozím portu 1234, který lze změnit ve webové administraci. M2M API rozhraní typu Telnet je v základním nastavení zakázané a je nutné jej povolit.
Protokol lze snadno implementovat v zákaznickém programu (Otevřít TCP socket, odeslat sadu příkazů pro nastavení výstupů, ověřit stav napájecích výstupů, zavřít TCP socket) nebo jej otestovat v běžném Telnet terminálovém programu.
V uživatelském programu lze spustit cmd a z ní nastavit stav zásuvek (např. Dávkovým příkazem). Druhá možnost je implementovat TCP spojení do zákaznické aplikace (Telnet) a posílat do něj ovládající řetězce.
Podporovaná zařízení: NETIO 4All, NETIO PowerPDU 4C, NETIO 4, PowerCable Modbus, PowerBOX 3Px, PowerPDU 4PS, PowerDIN 4Pz, PowerBOX 4Kx, PowerPDU 8QS
Nastavení NETIO 4x
Ve webové administraci NETIO 4x v sekci M2M API Protocols, povolte Telnet/KSHELL, případně upravte číslo Portu a uložte kliknutím na tlačítko Save Changes.
Vytvoření uživatele
Pro používání komunikace typu Telnet doporučujeme vytvořit speciálního uživatele.
Postup pro vytvoření uživatele je následující:
1) Ve webové aplikaci v sekci Users přidejte nového uživatele pomocí šedého tlačítka Create User.
2) Vyplňte jméno a heslo.
3) U záložky Privileges rozklikněte more.
4) Nechte zaškrtnuté pouze položky log in a control outputs.
5) Uživatele uložte kliknutím na zelené tlačítko Create User v dolní části obrazovky.
Pro přístup k Telnetu nyní můžete využívat tohoto uživatele.
Příklad použití z příkazové řádky (Windows)
1) Pro verze operačního systému Windows Vista, Windows 7 a vyšší je nejprve nutné v nastavení Windows povolit Telnet. Otevřete Ovládací panely, přejděte na Programy a funkce, dále Zapnout nebo vypnout funkce systému Windows. Zde zatrhněte Klient služby Telnet a potvrďte pomocí OK.
2) K zařízení NETIO 4x se připojte pomocí příkazu: telnet <NETIO IP> <Port>. Dostanete odpověď podobnou této: 100 HELLO 00000000 - KSHELL V1.5:
Příklad příkazu (nezapomeňte vložit IP vašeho zřízení):
Ukázka odpovědi:
3) Po sestavení spojení je třeba se přihlásit příkazem login (viz níže)
Pokud zadáte správné jméno a heslo odpověď bude: 250 OK
Příklad pro uživatelské jméno admin a heslo admin:
4) Nyní můžete ovládat NETIO pomocí příkazů níže
Poznámka: Telnet se automaticky odpojí po 60 sekundách neaktivity. Pro prodloužení doby použijte příkaz noop, doba připojení se prodlouží o dalších 60 sekund
Seznam příkazů
-
login <jméno> <heslo>
- Provede přihlášení uživatele
- <jméno> nahraďte vaším přihlašovacím jménem, <heslo> nahraďte vaším heslem
- Příklad, který vás přihlásí s přihlašovacím jménem admin a heslem admin: login admin admin
- Seznam uživatelů najdete v sekci Users, v této sekci lze i uživatele vytvářet a dávat jim různá práva
-
quit
- Odhlásí vás a ukončí telnet
-
noop
- Zavolání příkazu noop nastaví dobu odpojení na 60 sekund.
- Nemá žádnou funkci (No-operation)
-
port list [xxxx]
- Příkaz sloužící k ovládání všech zásuvek najednou
- Bez parametrů vypíše stav zásuvek
-
Seznam parametrů:
- 0 - vypne zásuvku
- 1 - zapne zásuvku
- 2 - krátce vypne zásuvku (pokud byla zásuvky vypnutá, bude po provedení příkazu zapnutá)
- 3 - krátce zapne zásuvku (pokud byla zásuvky zapnutá, bude po provedení příkazu vypnutá)
- 4 - změní aktuální stav zásuvky
- 5 - ponechá zásuvku beze změny
- i – restartuje zásuvku (ponecháno pro zpětnou kompatibilitu)
-
u – ponechá zásuvku beze změny (ponecháno pro zpětnou kompatibilitu)
- Příklad zapnutí všech zásuvek: port list 1111
- Příklad zapnutí zásuvek 1,3, vypnutí zásuvky 4 a přepnutí stavu zásuvky 2: port list 1410
- Příklad zapnutí zásuvek 2,3 a zachování stavu zásuvek 1,4: port list 5115
- Poznámka: Je nutné nahradit všechny x v parametru, pokud nechcete, aby se stav zásuvky měnil, použijte jako parametr 5. Příkaz port list 10x1 nebude přijat.
-
port <output> <action>
- Příkaz sloužící k ovládání jedné konkrétní zásuvky
- <output> nahraďte číslem zásuvky
- <action> nahraďte jedním z parametrů
- Pokud parametr <action> vynecháte, vypíše se stav zásuvky
-
Parametry:
- 0 - vypne zásuvku
- 1 - zapne zásuvku
- 2 - krátce vypne zásuvku (pokud byla zásuvky vypnutá, bude po provedení příkazu zapnutá)
- 3 - krátce zapne zásuvku (pokud byla zásuvky zapnutá, bude po provedení příkazu vypnutá)
- 4 - změní aktuální stav zásuvky
- 5 - ponechá zásuvku beze změny
- i – restartuje zásuvku (ponecháno pro zpětnou kompatibilitu)
-
u – ponechá zásuvku beze změny (ponecháno pro zpětnou kompatibilitu)
- Příklad zapnutí zásuvky 1: port 1 1
- Příklad vypnutí zásuvky 3: port 3 0
- Za každým příkazem je nutné vložit znaky CR a LF (v ASCII 0D a 0A). V terminálu se tento symbol vkládá stisknutím Enter.
- Příklad: přihlášení, zapnutí zásuvek 1 a 2 a odhlášení:
Software 3.strany
Ověřený software: Hercules, PuTTY, Linux Telnet, Windows Telnet
Pozn.: Některé terminály nepodporují Backspace
Ukázka PuTTY:
Ovládání zásuvek jedním příkazem
- Výstupy lze ovládat i pomocí příkazu v HEX (šestnáctkové) soustavě. Pro nahrazení stisknutí klávesy "Enter" slouží znak CR+LF (0D0A).
- Tento způsob je vhodný pro ovládání pomocí TCP socketu
- Řetězec vytvoříte spojením jednotlivých příkazů (viz výše), převedením jednotlivých symbolů podle tabulky ASCII (například https://www.asciitable.com) do HEX soustavy a na místa, kde se používá klávesa Enter, vložíte znak 0D0A
- Příklad pro zapnutí zásuvky 4:
- žlutě jsou vyznačeny znaky pro “odenterování” příkazu
-
Seznam hlavních příkazů v HEX soustavě:
- login - 6C6F67696E
- 1 – 31
- 2 – 32
- 3 – 33
- 4 - 34
- port - 706F7274
- port list - 706F7274206C697374
- quit - 71756974
Ukázka v Hercules – Příklad pro přihlášení, zapnutí zásuvky 4 a odhlášení.
-
Příkaz:
login netiotelnet
telnet 321
port 4 1
quit - Jedním příkazem: 6C6F67696E206E6574696F74656C6E65742074656C6E65743332310D0A706F7274203420310D0A71756974
FAQ:
1) Lze po Telnetu nastavit čas (delay) pro akce 2 (short Off) a 3 (short On) ?
Ne, tento čas nelze v protokolu Telnet (KSHEEL) měnit. Používá se čas výchozí délky tohoto času – lze změnit přes uživatelské web rozhraní.
2) Lze prodloužit doba odpojení na více než 60 sekund?
Nelze, je nutné použít příkaz noop.
3) Při použití M2M API typu Telnet jsou elektrické zásuvky NETIO 4x TCP Client nebo TCP server?
Když je Telnet M2M protokol povolený, napájecí zásuvky NETIO poslouchají jako TCP server na nastaveném portu. TCP spojení zahajuje TCP client (v tomto AN příkladu například aplikace PuTTY nebo Hercules).
4) Jsou NETIO 4x zásuvky v protokolu Telnet KSHELL kompatibilní s předchozími produkty KOUKAAM?
Starší produkty NETIO vyráběla firma Koukaam. Protokol KSHELL (Koukaam Shell) je kompatibilní s těmito produkty:
- NETIO 230A
- NETIO 230B
5) Telnet mi nepřipadá bezpečný protokol. Mohu jej prostě zakázat?
Ano, pro zabezpečenou komunikaci je možné použít jiné M2M protokoly. Telnet v základním nastavení není povolen.
6) Jaké heslo používá Telnet M2M API? Mohu použít defaultní webové heslo admin/admin?
Telnet M2M API momentálně používá stejné uživatele jako webová administrace (záložka Users) a lze tedy použít defaultní admin/admin. Nastavení uživatele přímo pro Telnet M2M připravujeme a uvedeme v některé z příštích verzí firmwaru.
7) Lze přes Telnet číst aktuální spotřeba?
V tuto aktuální verzi FW není čtení spotřeby přes telnet možné, tuto funkci připravujeme v některé z příštích verzí firmwaru.
Podporované verze FW:
3.0.0 a novější (Archiv firmwware)
Pro starší verze FW 2.3.2, 2.3.4, 2.3.5, 2.3.6 lze také využít s mírnými odlišnostmi:
- nelze měnit Port
- parametry pro ovládání zásuvek jsou dostupné pouze 0, 1, i, u
Podporovaná zařízení: