Arduino UNO - PINGÁTOR

Vytisknout
ELEKTRONIKA
Zobrazení: 9722

Protože mám na chalupě LTE router se SIM kartou a občas se stává, že se router sekne a tím pádem se nemohu připojit k zalévači trávníku atd... jsem si postavil "resetátor" napájení routeru. Zařízení pracuje následovně: po připojení desky (ATmega 328) k napájení blikají obě LED diody v pouzdru RGB diody (zelená a červená) po dobu 5 minut. Tímto krokem čekáme na první naběhnutí routeru do sítě. Po 5 minutách se inicializuje kontroler ENC28J60, který plní funkci ethernetového připojení k Internetu (Arduino tedy ATmega 328 neumí být připojen rovnou k RJ45 - nemá síťové rozhraní). Pokud není k dispozici DHCP server (přidělování IP adresy), nebo DNS server (překlad názvů na IP adresu) zůstane svítit (jednou za čas rychle bliká) červená LED (signalizuje chybu DHCP, nebo DNS) po cca 3 minutách dojde k vypnutí a opětovnému zapnutí napájení routeru (tím se zajistí případné zamrznutí připojení k Internetu). Vypnutí routeru trvá 5 vteřin a je signalizováno červenou LED (rychlé blikání 100ms ON/ 100ms OFF). Pokud pingátor dostane od DHCP IP adresu (po zapnutí napájeno a odpočítání 5 minut se čeká na DHCP! pingátor musí dostat IP adresu - tento krok se neustále opakuje dokud nedostane adresu) položí dotaz na DNS server www.seznam.cz (aktuálně IP 77.75.76.3), stáhne si z NTP serveru tik.cesnet.cz (195.113.144.201) síťový čas a datum. Každou minutu je proveden ping na server www.seznam.cz a čeká se na odezvu. Pokud neproběhne ping do 3 minut (tedy 3x pokus o ping) dojde opět k resetu napájení LTE routeru. V případě úspěšného pingu svítí zelená LED dioda (v případě výpadku pingu svítí oranžová barva). Na webovém rozhraní je vidět aktuální NTP čas a datum, čas úspěšného pingu a čas posledního vypnutí napájení routeru. Tato konstrukce obsahuje HW Watchdog 4 sec (interně v CPU ATmega 328), tedy pokud zamrzne program pingátoru dojde za 4 vteřiny k restartu.

ZDARMA

DONATE

Změny v novém FW: 23.6.2016

Pohled na web FW:23.6.2016

fw23062016

Pohled na sériovou linku

fw23062016 serial

Schéma zapojení - verze s relé

 schema

Foto - pohled na bastl
(s převodníkem USB - serial RX,TX a relé)

DSC 0022

DSC 0023

Video - pohled na prototyp verze s relé
(po uplynutí 5 minut - boot routeru se čeká na IP adresu ve smyčce - rudá LED, po zapojení UTP během 2 vteřin načte IP, NTP a provede ping - zelená LED)


IMG 20151024 103122

IMG 20151024 103127

Pohled na webové rozhraní pingátoru (SW 19.10.2015)

1

111

Zařízení v reálném provozu 50 dnů (je vidět, že router byl restarován 17x)

pingatorimg

Pohled na sériovou linku (starší verze - kratší čas čekání 30 sec místo 5 minut)

2

Schéma zapojení pingátoru

schema pingatoru

deska plošného spoje

deska1

deska2

deska spoje

Zakoupená hotová deska rozhraní ENC28J60 (za ty peníze se nevyplatí si destičku stavět....)

http://www.santy.cz/moduly-c22/ethernet-arduino-mega-uno-2560-1280-328-hr911105a-online-sd-enc28j60-mini-i146/

cca 188,- Kč

ENC28J60

ENC28J60 sch

enc

Foto první verze Pingátoru - měření teploty DS18B20 je dodělané
(navržená deska již DS18B20 obsahuje)

IMG 20150925 132450

IMG 20150925 132456

IMG 20150925 132501

Knihovna EtherCard: https://github.com/jcw/ethercard

Výchozí verze firmware: 19.10.2015 (měří chybně teplotu a nezobrazuje "0" v datech. Př: 16:1:2 místo 16:01:02)

Opravená verze pingátoru 28.12.2015

pingatorimg 28.12.15

Verze firmware: 28.12.2015

Opraveno měření teploty, opraveno zobrazování hodnot (provoz, datum, čas, ping ok), přidáno získání DNS google a seznam pro ping (nejprve se zkusí adresa google, potom seznam, potom ručně IP seznamu) tedy v případě že nejde překlad IP z DNS na seznam použije se IP google, když selže obojí nastaví se IP napevno seznamu 77.75.79.39, Přidána synchronizace času a datumu z NTP každých 24 hodin.

Arduino
ATMEGA328