Restarter do routera sterowany za pomocą SMS

Restarter do routera sterowany za pomocą SMS
Pobierz PDF Download icon

Nikogo nie trzeba przekonywać o tym, jak bardzo jesteśmy uzależnieni od Internetu. Nie trzeba też przekonywać, jak irytujące mogą być niespodziewane przerwy w dostępie. Wiele z takich awarii można łatwo usunąć poprzez zrestartowanie routera lub modemu. Oczywiście, o ile mamy do niego łatwy dostęp. Jeśli nie, to idealnym rozwiązaniem będzie prezentowane urządzenie. Może służyć do zdalnego włączania, wyłączania lub restartowania takich urządzeń jak np. routery. Jedyne, co musimy zrobić, to wysłać SMS.

Fotografia 1. Moduł z układem SIM900A

Głównym elementem urządzenia jest płytka Arduino Mega. Wersja "Mega" ma tę ważną cechę, że wyposażono ją w 4 sprzętowe interfejsy szeregowe UART (wersja Uno ma tylko 1).

Pierwszy interfejs zarezerwowano dla komunikacji poprzez USB, dzięki czemu jest możliwe śledzenie pracy układu oraz programowanie płytki Arduino. Drugi UART służy do komunikacji z modułem GSM, pozostałe są nieużywane.

Do płytki Arduino dołączono moduły rozszerzające AVT1633 oraz AVT1615 udostępniające szereg złączy śrubowych na wyprowadzeniach Arduino oraz nieskomplikowany interfejs użytkownika w postaci wyświetlacza 2×16 i 4 przycisków.

Drugim ważnym elementem urządzenia jest moduł GSM. Na płytce znajduje się układ SIM900A oraz peryferia niezbędne do jego prawidłowej pracy. Należy tylko dołączyć zasilanie oraz interfejs szeregowy UART, jak pokazano na fotografii 1.

Pozostałe elementy urządzenia to regulowany stabilizator napięcia AVT1066 z dodatkowym zasilaczem 12 V oraz moduł wykonawczy z przekaźnikiem AVT1656 z mała modyfikacją - wykorzystuje styki NO przekaźnika a nie NC, dzięki czemu sterowany obwód jest załączony nawet gdy urządzenie nie działa.

SIM900 a SIM900A

Rysunek 2. Schemat ideowy połączeń

W zastosowanym module GSM zamontowany jest układ SIM900A - jedna z wersji popularnego układu SIM900. Różnica pozornie niewielka, ale można stracić wiele godzin, próbując zmusić wersję z literka "A" do zalogowania się do naszych sieci GSM. Jest to wersja przygotowana na rynek azjatycki i przystosowana do tamtejszych sieci. Aby układ działał z sieciami europejskich operatorów, należy zmienić oprogramowanie układu, tzw. firmware.

Do przeprowadzenia tej operacji potrzebne będą: aplikacja do zmiany firmware'u układu SIM900, plik firmware'u, konwerter USB-UART np. AVTMOD09 oraz źródło zasilania dla modułu. Aplikację można pobrać ze strony http://goo.gl/JaG5iZ.

Zbiór różnych wersji firmware do układów SIM900 znajduje się na tej stronie http://goo.gl/0nMQEZ. Należy wybrać najnowszą wersję dla układu SIM900 (bez żadnej literki na końcu), na tę chwilę jest to: 137B15SIM900M64_ST.

Po pierwsze należy połączyć konwerter do komputera i sprawdzić, który port COM został mu przydzielony. Następnie należy połączyć konwerter z modułem (RX, TX oraz GND zgodnie z oznaczeniami) oraz przygotować źródło zasilania, jak na rysunku 2.

W tym przypadku jest to regulowany stabilizator AVT1066 z ustawionym napięciem na wyjściu 5,0 V. Na razie nie należy dołączać zasilania do modułu. W drugim etapie należy uruchomić pobraną aplikację Simcom - sim900 Customer flash loader V1.01.exe.

Zostanie wyświetlone okno, jak na rysunku 3. Należy wskazać plik firmware z rozszerzeniem .cla, wskazać port COM konwertera USB-UART i kliknąć przycisk START. Teraz należy dołączyć zasilanie modułu, rozpocznie się wtedy aktualizacja, może potrwać kilka-kilkanaście minut. Po zakończeniu należy odłączyć na chwilę zasilanie modułu i gotowe.

Zasilanie SIM900

Rysunek 3. Aplikacja do zmiany fi rmware układu SIM900

Bardzo ważnym czynnikiem, który wpływa na poprawną pracę modułu jest jego zasilanie. Sam układ SIM900 wymaga zasilania napięciem z przedziału 3,4...4,5 V, na płytce modułu dodatnia linia zasilania poprowadzona jest poprzez diodę prostowniczą na której następuje spadek napięcia ok 0,7 V, zatem moduł można bezpiecznie zasilać napięciem 5 V.

Moduł w stanie czuwania pobiera niewielki prąd, kilkanaście...kilkadziesiąt mA ale w trakcie komunikacji z siecią GSM może pobierać chwilowo nawet 2...3 A. Dlatego nie ma sensu zasilanie modułu ze złącza USB czy z płytki ARDUINO, czy nawet z ładowarki USB.

