wersja mobilna | kontakt z nami

Restarter do routera sterowany za pomocą SMS

Numer: Czerwiec/2016

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.

Pobierz PDFMateriały dodatkowe

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

Pozostałe artykuły

Budowa projektora DLP z użyciem Raspberry Pi 3 oraz modułu TI LightCrafter Display 2000

Numer: Wrzesień/2018

Już od dobrych kilkunastu lat na rynku komponentów elektronicznych mamy do czynienia z rewolucją w obszarze układów mikroelektromechanicznych (MEMS). Układy te, jeszcze kilka lat temu znane wyłącznie z zastosowań w mikrofonach i czujnikach ciśnienia, dziś są niemal nieodłącznym elementem większości urządzeń mobilnych. Badania prowadzone nad układami MEMS (pod kątem ich miniaturyzacji, nowych obszarów zastosowań i obniżenia kosztów ...

Arduino z RFID

Numer: Wrzesień/2018

Znaczniki RFID to bardzo wygodna technologia do zbliżeniowego sterowania urządzeniami elektronicznymi. Świetnie sprawdzają się w systemach kontroli dostępu, ale mogą mieć i inne zastosowania. Korzystając z gotowych modułów, można ją z łatwością zaimplementować przy użyciu Arduino. W artykule opisano łatwy do wykonanie projekt, który demonstruje, jak połączyć ze sobą Arduino, moduł RFID i miniaturowy wyświetlacz OLED.

Wskaźnik zanieczyszczenia powietrza

Numer: Sierpień/2018

W ostatnim czasie tematyka czystości powietrza nabrała dużego znaczenia. Przyczyną tego był smog, którego doświadczyli mieszkańcy wielu miast. Jednak zanieczyszczenie powietrza to nie tylko smog. Branża elektroniczna wymaga pod tym względem szczególnej uwagi. Hale produkcyjne, stanowiska montażowe, stosowane tam narzędzia oraz chemia powodują powstawanie dymu, oparów i pyłu, które mogą być szkodliwe dla zdrowia. Prezentowane urządzenie ...

Serwer WWW z elementami grafiki 3D (2)

Numer: Sierpień/2018

W drugiej części artykułu kontynuujemy tematykę praktycznego użycia pakietów Node.js oraz Three.js w urządzeniach wbudowanych pracujących pod kontrolą system operacyjnego Linux. Dotychczas zostały omówione zagadnienia instalacji frameworku Node.js, przygotowania prostego serwera WWW z podziałem na funkcje front-end/back-end, komunikacji z wykorzystaniem socket.io, a także tworzenia i odczytu danych z procesów potomnych. W artykule, na ...

Serwer WWW z elementami grafiki 3D (1). Praktyczne wykorzystanie pakietów Node.js oraz Three.js w systemach wbudowanych

Numer: Lipiec/2018

Jedną z niewątpliwych zalet wykorzystania systemu operacyjnego Linux w procesie projektowania urządzeń wbudowanych jest szybki i łatwy dostęp do otwartych, darmowych i wolnych (w sensie wolności) repozytoriów oprogramowania implementujących m.in. rozbudowane stosy graficzne, protokoły sieciowe czy złożone algorytmy obliczeń. Fakt ten odgrywa szczególnie ważną rolę, kiedy zadanie stawiane przed naszym urządzeniem może zostać chociaż ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Luty 2019

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym