Przedstawiam prosty, tani i szybki sposób na skonstruowanie niewielkiego urządzenia, którego działanie można kontrolować za pośrednictwem popularnego komunikatora GG (Gadu Gadu).
Ten wpis ma być jedynie przedstawieniem jednego z możłiwych rozwiązań na tego typu urządzenia. Moduły z których zbudowano urządzenie to:
- minimoduł z uC ATmega328P,
- karta sieciowa ENC28J60 ze stabilizatorem 3,3V,
- moduł przekaźnikowy 5V.
Całość zasilana jest z zewnętrznego zasilacza stabilizowanego o napięciu wyjściowym 5V. Dzięki konstrukcji wykorzystującej tylko gotowe moduły, możemy bardzo szybko zmontować większą ilość takich urządzeń.
Za prawie symboliczną kwotę otrzymujemy urządzenie o całkiem sporych możliwościach. Jedną z nich jest klient protokołu GG. Tym samym urządzenie po podłączeniu do sieci Ethernet z dostępem do Internetu łączy się do serwera GG. Za pomocą wysyłanych komunikatów z dowolnego komunikatora możemy sterować naszym urządzeniem. Moja wersja powstała w celu resetowania komputera lub innego zawieszonego urządzenia. Wysyłając odpowiedni komunikat do określonego użytkownika GG urządzenie wysteruje przekaźnik na określony czas (w moim przypadku 0,5 sekundy) i zwróci komunikat o powodzeniu wykonania zadania.
Zaletą stosowania protokołu GG jest brak potrzeby konfigurowania przekierowań na routerze w sieci i brak potrzeby stałego adresu IP (ew. usługi dynamicznego DNS).
Zastosowań tego typu urządzeń może być naprawdę sporo - można np. zrobić sprzętowego Watchdoga - gdy dane urządzenie w sieci nie odpowiada na zapytania PING (czyli jest np. zawieszone), to układ może nam go zresetować itp.
Oprogramowanie powstało na bazie projektu megaethernet z sieci. W zasadzie główną czynnością było dostosowanie kodu do wymagań nowych kompilatorów, przeportowanie go do innego mikrokontrolera oraz niewielkie zmiany w kodzie. Ponieważ nie jestem bezpośrednim autorem oprogramowania a jedynie jego niewielkiej modyfikacji nie załączam tutaj kodu źrodłowego. W przypadku jeśli jesteś zainteresowany moją wersją oprogramowania do GG restartera proszę o wysłanie wiadomości na mojego e-maila - prześlę stosowne informacje :)