Musi być zasilacz o napięciu 5 V i wydajności ok 1,5 A a dodatkowo, blisko modułu, na szynach zasilania musi być zamontowany kondensator typu LOW ESR (do pracy impulsowej) o pojemności min 1500 µF.

Prezentowane urządzenie było zasilanie zasilaczem 12 V/1,5 A z dołączonym regulowanym stabilizatorem AVT1066 z ustawionym nap na wyjściu 5,0 V i dodatkowym kondensatorem 1500 µF/6,3 V low esr.

Komunikacja z SIM900

Komunikacja z modułem odbywa się poprzez dwu-przewodowy interfejs UART (RX i TX). Domyślne ustawienia komunikacji to: 19200, 8, n, 1. Za pomocą konwertera USB-UART i programu typu terminal można w sterować modułem GSM. Sterowanie odbywa się komendami AT.

Aby przetestować komunikację można wysłać komendę AT<CR> (symbol <CR> oznacza znak końca linii, zwykle odpowiada mu przyciśnięcie klawisza Enter). Moduł w odpowiedzi wyśle <CR><LF>OK<CR><LF>. Symbol <LF> oznacza początek nowej linii).

Listing 1. Inicjacjowanie zasobów sprzętowych

Listing 2. Konfigurowanie modułu GSM

Listing 3. Sprawdzanie poziomu sygnału i odczyt wiadomości tekstowej z pozycji 1

Treść odpowiedzi modułu zwykle ma właśnie taką strukturę: <CR><LF>odpowiedź modułu<CR><LF>. W dalszej części artykułu, dla lepszej czytelności pomijane będą <CR> i <LF>. Inną pomocną komendą jest AT+GSV w odpowiedzi moduł wyśle informacje o typie zastosowanego układu SIM900 oraz o wersji firmware.

Po zainstalowaniu karty sim, można sprawdzić czy moduł zalogował się do sieci GSM. Uwaga - kartę SIM należy instalować tylko przy wyłączonym zasilaniu modułu. Ponadto, karta musi być aktywna (aktywowana wcześniej w telefonie) i dla ułatwienia powinna mieć wyłączone żądanie kodu PIN. Najpierw należy wysłać komendę A T + C R E G = 1 , a następnie, gdy po wysłaniu AT+- CREG=? otrzymamy odpowiedź +CREG= 1,1 to znaczy, że moduł jest zalogowany.

Działanie programu

Program wykonano za pomocą środowiska Arduino. Pierwsze zadania, które wykonuje, to inicjowanie zasobów sprzętowych - ustawienie kierunku wyprowadzeń, rozruch wyświetlacza, uruchomienie portów szeregowych i na koniec wyświetlenie komunikatu Hello (listing 1).

Następny etap polega na skonfigurowaniu modułu GSM, a gdy moduł zaloguje się do sieci, to z kary sim odczytywana zostaje nazwa operatora i wyświetlona na wyświetlaczu (listing 2). Potem program w pętli sprawdza na zmianę dwie rzeczy: poziom sygnału GSM czyli tzw. zasięg, który również jest prezentowany na wyświetlaczu oraz próbuje odczytać SMS (listing 3).

Listing 4. Sprawdzanie komend zawartych w wiadomości tekstowej

Listing 5. Wysyłanie wiadomości potwierdzającej

Wiadomości tekstowe zapisywane są w pamięci kary sim, pod na pierwszej wolnej pozycji. Program zawsze odczytuje wiadomość na pozycji 1, jeśli zawiera jakąś treść to sprawdza i ewentualnie wykonuje komendy a na koniec kasuje tę wiadomość. W ten sposób kolejna wiadomość zostanie zapisana na tej pozycji (listing 4).

Urządzenie akceptuje 3 komendy (smsy o takich treściach): Out off - powoduje wyłączenie wyjścia, Out on - powoduje załączenie wyjścia oraz Out res - powoduje rozłączenie wyjścia na ok 2 s a następnie automatyczne załączenie, czyli restart odbiornika dołączonego poprzez moduł wykonawczy. Jeżeli SMS zawiera poprawną komendę to urządzenie wykonuje zadanie a następnie wysyła potwierdzenie - smsa o treści OK, pod numer nadawcy (listing 5).

Pełne źródło programu jest dostępne w materiałach dodatkowych do projektu.

KS

ZOBACZ WIDEO DO TEGO PROJEKTU
AVT1615 - AVTduino LCD - wyświetlacz LCD kompatybilny z ARDUINO
Play btn
AVT1615 - AVTduino LCD - wyświetlacz LCD kompatybilny z ARDUINO
Artykuł ukazał się w
Elektronika Praktyczna
czerwiec 2016
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
KIT do tego projektu
AVTduino LCD - wyświetlacz dla Arduino, AVT1615
AVTduino LCD - wyświetlacz dla Arduino, AVT1615
Kolejny ‘klocek’ do zdobywającego popularność systemu Arduino. Uniwersalny moduł z peryferiami do platformy Arduino. Proponowana płytka zawiera...
Zobacz w sklepie
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich grudzień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów