wersja mobilna | kontakt z nami

Sterownik z modułem komunikacyjnym GSM

Numer: Sierpień/2016

Nieskomplikowane w obsłudze urządzenie, którym można sterować wysyłając wiadomości SMS. Do dyspozycji są dwa wyjścia z możliwością załączenia czasowego oraz dwa wejścia z funkcją alarmu. Rekomendacje: urządzenie może być szczególnie przydatne w okresie wakacyjnym. Umożliwi symulowanie obecności domowników oraz może powiadamiać np. o wejściu do mieszkania.

Pobierz PDFMateriały dodatkowe

tabela 1Sterownik reaguje na komendy w postaci wiadomości SMS – ich wykaz umieszczono w tabeli 1. Ogólna postać komendy jest następująca:

„Polecenie1 wartość1 akcja1. Polecenie2 wartość2 akcja2”.

Ogólne zasady dla tworzenia komend:

− Każde polecenie musi zaczynać się od dużej litery.
− Wartość zwykle dotyczy sterowanego kanału i wtedy może przyjąć 1 lub 2.
− Elementy komendy muszą być oddzielone spacjami.
− Komendy muszą być zakończone kropkami (tylko ostatnia komenda w danej wiadomości nie musi być zakończona kropką).
− Niektóre komendy mogą nie zawierać wartości lub akcji.
− Komendy i akcje mają kilka równoważnych treści np. Out == Wyj.
− W jednej wiadomości sms może być umieszczonych kilka komend.
− Maksymalna długość wiadomości to 128 znaków.

Ważna uwaga – cudzysłowie używane w artykule nie należy do treści komendy. Użyto ich jedynie do ograniczenia zakresu przykładowych komend.

Przykładowe komendy:

− „Out 1 on. Time 15.” – załącza wyjście pierwsze i ustawia wyłączenie po 15 sekundach. Jeśli po poleceniu „Time” i wartości czasu nie zostanie wstawiona żadna akcja („on” lub „off”), to urządzenie przyjmuje, że tym stanem będzie stan przeciwny do aktualnego, czyli przeciwny do stanu z chwili odebrania komendy. W przedstawionym przykładzie wyjście najpierw zostaje załączone, więc wymuszany jest jego stan. Aby ustawić funkcję czasowego wyłączenia bez zmiany aktualnego stanu wyjścia, należy wysłać komendę podobną do takiej: „Out 1. Time 15 off.”. Wartość czasu domyślnie liczona jest w sekundach. Dla lepszej czytelności dopuszczalne jest umieszczenie litery „s” tuż po wartości czasu (bez spacji) np. „Time 100s”. Parametr czasu liczonego w sekundach może mieć wartość z zakresu 1…9999. Urządzenie pozwala na wprowadzenie czasu liczonego w minutach poprzez umieszczenie litery „m” zamiast „s”. Wtedy zakres wartości zostaje ograniczony do 999. Analogicznie, można podać czas liczony w godzinach. Wtedy należy umieścić literę „g” lub „h” za wartością liczbową, a zakres zostaje ograniczony do 12, np. „Out 1. Time 1h off.”. Aby wyłączyć funkcję czasową w trakcie odmierzania czasu należy wysłać komendę „Out 1. Time off.”. Po każdej komendzie zawierającej polecenie „Out” urządzenie odpowie wiadomością SMS wysyłaną na numer nadawcy o treści zawierającej stan obu wyjść i jeśli uruchomiona jest funkcja czasowa ­ aktualny czas. Przykładowe odpowiedzi urządzenia: “Out 1 on. Out 2” lub “Out 1 on. Time 20s off. Out 2 off.”

− „Input ?. Alarm ?.” – pierwsze polecenie to zapytanie o stan wejść. W odpowiedzi urządzenie wyśle wiadomość SMS o treści podobnej do następującej „Input 1 on. Input 2 off.”. Drugie polecenie tej komendy to zapytanie o stan funkcji alarmowych. W odpowiedzi na nie urządzenie poda stan funkcji, a jeśli na którymś z wejść funkcja alarmu jest włączona, to dodatkowo zostanie podany numer, na który będą wysyłane powiadomienia. Przykładowa odpowiedź może być następująca „Alarm 1 off. Alarm 2 num:123456789.”.

