AN11 SNMP dohled a řízení napájecích výstupů 110/230V z CMD (command line) pro Windows a Linux
Tagy: 
M2M API

Elektrické zásuvky (PDU) NETIO 4x je možné po síti LAN/WiFi dohledovat a případně ovládat pomocí protokolu SNMP. Lze tak změřit aktuální spotřebu (pouze NETIO 4All) nebo zapnout/vypnout každou jednu elektrickou zásuvku na 110/230V. Tento aplikační příklad AN11 popisuje jak na čtení a zápis pomocí SNMP v3 v prostředí MS Windows nebo Linux. 

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

SNMP v1 a v3 podporují všechna NETIO 4x zařízení (NETIO 4 / 4All / 4C), SNMP v1 lze použít pouze pro čtení hodnot. Pomocí SNMP () protokolu lze zjišťovat stav jednotlivých zásuvek, měřit aktuální spotřebu nebo přes SNMP v3 ovládat jednotlivé zásuvky. SNMP je standardní protokol pro mnoho dohledových software aplikací třetích stran.

NETIO 4x používá pro komunikaci po SNMP výchozí port 161, který lze změnit ve webové administraci. MIB s popisem Objektů je možné stáhnout z webové administrace NETIO 4x.

NETIO 4x podporuje následující verze SNMP:

  • v1,2c - SNMP v1 a v2c umožňuje pouze dohled (čtení stavů)
  • v3 - SNMP v3 využívá autorizaci a šifrování, umožňuje dohled a ovládání zásuvek

 

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

 

Linux: Pro SNMP komunikaci z Linux lze využít např. utilit snmpwalk, snmpget či snmpset z balíčku snmp (http://www.net-snmp.org/) - stručný návod na instalaci naleznete na konci tohoto dokumentu v kapitole “Instalace Net-SNMP utility pro Linux”.

 

Windows: Pro SNMP komunikaci ve Windows lze použít např. utilit SnmpWalk, SnmpGet či SnmpSet od SnmpSoft Company (https://syslogwatcher.com/cmd-tools/). Utility je možné použít zdarma pro nekomerční použití. Tyto utility nepracují s MIB, ale jen s OID.

 

Příklady použití:

  • Vzdálený dohled nad stavem zásuvek
  • Ovládání zásuvek ze vzdáleného počítače

 



Rychlá navigace v Aplikační poznámce AN11:

 

Příklady použití SNMP v1/v2c

Vypsání všech stavů/hodnot (SNMP v1 / v2c)

Linux - s využitím MIB

Windows

Vypsání konkrétní hodnoty (SNMP v1 / v2c)

Linux - s využitím MIB a jména objektu

Linux - s využitím OID

Windows - s využitím OID

 

Příklady použití SNMP v3

Vypsání všech stavů/hodnot (SNMP v3)

Linux - s využitím MIB

Windows

Vypsání konkrétní hodnoty (SNMP v3)

Linux - s využitím MIB a jména objektu

Linux - s využitím OID

Windows - s využitím OID

Ovládání zásuvky s využitím MIB a jména Objektu (SNMP v3)

Linux - s využitím MIB a jména objektu

Linux - s využitím OID

Windows - s využitím OID


 

Objekty v NETIO 4x SNMP MIB

Pro dohled (čtení)

Objekt

OID

x – nahrazuje číslo výstupu/zásuvky (1, 2, 3, 4)
Typ Příklad hodnoty Poznámka

netioOutputID.x

1.3.6.1.4.1.47952.1.1.1.1.x
INTEGER 1  

netioOutputName.x

1.3.6.1.4.1.47952.1.1.1.2.x
STRING output_1 dle uživ. nastavení 

netioOutputState.x

1.3.6.1.4.1.47952.1.1.1.3.x
INTEGER off(0), on(1)  

netioOutputStateString.x

1.3.6.1.4.1.47952.1.1.1.4.x
STRING "off", "on"  

netioOutputLoad.x

1.3.6.1.4.1.47952.1.1.1.25.x
INTEGER 24 [W]

netioOutputEnergy.x

1.3.6.1.4.1.47952.1.1.1.26.x
INTEGER 13 [Wh]

netioOutputEnergyStart.x

1.3.6.1.4.1.47952.1.1.1.27.x
DateAndTime 2017-6-23,5:47:3.0,+0:0 Počáteční čas pro “netioOutputEnergy”. UTC *1

netioOutputCurrent.x

1.3.6.1.4.1.47952.1.1.1.28.x
INTEGER 195 [mA]

netioOutputCurrentPowerFactor.x

1.3.6.1.4.1.47952.1.1.1.29.x
INTEGER 534 Current power factor * 1000

netioVoltage

1.3.6.1.4.1.47952.1.2.1
INTEGER 239100 napětí v síti [mV]

netioFrequency

1.3.6.1.4.1.47952.1.2.2
INTEGER 49900 frekvence v síti [mHz]

netioTotalCurrent

1.3.6.1.4.1.47952.1.2.3
INTEGER 195 [mA]

netioOverallPowerFactor

1.3.6.1.4.1.47952.1.2.4

INTEGER 534 Current power factor * 1000

netioTotalLoad

1.3.6.1.4.1.47952.1.2.5
INTEGER 24 [W]

netioTotalEnergy

1.3.6.1.4.1.47952.1.2.6
INTEGER 13 [Wh]

netioEnergyStart

1.3.6.1.4.1.47952.1.2.7
DateAndTime 2017-6-23,5:47:3.0,+0:0 Počáteční čas pro “netioTotalEnergy”. UTC *1

 

*1: Počáteční čas od kdy se počítá kumulovaná spotřeba. Tato hodnota je stejná pro všechny výstupy/zásuvky.

Poznámka: Hodnoty měření (napětí, frekvence, proud, PowerFactor, zátěž a energie) jsou dostupné pouze pro model NETIO 4All. Ostatní modely vrací hodnotu měření “0”.

 

Pro ovládání (zápis)

Objekt

OID

x – nahrazuje číslo zásuvky (1, 2, 3, 4)
Typ Hodnota Akce

netioOutputAction.x

1.3.6.1.4.1.47952.1.1.1.5.x
INTEGER (i)

0

1

2

3

4

5

vypne

zapne

krátce vypne * (restart)

krátce zapne **

změní aktuální stav

ponechá beze změny

 

* pokud byla zásuvky vypnutá, bude po provedení příkazu zapnutá

** pokud byla zásuvky zapnutá, bude po provedení příkazu vypnutá

 

Net-SNMP utility pro Linux

V příkladech je použita utilita Net-SNMP. Pokud ji nemáte nainstalovanou můžete ji nainstalovat dle jednocuchého postupu na konci tohoto dokumentu v kapitole “Instalace Net-SNMP utility pro Linux”.

Výchozích adresáře pro MIB jsou: /root/.snmp/mibs: /usr/share/snmp/mibs/, /usr/share/snmp/mibs/iana/, /usr/share/snmp/mibs/ietf/, /usr/share/mibs/site/, /usr/share/snmp/mibs/, /usr/share/mibs/iana/, /usr/share/mibs/ietf/, /usr/share/mibs/netsnmp

NETIO MIB stažené z webové administrace NETIO doporučujeme přejmenovat na NETIO-PRODUCTS-NETIO-MIB pro jednoduché využití příkladů níže a uložit do /usr/share/snmp/mibs/ (doporučený výchozí adresář).

Pro správnou funkci jsou vyžadovány také následující MIB (kromě NETIO MIB):

  • SNMPv2-SMI
  • SNMPv2-TC

Postup jejich získání naleznete na konci tohoto dokumentu v kapitole “Instalace Net-SNMP utility pro Linux”.

 

SNMP utility pro Windows

V příkladech jsou použity utility SnmpWalk, SnmpGet a SnmpSet od SnmpSoft Company (https://syslogwatcher.com/cmd-tools/). Utility je možné použít zdarma pro nekomerční použití.

Stačí stáhnout jednotlivé utility, rozbalit a používat. Pro správnou funkci musíte spouštět utilitu ze složky, ve které je utilita uložena (nebo přidat cestu do PATH).

Tyto utility nepracují s MIB, ale jen s OID.

 

Nastavení NETIO 4x - SNMP v1/v2c

Ve webové administraci NETIO 4x v sekci M2M API Protocols povolte SNMP, případně upravte číslo Portu, zvolte verzi SNMP v1,2c, případně změňte Comunity a uložte kliknutím na tlačítko Save Changes. Kliknutím na tlačítko Download MIB file stáhnete MIB pro NETIO.

 

Příklady použití SNMP v1/v2c

 

1.   Vypsání všech stavů/hodnot (SNMP v1 / v2c)

 

Linux - s využitím MIB

snmpwalk -m <jméno NETIO MIB> [volitelně -M <cesta k MIB>] -v <verze SNMP: 1 nebo 2c> -c <Comunity> <IP adresa NETIO> <specifikace stromu: NETIOProducts>

příklad: snmpwalk -m NETIO-PRODUCTS-NETIO-MIB -v 1 -c public 192.168.120.135 NETIOProducts

 

Obdobně můžeme použít i pro SNMP v2c: snmpwalk -m NETIO-PRODUCTS-NETIO-MIB -v 2c -c public 192.168.120.135 NETIOProducts

Pokud jsou MIB uloženy v jiném než jednom z výchozích adresářů (viz výše v úvodu), je třeba uvést i paramatr -M s cestou.

Např.:snmpwalk -m NETIO-PRODUCTS-NETIO-MIB -M /usr/share/snmp/mibs/ -v 1 -c public 192.168.120.135 NETIOProducts

 

Windows

SnmpWalk.exe -r:<IP adresa NETIO> -v:<verze SNMP: 1 nebo 2c> -c:<Comunity>

příklad: SnmpWalk.exe -r:192.168.120.135 -v:1 -c:"public"

nebo: SnmpWalk.exe -r:192.168.120.135 -c:"public"

 

Obdobně můžeme použít i pro SNMP v2c: SnmpWalk.exe -r:192.168.120.135 -v:2c -c:"public"

 

2.   Vypsání konkrétní hodnoty (SNMP v1 / v2c)

 

Linux - s využitím MIB a jména objektu

snmpget -m <jméno NETIO MIB> [volitelně -M <cesta k MIB>] -v <verze SNMP: 1 nebo 2c> -c <Comunity> <IP adresa NETIO> <Objekt pro čtení dle tabulky výše>

příklad pro vypsání stavu zásuvky číslo 1: snmpget -m NETIO-PRODUCTS-NETIO-MIB -v 1 -c public 192.168.120.135 netioOutputState.1

 

Obdobně můžeme použít i pro SNMP v2c: snmpget -m NETIO-PRODUCTS-NETIO-MIB -v 2c -c public 192.168.120.135 netioOutputState.1

Pokud jsou MIB uloženy v jiném než jednom z výchozích adresářů (viz výše v úvodu), je třeba uvést i parametr -M s cestou.

Např.: snmpget -m NETIO-PRODUCTS-NETIO-MIB -M /usr/share/snmp/mibs/ -v 1 -c public 192.168.120.135 netioOutputState.1

 

 

Linux - s využitím OID

snmpget -v <verze SNMP: 1 nebo 2c> -c <Comunity> <IP adresa NETIO> <OID pro čtení dle tabulky výše>

příklad pro vypsání stavu zásuvky číslo 1: snmpget -v 1 -c public 192.168.120.135 1.3.6.1.4.1.47952.1.1.1.3.1

Obdobně můžeme použít i pro SNMP v2c: snmpget -v 2c -c public 192.168.120.135 1.3.6.1.4.1.47952.1.1.1.3.1

 

Windows - s využitím OID

SnmpGet.exe -r:<IP adresa NETIO> -v:<verze SNMP: 1 nebo 2c> -c:<Comunity>

příklad: SnmpGet.exe -r:192.168.120.135 -v:1 -c:"public" -o:1.3.6.1.4.1.47952.1.1.1.3.1

nebo: SnmpGet.exe -r:192.168.120.135 -c:"public" -o:1.3.6.1.4.1.47952.1.1.1.3.1

Obdobně můžeme použít i pro SNMP v2c: SnmpGet.exe -r:192.168.120.135 -v:1 -c:"public" -o:1.3.6.1.4.1.47952.1.1.1.3.1

 

Nastavení NETIO 4x - SNMP v3

Ve webové administraci NETIO 4x v sekci M2M API Protocols povolte SNMP, případně upravte číslo Portu a zvolte verzi SNMP v3.

Pro SNMP v3 jsou k dispozici dva SNMP uživatelé - jeden s právy pro čtení i zápis (Allow READ/WRITE access) a druhý pouze s právy pro čtení (Allow READ ONLY access). Pro každého lze individuálně nastavit parametry pro přístup a zabezpečení, případně jej nepovolit.

Povolte/nepovolte jednotlivé SNMP uživatele (jednoho či oba), nastavte jednotlivé parametry a uložte kliknutím na tlačítko Save Changes.

Kliknutím na tlačítko Download MIB file stáhnete MIB pro NETIO.

 

pozn.: NETIO využívá Password jako “authentication protocol pass phrase” a také “privacy protocol pass phrase”.

 

Příklady použití SNMP v3

 

1.   Vypsání všech stavů/hodnot (SNMP v3)

 

Linux - s využitím MIB

snmpwalk -m <jméno NETIO MIB> [volitelně -M <cesta k MIB>] -v <verze SNMP: 3> -a <protokol: MD5|SHA> -A <Password> -I <Security: authNoPriv|authPriv> -u <Username> -x <Encryption: DES|AES> -X <Password> <IP adresa NETIO> <specifikace stromu: NETIOProducts>

příklad: snmpwalk -m NETIO-PRODUCTS-NETIO-MIB -v 3 -a SHA -A mypassword -l authPriv -u user -x AES -X mypassword 192.168.120.135 NETIOProducts

 

Pokud jsou MIB uloženy v jiném než jednom z výchozích adresářů (viz výše v úvodu), je třeba uvést i paramatr -M s cestou.

Např.: snmpwalk -m NETIO-PRODUCTS-NETIO-MIB -M /usr/share/snmp/mibs/ -v 3 -a SHA -A mypassword -l authPriv -u user -x AES -X mypassword 192.168.120.135 NETIOProducts

 

Windows

SnmpWalk.exe -r:<IP adresa NETIO> -v:<verze SNMP: 3> -sn:<Username> -ap:<protokol: MD5|SHA> -aw:<Password> -pp:<Encryption: DES|AES128> -pw:<Password>

příklad: SnmpWalk.exe -r:192.168.120.135 -v:3 -sn:user -ap:SHA -aw:mypassword -pp:AES128 -pw:mypassword

 

2.   Vypsání konkrétní hodnoty (SNMP v3)

 

Linux - s využitím MIB a jména objektu

snmpget -m <jméno NETIO MIB> [volitelně -M <cesta k MIB>] -v <verze SNMP: 3> -a <protokol: MD5|SHA> -A <Password> -I <Security: authNoPriv|authPriv> -u <Username> -x <Encryption: DES|AES> -X <Password> <IP adresa NETIO> <Objekt pro čtení dle tabulky výše>

příklad pro vypsání stavu zásuvky číslo 1: snmpget -m NETIO-PRODUCTS-NETIO-MIB -v 3 -a SHA -A mypassword -l authPriv -u user -x AES -X mypassword 192.168.120.135 netioOutputState.1

 

Pokud jsou MIB uloženy v jiném než jednom z výchozích adresářů (viz výše v úvodu), je třeba uvést i paramatr -M s cestou.

Např.: snmpget -m NETIO-PRODUCTS-NETIO-MIB -M /usr/share/snmp/mibs/ -v 3 -a SHA -A a1234567 -l authPriv -u admin -x AES -X a1234567 192.168.120.135 netioOutputState.1

 

Linux - s využitím OID

snmpget -v <verze SNMP: 3> -a <protokol: MD5|SHA> -A <Password> -I <Security: authNoPriv|authPriv> -u <Username> -x <Encryption: DES|AES> -X <Password> <IP adresa NETIO> <OID pro čtení dle tabulky výše>

příklad pro vypsání stavu zásuvky číslo 1: snmpget -v 3 -a SHA -A mypassword -l authPriv -u user -x AES -X mypassword 192.168.120.135 1.3.6.1.4.1.47952.1.1.1.3.1

 

Windows - s využitím OID

SnmpGet.exe -r:<IP adresa NETIO> -v:<verze SNMP: 3> -sn:<Username> -ap:<protokol: MD5|SHA> -aw:<Password> -pp:<Encryption: DES|AES128> -pw:<Password> -o:<OID pro čtení dle tabulky výše>

příklad: SnmpGet.exe -r:192.168.120.135 -v:3 -sn:user -ap:SHA -aw:mypassword -pp:AES128 -pw:mypassword -o:1.3.6.1.4.1.47952.1.1.1.3.1

 

3.   Ovládání zásuvky s využitím MIB a jména Objektu (SNMP v3)

 

Linux - s využitím MIB a jména objektu

snmpset -m <jméno NETIO MIB> [volitelně -M <cesta k MIB>] -v <verze SNMP: 3> -a <protokol: MD5|SHA> -A <Password> -I <Security: authNoPriv|authPriv> -u <Username> -x <Encryption: DES|AES> -X <Password> <IP adresa NETIO> <Objekt pro zápis dle tabulky výše> <odpovídající Typ> <Hodnota>

příklad pro zapnutí zásuvky číslo 1: snmpset -m NETIO-PRODUCTS-NETIO-MIB -v 3 -a SHA -A a1234567 -l authPriv -u admin -x AES -X a1234567 192.168.120.135 netioOutputAction.1 i 1

 

Pokud jsou MIB uloženy v jiném než jednom z výchozích adresářů (viz výše v úvodu), je třeba uvést i paramatr -M s cestou.

Např. snmpset -m NETIO-PRODUCTS-NETIO-MIB -M /usr/share/snmp/mibs/ -v 3 -a SHA -A a1234567 -l authPriv -u admin -x AES -X a1234567 192.168.120.135 netioOutputAction.1 i 1

 

Linux - s využitím OID

snmpset -v <verze SNMP: 3> -a <protokol: MD5|SHA> -A <Password> -I <Security: authNoPriv|authPriv> -u <Username> -x <Encryption: DES|AES> -X <Password> <IP adresa NETIO> <OID pro zápis dle tabulky výše> <odpovídající Typ> <Hodnota>

příklad pro zapnutí zásuvky číslo 1: snmpset -v 3 -a SHA -A a1234567 -l authPriv -u admin -x AES -X a1234567 192.168.120.135 1.3.6.1.4.1.47952.1.1.1.5.1 i 1

 

Windows - s využitím OID

SnmpSet.exe -r:<IP adresa NETIO> -v:<verze SNMP: 3> -sn:<Username> -ap:<protokol: MD5|SHA> -aw:<Password> -pp:<Encryption: DES|AES128> -pw:<Password> -o:<OID pro čtení dle tabulky výše> -val:<Hodnota> -tp:<odpovídající Typ>

příklad pro zapnutí zásuvky číslo 1: SnmpSet.exe -r:192.168.120.135 -v:3 -sn:admin -ap:SHA -aw:a1234567 -pp:AES128 -pw:a1234567 -o:1.3.6.1.4.1.47952.1.1.1.5.1 -val:1 -tp:int

 

FAQ:

1) Co když změním Port pro SNMP?

Linux: Pokud je Port nastaven na jiný než standardní 161 pak jednoduše uvedete číslo použitého portu za IP adresu oddělený dvojtečkou. Např. 192.168.120.135:1111 pro použití portu 1111.

Windows: Pokud je Port nastaven na jiný než standardní 161 pak v příkazu uvedete navíc parametr “-p:<port>”. Např. SnmpWalk.exe -r:192.168.120.135 -p:1111 -c:"public" pro použití portu 1111

 

2) Proč nelze ovládat zásuvky pomocí SNMP v1 / v2c ?

SNMP v1 a v2c nepoužívají autorizaci. Zápis pomocí tohoto protokolu tak není nijak zabezpečen. Nelze tedy zajistit přístup k ovládání pouze pro oprávněné zařízení / software / systém. Pro čtení, lze použít SNMP v1 i v, pro zápis (ovládání) musí být tedy použito SNMP v3.

 

3) Podporuje NETIO 4x SNMP Trapy?

Ne, chytré zásuvky NETIO 4x (NETIO 4 / NETIO 4All / NETIO 4C) komunikují pouze na portu 161 a nepodporují SNMP Trapy. 

 


Podporované verze FW:

3.1.0 a novější (Archiv firmwware)


 

Instalace Net-SNMP utility pro Linux

Postup vyzkoušený na Debian GNU/Linux 8.

 

-> nainstalovat balíček snmp

http://net-snmp.sourceforge.net/wiki/

https://wiki.debian.org/SNMP

 

dále jsou potřeba následující dvě MIB:

SNMPv2-SMI

SNMPv2-TC

-> nainstalovat balíček snmp-mibs-downloader

-> spustit download-mibs

MIB se uloží do /var/lib/mibs/ietf

-> zkopírovat dvě MIB uvedené výše do /usr/share/snmp/mibs/ (doporučený výchozí adresář)

 

NETIO MIB - stažené z webové administrace NETIO

-> přejmenovat na NETIO-PRODUCTS-NETIO-MIB (doporučeno pro jednoduché využití příkladů výše)

-> uložit do /usr/share/snmp/mibs/ (doporučený výchozí adresář)

 

Tato Aplikační poznámka může být použita v:

Smart power socket NETIO

 

NETIO 4

NETIO 4 je PDU modul čtyř zásuvek 230V/8A s připojením do počítačové sítě pomocí LAN a WiFi. Každou ze zásuvek lze individuláně vypnout/zapnout pomocí různých M2M API protokolů. NETIO 4 je unikátní produkt, který najde uplatnění v IT, průmyslu, chytrých domech, multimediálních instalacích atd. Všude, kde potřebujete zásuvky na 230V ovládané z mobilní aplikace, z nějakého programu (M2M API), z uživatelského skriptu (Lua), z funkcí časovač (Scheduler) a automatický restartér (IP WatchDog). 

Více o zařízení NETIO 4

 

Smart power socket NETIO 4All

 

NETIO 4All

NETIO 4All je PDU modul čtyř elektrických zásuvek 230V/8A s měřením spotřeby na každé zásuvce, který lze připojit do počítačové sítě pomocí LAN a WiFi. Každou ze čtyř zásuvek lze individuálně vypnout/zapnout přes web nebo pomocí různých M2M API protokolů. Na každé zásuvce lze měřit její spotřebu elektřiny (A, W, kWh). Chytré zásuvky NETIO 4All jsou určeny pro aplikace vzdáleného měření a ovládání elektrických zásuvek.

Více o zařízení NETIO 4All

Smart power socket NETIO

 

NETIO 4C

NETIO 4C je malé PDU (Power Distribution Unit) na 110/230V se čtyřmi ovládanými výstupy na IEC-320 C13 max 8A. Obsahuje Ethernet switch a 2x LAN port na připojení do sítě. Každý ze čtyř výstupů napájení lze individuálně vypnout/zapnout přes web, z mobilní aplikace nebo pomocí různých M2M API (SNMP, MQTT, XML, Modbus/TCP, ..). V NETIO 4C lze spouštět přímo v zařízení běžící zákaznické Lua skripty. Specialitou NETIO 4C je sériový port RS-232 (3-pin), který lze ovládat z Lua scriptu, nebo jako vzdálený sériový port.

Více o zařízení NETIO 4C

 

Zeptejte se na cenu nebo technické parametry

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