WDT2MT - resetátor pro RouterBoard ( MikroTik )
|
|
Uvedené zařízení slouží k monitorování ethernetových zařízení a RouterBoardů prostřednictvím sledování sériové komunikace a na základě této funkce umožňuje provést restart nebo krátkodobé vypnutí monitorovaného zařízení.
|
Jelikož má většina Mikrotiků ( MK ) již integrovaný a celkem propracovaný watchdog, pokládal jsem za neúčelové a zbytečné navrhovat další resetátor, který by jej měl hlídat.
Jak se ale ukázalo časem, některé desky, zejména RB150 občas zatuhnou ( někdy pomůže výměna elektrolytů na desce - ale zřídkakdy ). Když pak vytuhne deska, není externí resetátor k zahození, neboť jinak nezbývá než vylézt na střechu a RB na několik vteřin vypnout.
Hlídá-li jej však dále popisovaný resetátor, místo toho, abychom "lezli po střechách" a prodírali se do těžko přístupnými a odlehlými místy, kde máme RB nainstalovány, můžeme se v klidu věnovat třeba luštění sudoku.
Restart by samozřejmě zvládl i nějaký GSM resetátor, ale jsou to nepoměrně dražší zařízení, nehledě na potřebnou údržbu, výměnu baterií ( v horku i na mraze rychleji stárnou ) a občas se také "zakousnou". Pokud tedy má mít hlídací zařízení smysl, pak jedině bezúdržbové a takové, které se v principu nikdy nemůže zaseknout.
|
Srdcem řídící desky resetátoru je mikroprocesor, který umožňuje implementovat daleko více funkcí, například měření vnitřní i venkovní teploty, spínání ventilace při překročení nastavených podmínek a pod.
Protože se stále více lidí zajímá o to, jaká je kde teplota a bylo by rovněž zajímavé ji sledovat na více různých místech, částech města či v okolních vesnicích, byla do resetátoru tato funkce doplněna.
Označení plné verze s měřením teploty je WDT2MTEP.
|
Základní verze - standartní watchdog bez měření teploty a bez teplotního čidla má označení WDT2MT. Deska není rovněž osazena Re2 a součástkami nezbytnými pro měření teploty.
|
|
Standartní parametry sériové komunikace - 4800bps, 8bitů bez parity, 1 stop bit. Zařízení je tedy určeno pro MikroTiky a routery s minimálně jedním RS232 portem.
Fyzicky je watchdog uzpůsoben k napájení routerů prostřednictvím standartní kabeláže Cat5, tedy přes běžný čtyřpárový UTP kabel ( využívá pro datovou komunikaci nepotřebný pár 4-5 a 7-8 ) a zapojuje se mezi napájecí adaptér a příslušný router.
Koncepce vychází z myšlenky IEEE802.3af - PoE ( Power Over Ethernet ), tj. napájení koncových zařízení po datovém kabelu.
Po zapnutí napájení ( po výpadku ) watchdog se zpožděním 20 vteřin zapne router ( koncové zařízení ) přivedením napětí na UTP kabel a dále čeká na příkazy monitorováním sériové linky RS232.
Pokud do nastaveného timeoutu neobdrží od koncového zařízení příslušný příkaz, restartuje jej krátkodobým odpojením napájení.
|
WDT2MTEP - měření teploty se zobrazením na webu
|
Resetátor WDT2MTEP mimo základní funkce watchdogu umožňuje jednoduše měřit teplotu v rozsahu -50 až 125°C s použitím levných digitálních čidel Dallas DS18B20.
Funkci watchdogu lze sw vypnout a WDT2MTEP pak pracuje jen jako měřič teploty. Připojit lze až 2 čidla, standartně dodáváme s jedním čidlem na 2m kabílku a na základě objednávky lze délku kabílku upravit.
Zařízení dále umožnuje při překročení teploty vypnout RB nebo naopak zapnout ventilaci - na desce je pro tyto účely k dispozici další relé Re2 pro spínání až 10A při 230V AC.
Více informací níže v tabulce č.2 - sada příkazů pro měření teploty a nastavení programovatelného relé Re2.
|
|
|
Základní technické parametry WDT2MT
|
- watchdog obsahuje 2 zásuvky RJ45 a jeden datový konektor RS232 pro spojení s RB
- levá boční zásuvka RJ45 je vstupní zásuvkou od PoE adaptéru a je vybavena dvěma indikačními led žluté a zelené barvy. Žlutá LD1 svitem indikuje přítomné napětí z adaptéru, zelená LD2 svítí při sepnutém výstupu, tj. až watchdog zapne napájení pro RB
- rozsah vstupního napětí od 8 do 24V DC
- výstupní relé umožňuje spínat až 2A, resp. pro zdroje do 24V /50W
- na pravé boční RJ45 zásuvce ( bez indikačních led ) je přítomné napájecí napětí pokud svítí zelená led LD2
- žlutá led LD3 na vrchní straně je stavová indikace watchdogu. Po zapnutí a každém restartu bliká vteřinovým rytmem až do přijetí prvního řetězce wdtXXXXs, dále krátkým svitem indikuje přijetí řetězců wdtXXXXs a dvojitým bliknutím ostatní příkazy ( wdtporYYYYs, wdtlevelXXXXms, wbreaks, @RESET=XXXXs a PINxxxx&s )
- Obsazení pinů RJ45: 1-2 Ethernet pár TX, 3-6 Ethernet pár RX, 4-5 +DC Power, 7-8 GND v souladu se standartem MDI ( odpovídá pozicí na PoE adaptéru i RouterBoardu )
- jednoduché propojení UTP kabelem dle vžitého standartu T568
|
|
|
Nastavení RB pro komunikaci s WDT2MT
|
Než fyzicky propojíme RB s watchdogem WDT2MT, je zapotřebí vypnout systémovou konzoli na sériovém portu.
Tím povolíme užívání sériového portu pro naše účely. Dále je nutné nastavit potřebné parametry přenosu, neboť default nastavení je 115200bps, což je pro nás nepoužitelné.
Celý postup je zde:
|
/system console disable 0
/port set serial0 baud-rate=4800 data-bits=8 parity=none stop-bits=1
|
|
A pak již stačí do Vašeho skriptu přidat následující příkaz:
|
/interface ppp-client add name="scriptwdt" port=serial0 modem-init="wdt120s" null-modem=yes disabled=no
|
|
Kompletní script "initwatchdog", který je spuštěn ze sheduleru po bootu systému (startup):
|
# inicializace watchdogu.
# watchdog zacne hlidat 1200s = 20min po zapnuti
# seriovy port musi byt nastaven na 4800bps, 8-bit, no-parity, flow-control none
# console nesmi byt smerovana na seriovy port - nutno vypnout
/system console remove [/system console find port="serial0"]
:delay 1
/interface ppp-client add name="initwatchdog" port=serial0 modem-init="wdtpor1800s" null-modem=yes disabled=no
:delay 1
/interface ppp-client remove [/interface ppp-client find name="initwatchdog"]
:delay 1
/system console remove [/system console find]
:delay 1
/tool e-mail send subject="reboot" to "sysrb@selfcontrol.cz"
|
|
A druhý script, "watch", který je spouštěn ze scheduleru každou minutu:
|
/system console remove [/system console find port="serial0"]
:delay 1
/interface ppp-client add name="watch" port=serial0 modem-init="wdt300s" null-modem=yes disabled=no
:delay 1
/interface ppp-client remove [/interface ppp-client find name="watch"]
:delay 1
/system console remove [/system console find]
|
|
Oboje platí pro verzi mikrotiku 3.x ( nechodí na 2.9x ).
|
Jednoduchý skript pro Linux.
|
Originální popis a nastavení sériových portů pro MiktoTiky zde ...
|
Tab.1 - seznam základních příkazů wd
|
wdtXXXXs
|
Nový timeout, kde XXXX je čas v sekundách (rozsah 1 až 9999s).
Příkaz je zapotřebí odesílat pravidelně v intervalu 10x kratším, než je čas XXXX, jinak watchdog router restartuje, relé rozepne na dobu nastavenou příkazem wdtlevelXXXXms
|
wdtporYYYYs
|
první timeout po zapnutí nebo každém restartu, YYYY v rozsahu 1 až 9999 sekund. Nová hodnoty YYYY je bezprostředně po přijetí příkazu uložena do Flash.
Pokud budete nastavení měnit, je nutné zvolit dostatečnou rezervu, aby stihl router nabootovat a spustit OS včetně skriptu odesílajícího nové timeouty (wdtXXXXs). Od nás nastaveno na 900 vteřin (wdtpor900s).
|
wdtlevelXXXXs
|
nastavení šířky vypínacího pulsu, rozsah 100 až 9900ms ( default wdtlevel9900ms ), nová hodnota uložena do Flash
|
wbreaks
|
zastaví časování timeoutu. Nastavení (Disable Timeout) uloženo do Flash. Opětovné spuštění timeoutu z nové hodnoty XXXX lze provést jen příkazem wdtXXXXs, pak bude časování opět povoleno (Enable Timeout uloženo do Flash).
|
@RESET=YYYYs
|
vypne relé za YYYY vteřin po přijetí příkazu, doba vypnutí relé odpovídá wdtlevelXXXXms, rozsah YYYY od 1 do 9999 vteřin.
Neukládá nic do Flash. Po tomto příkazu nelze odpočet nijak zastavit ani prodloužit příkazem wdtXXXXs - restart je nevyhnutelný.
|
pinXXXXX&s
|
nastavení číselného hesla - pinu, maximálně 10 znaků, minimálně 1 znak
|
|
Práce s heslem
|
Pro zajištění vyšší bezpečnosti je watchdog vybaven přístupovým heslem, které můžeme, ale nemusíme využívat.
Příklad: Odešleme-li do watchdogu příkaz pin1234567&s, nastavíme přístupové heslo 1234567.
Nyní je nutné před každým příkazem uvádět nastavené heslo v tomto tvaru:
pin1234567&wdtXXXXs
pin1234567&wdtporYYYYs
pin1234567&wdtlevelXXXXs
pin1234567&wbreaks
pin1234567&@RESET=XXXXs
|
! Nebude-li heslo platné, watchdog nebude příkaz akceptovat !
|
Změnu hesla provedeme takto: pin1234567&pinXXXXX&s
- provede nastavení nového hesla XXXXX
Obecně: pin staré heslo &pin nové heslo &s
|
Deaktivace hesla: pinXXXXX&pin&s ... kde XXXX je původní heslo
bezprostředně po tomto příkazu bude heslo odstraněno z Flash a příkazy pak lze zadávat ve zkráceném tvaru - viz tab.1
Přirozeně budou akceptovány i příkazy s prefixem pinXXXXXXXX&, neboť při neaktivovaném hesle bude celý prefix ignorován.
|
Příkazy ukládájící nastavení do Flash
|
wdtXXXXs ( nastaví jen povolovací bit časování timeoutu, příkaz wbreaks naopak bit nuluje)
wdtporYYYYs, wdtlevelXXXXs, wbreaks, pinXXXXX&s
|
Potvrzení přijetí příkazů watchdogem
|
wdtXXXXs ... žlutá led 1x dlouze blikne
@RESET=XXXXs ... relé za XXXX vteřin vypne - zelená led LD2 zhasne na dobu určenou časem z wdtlevelXXXXms.
ostatní příkazy ... žlutá led 2x blikne (probíhá ukládání do Flash, po tuto dobu nepřijímá watchdog další příkazy)
|
WDT2MTEP - měření teploty se zobrazením na webu
|
Tab.2 - seznam příkazů pro měření teploty ( jen pro WDT2MTEP )
|
?1Status
|
Po přijetí příkazu vrátí zpět teplotu čidla 1 v řetězci TEMP.
Lze nastavit tvar a typ řetězce TEMP příkazem FormatTEMP=Xs, např. t1=-7.2C (teplota -7.2°C)
Pokud dané čidlo není osazeno, pak vrátí t1=Err(1)
Pokud je zkrat na čidle vrací t1=Err(2)
|
?2Status
|
Po přijetí příkazu vrátí zpět teplotu čidla 2 v řetězci TEMP.
Lze nastavit tvar a typ řetězce TEMP, např. t2=-7.2C (teplota -7.2°C)
Pokud dané čidlo není osazeno, pak vrací t2=Err(1).
Pokud je zkrat na čidle vrací t2=Err(2)
|
?Status
|
Zkrácený zápis příkazu ?1Status
|
AutoTEMP=XXXXs
|
Nastavení intervalu pro automatického měření teploty. Každých XXXX vteřin odešle změřenou teplotu (řetězec TEMP) do RB nebo PC. Nastavení je uloženo do EEPROM.
Pokud je odeslán příkaz AutoTEMP=0s, automatické odesílání je vypnuté - teplotu lze zjistit jen příkazy ?Status
|
SetTEMP=Xs
|
parametr X určuje, kterou teplotu odesílat při automatickém měření, t.j. zda jen čidlo 1, čidlo 2 nebo obojí.
X=0 , odešle: t1=11.3C
X=1 , odešle: t2=17.5C
X=2 , odešle: t1=11.3C,t2=17.5C
|
FormatTEMP=Xs
|
nastavení formátu řetězce TEMP pro příkazy ?1Status ,?2Status a AutoTEMP=Xs.
X=1 ... bude vracet tvar t1=ttt.tC , resp. t2=ttt.tC
X=2 ... formát slučitelný s teploměrem TM-RS232, t.j. vrací
+045.3C
znaménko___3 znaky celé °C___desetinná tečka___1 znak - desetiny °C___C___Enter
V případě X=2 nelze nastavit SetTEMP=2s, t.j. odesílání 2 teplot současně a pokud bude dříve nastaveno SetTEMP=2s, bude odesílat teplotu čidla 1 - t.j. jakoby bylo nastaveno SetTEMP=0s
|
AlarmTEMP=ttt.tC,X,Ys
|
Příkaz je určený pro ovládání relé Re2 na základě teploty
ttt.t je teplota ve stupních ( např. 96.5 , 107.9 , 56 nebo -11.3 , nemusí být uvedeny desetiny )
X ... čidlo, které je určené pro měření (X=1 nebo X=2)
Y ... akce teplotního regulátoru
(Y=0 - funkce vypnuta - nebude spínat Re2
Y=1 - sepne Re2 při překročení t > ttt.t ,
Y=2 - Re2 sepne při t < ttt.t )
|
HystTEMP=t.tCs
|
Nastavení hystereze teplotního regulátoru
t.t ... v rozsahu 0.1°C až 9.9°C , nastavení default 1.0°C
Příklad pro HystTEMP=1CsY ... hystereze 1°C
- pro parametr Y z příkazu AlarmTEMP platí:
Y=1 - Re2 sepne při překročení t > ttt.t a vypne až při t < ttt.t - 1°C ,
Y=2 - Re2 sepne při t < ttt.t a vypne až při t > ttt.t + 1°C )
|
rele2=Xs
|
přímé ovládání relé Re2 ( X=0 ... relé Re2 vypne, X=1 ... Re sepne )
|
|
Ceník watchdogů WDT2MT, WDT2POE a ostatního sortimentu zde
|
|
Ostatní typy watchdogů zde.
|
|