− „Pass 1234 on. Alarm 1 set. Alarm 2 reset” – pierwsze polecenie powoduje ustawienie przykładowego hasła dostępu. Może ono mieć długość do 4 znaków i musi składać się cyfr. Po takiej operacji urządzenie będzie reagowało na komendy tylko, jeśli będą rozpoczęte hasłem tj. poleceniem „Pass 1234.”. Aby sprawdzić czy urządzenie ma włączone żądanie hasła, należy wysłać komendę: “Pass ?.” Jest to jedyna komenda, na którą urządzenie zareaguje bez podania hasła dostępu. Treść odpowiedzi będzie miała postać „Password on.” lub „Password off.”. Jeśli hasło ma zostać wyłączone to w tym przypadku należy wysłać komendę: “Pass 1234 off.”. Drugie polecenie, komendy z przykładu włącza funkcję alarmu dla wejścia pierwszego. Urządzenie zapamiętuje numer nadawcy tego polecenia, jako ten, pod który zostanie wysłana wiadomość powiadamiająca o alarmie. Ważne, aby nadawca wiadomości miał wyłączone ukrywanie numeru. Ostatnie polecenie wyłącza funkcje powiadamiania alarmowego na wejściu drugim. Zmiany w ustawieniach alarmów urządzenie podsumuje komunikatem podobnym do „Alarm 1 num:123456789. Alarm 2 off”. Od tej pory wyzwolenie pierwszego wejścia alarmowego spowoduje wysłanie wiadomości o treści „ALARM 1 !!!”.

− „Pass 5678. Out 1 on. Time 3”. Jeśli urządzenie będzie pracowało np. jako restarter do routera lub innego podobnego urządzenia, to taką wiadomość powinno otrzymać, aby wykonać swe zadanie. Pierwsze polecenie to podanie przykładowego hasła dostępu – warto zabezpieczyć urządzenie przed dostępem osób nieuprawnionych. Drugie i trzecie to załączenie wyjścia na czas 3 sekund. W takim zastosowaniu zasilanie routera powinno przechodzić przez styki przekaźnika normalnie zwarte (NC i NN). Dzięki temu, po włączeniu zasilania urządzeń, router zostanie automatycznie załączony. Natomiast załączenie wyjścia poleceniem „Out 1 on” odetnie zasilanie od routera, a 3 sekundy powinny wystarczyć do wymuszenia jego restartu.

schBudowa i obsługa.

Schemat ideowy sterownika z modułem GSM pokazano na rysunku 1. Można go podzielić na kilka bloków funkcjonalnych. Pierwszym z nich jest blok zasilania z układem L5973, który dostarcza napięcie 4,3 V. Drugim jest blok GSM, w którego skład wchodzi moduł SIM800, gniazdo antenowe typu SMA oraz gniazdo karty SIM. Kolejnym jest blok układów wykonawczych, zawierający elementy sterujące pracą przekaźników oraz elementy formujące sygnały ze złącz wejściowych. Ostatnim blokiem jest blok sterujący z mikrokontrolerem oraz diodami LED informującymi o stanie pracy układu. Jednak najważniejszego elementu urządzenia nie widać na schemacie – jest to program sterujący pracą mikrokontrolera.

Rozmieszczenie elementów na płytce przedstawiono na rysunku 2. Złącze CON1 służy do dołączenia zasilania +12 V/0,4 A DC. Złącza SW1 oraz SW2 pozwalają na dołączenie przycisków, dzięki którym jest możliwe przełączanie stanu wyjść. Złącza AL1 oraz AL2 to wejścia, których stan można sprawdzić poprzez komendy SMS. Również powiadomienia alarmowe (o ile są włączone) są wyzwalane stanem aktywnym na tych wejściach.

Poziomem aktywnym dla wszystkich wejść jest zwarcie do masy, który utrzyma się przez co najmniej 0,2 sekundy. Złącze CON8 to wyjście przekaźnikowe kanału pierwszego natomiast CON7 drugiego. Na złączach wyjściowych wyprowadzone są styki przekaźników, ich oznaczenia znajdują się na płytce po stronie lutowania ­ normalnie otwarte (NO), normalnie zwarte (NC) oraz styki wspólne (NN).

pcbNa płytce przewidziano również złącza serwisowe, niewykorzystywane w czasie normalnego użytkowania. Złącze CON6, w standardzie ATMEL ISP, umożliwia programowanie mikrokontrolera oraz ma dodatkową funkcję – pozwala na wyłączenie hasła dostępu. Aby tego dokonać, należy odłączyć zasilanie urządzenia, założyć zworkę na szpilki oznaczone „O” oraz „G” i wtedy włączyć zasilanie. Jest to jedyny ratunek w sytuacji, gdy zapomnimy hasła. Po tej czynności zostanie ono wyłączone. Złącza CON4 i CON5 pozwalają na podglądanie komunikacji pomiędzy procesorem a modułem GSM, co może być przydatne w czasie uruchamiania lub modyfikowania układu.

Trzy diody LED informują o stanie pracy urządzenia:

− Dioda D6 informuje o działaniu ogólnych funkcji systemu.
− Dioda D7 sygnalizuje komunikację pomiędzy mikrokontrolerem a modułem GSM.
− Dioda D8 określa status połączenia do sieci GSM.

