Téma: Zápis do sys[140], sys[141], ... přes SNMP Write
Jo možno zapsat data do sys[140], sys[141], ... pomocí snmp write ??
Díky
L.
SDS PLC/PAC: Měření Energie & OnlineTechnology.cz
Network Monitoring System - SDS - Síťový Dohledový Systém
Nejste přihlášen. Přihlaste se, nebo se zaregistrujte.
SDS PLC/PAC: Měření Energie & OnlineTechnology.cz » SDS-C Programy » Zápis do sys[140], sys[141], ... přes SNMP Write
Stránky 1
Chcete-li přispívat, musíte se přihlásit nebo projít procesem registrace.
Jo možno zapsat data do sys[140], sys[141], ... pomocí snmp write ??
Díky
L.
Přidal jsem tuto možnost do BETA firmware pro SDS MICRO, ze dne 10.10.2012.
Budu rád za vyzkoušení a ohlas.
Přidal jsem tuto možnost do BETA firmware pro SDS MICRO, ze dne 10.10.2012.
Budu rád za vyzkoušení a ohlas.
Super, jsou k tomu nějaké podrobnosti ?? A hned jdu testovat.
L.
adamn napsal:Přidal jsem tuto možnost do BETA firmware pro SDS MICRO, ze dne 10.10.2012.
Budu rád za vyzkoušení a ohlas.Super, jsou k tomu nějaké podrobnosti ?? A hned jdu testovat.
L.
Je PROSÍM nějaká dokumentace k SNMP write, opravdu rád bych začal testovat fw z 10.10. ale nemohu najít k SNMP Write žádné pokdlady.
Díky,
L.
SNMP Write - zápis hodnot do OID položek zařízení SDS. Využívá se funkce SNMP SET.
Pomocí SNMP GET se hodnota přečte, pomocí SNMP SET se zapíše.
Je potřeba splnit následující položky:
1. v administraci SDS povolit zápis do SNMP (webové rozhraní - administrace)
2. znát název SNMP komunity (opět lze nastavit v administraci ve webovém rozhraní)
3. software na vzdálené straně, která bude číst nebo zapisovat do SNMP, musí mít nastavenou správnou komunitu (typicky je to ve všech různých programech na hodnotě "public", ale SDS mají tuto hodnotu jinou - takovou jakou si tam nastavíte)
Vhodné na otestování je software iReasoning (MIB Browser), který je zadarmo.
Postup při použítí tohoto programu:
1. načíst MIB soubor (k dispozici na WiKi) pro konkrétní typ zařízení SDS
2. nastavit komunitu (v menu, trochu obtížněji se to hledá, navíc je potřeba nastavit to dvakrát, jednou pro čtení (SNMP GET), jednou pro zápis)
3. zvolit základní OID, vypsat vše dostupné (SNMP WALK)
4. vybrat položku co má být zapsána (např. RELAY1 CONTROL)
5. zvolit SNMP SET, zapsat novou hodnotu, zmáčknout tlačítko
6. hotovo
Nebo lze použít Mikrotik The Dude, a nebo snmpset v Linuxu, atd. - nakonec lze si napsat i vlastní program, vždyť SNMP SET je je jen o správném vyplnění paketu.
SNMP Write - zápis hodnot do OID položek zařízení SDS. Využívá se funkce SNMP SET.
Pomocí SNMP GET se hodnota přečte, pomocí SNMP SET se zapíše.
Je potřeba splnit následující položky:
1. v administraci SDS povolit zápis do SNMP (webové rozhraní - administrace)
2. znát název SNMP komunity (opět lze nastavit v administraci ve webovém rozhraní)
3. software na vzdálené straně, která bude číst nebo zapisovat do SNMP, musí mít nastavenou správnou komunitu (typicky je to ve všech různých programech na hodnotě "public", ale SDS mají tuto hodnotu jinou - takovou jakou si tam nastavíte)Vhodné na otestování je software iReasoning (MIB Browser), který je zadarmo.
Postup při použítí tohoto programu:
1. načíst MIB soubor (k dispozici na WiKi) pro konkrétní typ zařízení SDS
2. nastavit komunitu (v menu, trochu obtížněji se to hledá, navíc je potřeba nastavit to dvakrát, jednou pro čtení (SNMP GET), jednou pro zápis)
3. zvolit základní OID, vypsat vše dostupné (SNMP WALK)
4. vybrat položku co má být zapsána (např. RELAY1 CONTROL)
5. zvolit SNMP SET, zapsat novou hodnotu, zmáčknout tlačítko
6. hotovoNebo lze použít Mikrotik The Dude, a nebo snmpset v Linuxu, atd. - nakonec lze si napsat i vlastní program, vždyť SNMP SET je je jen o správném vyplnění paketu.
Ano, SNMP write funguje... Sice jsem nenalezl kterek pres snmp zapsat třeba do sys[140] ale rychlost na RS232 již zapíšu:
root@sds:~# snmpwalk -v 1 -c sdsxpublic ip.add.re.sa iso.3.6.1.4.1.33283.1.2.11.2.0
iso.3.6.1.4.1.33283.1.2.11.2.0 = INTEGER: 9600
-puvodni hodnota 9600
root@sds:~# snmpset -v 1 -c sdsxpublic ip.add.re.sa iso.3.6.1.4.1.33283.1.2.11.2.0 i 38400
iso.3.6.1.4.1.33283.1.2.11.2.0 = INTEGER: 38400
Zápis nové hodnoty 38400
root@sds:~# snmpwalk -v 1 -c sdsxpublic ip.add.re.sa iso.3.6.1.4.1.33283.1.2.11.2.0
iso.3.6.1.4.1.33283.1.2.11.2.0 = INTEGER: 38400
Vyčtení zapsané hodnoty 38400
L.
Do sys[140] a dalších zapsat lze, ale je to SNMP tabulka, takže je tam o jedno číslo (index) v OID více.
Plně napoví SNMP WALK (ideálně právě s tím iReasoning browserem), který tu tabulku i textově popíše.
Do sys[140] a dalších zapsat lze, ale je to SNMP tabulka, takže je tam o jedno číslo (index) v OID více.
Plně napoví SNMP WALK (ideálně právě s tím iReasoning browserem), který tu tabulku i textově popíše.
iReasoning browser jsem použil, nějakou tabulku a oid jsem našel, ale nezapsal jsem do ní.. konkrétně do sys[140].
L.
Řeším potřebu zápisu cca 16 teplotních mezí přes SNMP. Poradí někdo do jakých proměnných se dá přes SNMP takovýto počet dat zapsat ?
Díky,
L.
Šly by použít ty sys[140] (a výše) a nějak vhodně to zakódovat (třeba dvě najednou, nebo jiný trik, viz jiné příspěvky na fóru na toto téma (přenos více údajů přes sys[140] a spol.).
Ten zápis ještě prověřím, napíšu tady konkrétní OID, moment...
Šly by použít ty sys[140] (a výše) a nějak vhodně to zakódovat (třeba dvě najednou, nebo jiný trik, viz jiné příspěvky na fóru na toto téma (přenos více údajů přes sys[140] a spol.).
Ten zápis ještě prověřím, napíšu tady konkrétní OID, moment...
OK, když tak hned vyzkouším...
Náhodou zápis přes html ?sys[140]=neco&sys[141]=neco jineho ... atd už je podporováno či nikoli.. ??
Díky,
L.
Zápis přes HTML je podporován. Viz WiKi: http://wiki.merenienergie.cz/index.php/ … le_control
OID pro sys[140] je .1.3.6.1.4.1.33283.1.2.10.1.1.1
OID pro sys[141] je .1.3.6.1.4.1.33283.1.2.10.1.1.2
atd.
je to videt v SNMP walku.
Stejný způsob SNMP tabulky je použit i pro další tabulky (teploty, S0, ...).
Ano, zápis je podporován, ale mě by zajímalo, zda je možno zapsat např. do sys[140] a sys[141] soucasně pomocí
?sys[140]=neco&sys[141]=neco jineho
nebo zda se musí provést
?sys[140]=neco
a následně
?sys[141]=neco jineho
L.
Příklad řešení přenosu více dat pomocí sys[] je např. zde http://forum.merenienergie.cz//viewtopic.php?id=131 a na jiných místech fóra.
Současný FW umožnujě zapsat jedno sys[] jedním HTTP voláním.
Chce to vyzkoušet SNMP, jestli umí jedním paketem zapsat více OID položek, to by pak řešilo daný dotaz elegantně.
Zápis přes HTML je podporován. Viz WiKi: http://wiki.merenienergie.cz/index.php/ … le_control
OID pro sys[140] je .1.3.6.1.4.1.33283.1.2.10.1.1.1
OID pro sys[141] je .1.3.6.1.4.1.33283.1.2.10.1.1.2
atd.
je to videt v SNMP walku.Stejný způsob SNMP tabulky je použit i pro další tabulky (teploty, S0, ...).
Tohle bych řekl, že je celá tabulka pro sys 140-174
root@sds:~# snmpwalk -v 1 -c heslo ip.add.re.sa iso.3.6.1.4.1.33283.1.2.10.1.2
iso.3.6.1.4.1.33283.1.2.10.1.2.1 = INTEGER: 1
iso.3.6.1.4.1.33283.1.2.10.1.2.2 = INTEGER: 2
iso.3.6.1.4.1.33283.1.2.10.1.2.3 = INTEGER: 3
iso.3.6.1.4.1.33283.1.2.10.1.2.4 = INTEGER: 4
iso.3.6.1.4.1.33283.1.2.10.1.2.5 = INTEGER: 5
iso.3.6.1.4.1.33283.1.2.10.1.2.6 = INTEGER: 6
iso.3.6.1.4.1.33283.1.2.10.1.2.7 = INTEGER: 7
iso.3.6.1.4.1.33283.1.2.10.1.2.8 = INTEGER: 8
pro sys 140:
root@sds:~# snmpwalk -v 1 -c heslo ip.add.re.sa iso.3.6.1.4.1.33283.1.2.10.1.2.1
iso.3.6.1.4.1.33283.1.2.10.1.2.1 = INTEGER: 1
root@sds:~# snmpset -v 1 -c heslo ip.add.re.sa iso.3.6.1.4.1.33283.1.2.10.1.2.1 i 100
Error in packet.
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: iso.3.6.1.4.1.33283.1.2.10.1.2.1
Prosím o radu... Fakt nevím, co dělám špatně. Prostě do sys 140 přes SNMP nezapíšu ..
L.
Zkoušel jsem to s BETA firmware (listopad) a funguje to OK.
Posílá se do SDS správná komunita ? Lze to ideálně ověřit záchytem paketu a jeho prohlídkou.
Je v administraci SDS povolen zápis do SNMP ?
Zkoušel jsem to s BETA firmware (listopad) a funguje to OK.
Posílá se do SDS správná komunita ? Lze to ideálně ověřit záchytem paketu a jeho prohlídkou.
Je v administraci SDS povolen zápis do SNMP ?
Ano,
zápis je povolen, comunita je OK, pokud zapisuji rychlost na RS232 tak ji zapíšu.
Ještě otestuji s posledním firmware.
L.
Jěště jedna informace - pozor na správný OID pro sys[140] atd..
Původně jsem tady ve fóru omylem uvedl .1.3.6.1.4.1.33283.1.2.10.1.2.1 ale je to .1.3.6.1.4.1.33283.1.2.10.1.1.1 - přičemž ty .2.1 (nakonci) existují, ale jsou to jen SNMP indexy v tabulce, nikoliv samotné konkrétní položky. V SNMP walku to jde dobře vidět - ty .1.1 až .1.8 mají v sobě hodnoty, kdežto .2.1 až .2.8 jsou pevné indexy od 1 do 8.
To bude asi ta příčina proč to nešlo.
Alespoň že v MIB souboru je to správně.
Zápis do .1.3.6.1.4.1.33283.1.2.10.1.1.1 jsem právě teď vyzkoušel a funguje to ok.
Ještě pozor - sys[140] až 147 jsou uloženy jen v RAM, takže se po resetu SDS vynulují.
Pokud se mají hodnoty udržet, je potřeba v SDS-C programu je zapsat do pevné paměti (dataflash), viz návod na WiKi.
Jěště jedna informace - pozor na správný OID pro sys[140] atd..
Původně jsem tady ve fóru omylem uvedl .1.3.6.1.4.1.33283.1.2.10.1.2.1 ale je to .1.3.6.1.4.1.33283.1.2.10.1.1.1 - přičemž ty .2.1 (nakonci) existují, ale jsou to jen SNMP indexy v tabulce, nikoliv samotné konkrétní položky. V SNMP walku to jde dobře vidět - ty .1.1 až .1.8 mají v sobě hodnoty, kdežto .2.1 až .2.8 jsou pevné indexy od 1 do 8.
To bude asi ta příčina proč to nešlo.
Alespoň že v MIB souboru je to správně.Zápis do .1.3.6.1.4.1.33283.1.2.10.1.1.1 jsem právě teď vyzkoušel a funguje to ok.
Ještě pozor - sys[140] až 147 jsou uloženy jen v RAM, takže se po resetu SDS vynulují.
Pokud se mají hodnoty udržet, je potřeba v SDS-C programu je zapsat do pevné paměti (dataflash), viz návod na WiKi.
Ano, přesně tak, používal jsem chybně uváděné OID ve fóru. Právě jsem to otestoval znovu se správnými OID a funguje to..
root@sds:~# snmpset -v 1 -c heslo ip.ad.re.sa .1.3.6.1.4.1.33283.1.2.10.1.1.1 i 11
iso.3.6.1.4.1.33283.1.2.10.1.1.1 = INTEGER: 11
root@sds:~#
Ohledně uložení hodnot v sys[140] až 147 po restartu - to vůbec nevadí, za běhu programu se vykoná požadovaná funkce podle konkrétní hodnoty pro dané sys a v zápetí se vynuluje..
Je možno zapsat i více hodnot "současně"
root@sds:~# snmpset -v 1 -c heslo ip.ad.re.sa .1.3.6.1.4.1.33283.1.2.10.1.1.1 i 11 .1.3.6.1.4.1.33283.1.2.10.1.1.2 i 22
iso.3.6.1.4.1.33283.1.2.10.1.1.1 = INTEGER: 11
iso.3.6.1.4.1.33283.1.2.10.1.1.2 = INTEGER: 22
root@sds:~#
a v konzoli sds..
Doslo ke zmene z http 1.12.2012 - 15:48:0
sys 140 je : 11
---
Doslo ke zmene z http 1.12.2012 - 15:48:0
sys 141 je: 22
---
Díky,
super práce, takhle můžu pokračovat v projektu dále.
L.
Stránky 1
Chcete-li přispívat, musíte se přihlásit nebo projít procesem registrace.
SDS PLC/PAC: Měření Energie & OnlineTechnology.cz » SDS-C Programy » Zápis do sys[140], sys[141], ... přes SNMP Write