W czasie normalnej pracy diody świecące migają co kilka sekund. Dioda D8 świeci dłuższy czas w trakcie uruchamiania, gdy urządzenie próbuje zalogować się do sieci GSM lub gdy nie ma zasięgu sieci oraz przez chwilę w trakcie wysyłania wiadomości. Dioda D7 świeci ciągle sygnalizując problem z komunikacją z modułem SIM800 lub z kartą SIM. Jeśli przez dłuższy czas (ok 1-2 minut) występuje problem z komunikacją lub zasięgiem, to sterownik automatycznie wymusza restart modułu GSM. Przycisk SW służy do zrestartowania całego systemu.

Kartę SIM należy instalować i usuwać tylko przy odłączonym zasilaniu urządzenia, a zainstalowana karta SIM musi mieć wyłączone żądanie kodu PIN.

 

Program sterujący

Mikrokontroler komunikuje się z modułem GSM poprzez interfejs UART za pomocą komend AT. Zasób dostępnych komend jest ogromny, ale w projekcie wykorzystywano tylko kilka z nich. Po uruchomieniu modułu poprzez odpowiednie wysterowanie linii PWR_KEY, inicjalizacja modułu wykonywana jest komendami, kolejno: „ATE0”, „AT+CREG=1”, „AT+CMGF=1”. Następnie jest usuwana pierwsza wiadomość przechowywana w pamięci wiadomości SMS poleceniem „AT+CMGD=1”.

W pętli głównej jest sprawdzany stan zalogowania do sieci GSM za pomocą polecenia „AT+CREG?” i jeśli urządzenie jest zalogowane do sieci, to jest sprawdzane pierwsze miejsce w pamięci SMS. Jeśli uda się odczytać wiadomość, to są wykonywane zawarte w niej polecenia, a następnie wiadomość zostaje usunięta. Jeśli polecenia były prawidłowe, to jest odsyłana odpowiedź za pomocą komendy „AT+CMGS”. Pełne źródło programu dostępne jest w materiałach dodatkowych do projektu.

KS

Pozostałe artykuły

Modułowy odbiornik nasłuchowy na pasma 40 i 80 m "Dosia" (1)

Numer: Wrzesień/2017

Jesień i zima są okresem zwiększonej aktywności konstruktorów-radioamatorów. Opisany w artykule modułowy odbiornik nasłuchowy, odpowiadający na te właśnie zapotrzebowania, jest konstrukcją rozwojową, tworzącą niepowtarzalną okazję zarówno do tego, by poznać różne techniki przetwarzania sygnałów (nie tylko radiowych), jak i skonstruować własne urządzenie odbiorcze. Projekt został pomyślany tak, by jego poszczególne moduły ...

Licznik czasu pracy wyzwalany za pomocą przepływu prądu

Numer: Wrzesień/2016

W ?Elektronice Praktycznej? 12/2015 był opublikowany projekt miniaturowego licznika czasu pracy, który można wmontować w nadzorowane urządzenie. Prezentowany projekt jest rozszerzeniem tamtej idei o możliwość odmierzania czasu, gdy pobór prądu przez urządzenie przekroczy ustaloną wartość. Rekomendacje: licznik może przydać się np. służbom utrzymania ruchu do planowania remontów maszyn i urządzeń.

Licznik błysków, czyli tworzenie unikatowych fotografii

Numer: Wrzesień/2016

Tworzenie rozmaitych efektów na zdjęciach jest tak stare, jak sama fotografia. Na przestrzeni lat technika zmieniała się, lecz niektóre triki pozostały. Opisane w tym artykule urządzenie pozwala otworzyć migawkę aparatu na ustalony czas lub na określoną liczbę wyzwoleń lampy błyskowej. Rekomendacje: urządzenie przyda się tym bardziej ambitnym pasjonatom fotografowania, którzy wolą naturalne efekty od tych tworzonych za pomocą edytorów ...

Komputer samochodowy Mee 2.0 (3)

Numer: Wrzesień/2016

Nasz komputer jest już zbudowany i dołączony do instalacji samochodu. Najwyższy czas na zapoznanie się z jego walorami użytkowymi oraz obsługą. Zaprezentujemy również funkcjonalność menu użytkownika oraz sposób prawidłowego skonfigurowania urządzenia.

Przełącznik z interfejsem Bluetooth

Numer: Wrzesień/2016

W artykule opisano zdalnie sterowany przełącznik z dwoma przekaźnikami. Ponieważ do sterowania użyto interfejsu Bluetooth, przełącznikiem można sterować za pośrednictwem komputera, tabletu lub smartfona. Komendy sterujące włączeniem i wyłączeniem przekaźników mają format tekstowy. Do obsługi przełącznika napisano specjalną androidową aplikację, jednak do wysyłania komend można wykorzystać dowolny program terminalu. Każdy ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Październik 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym