Moduł GSM do Raspberry PI+

Moduł GSM do Raspberry PI+
Pobierz PDF Download icon
Moduł umożliwia rozszerzenie funkcjonalności Raspberry PI+ (A+,B+,2) o możliwość odbierania, wysyłania wiadomości SMS oraz o transmisję danych poprzez sieć GSM.

Do budowy wykorzystano nowoczesny moduł GSM M95 firmy Quectel. Moduł współpracuje z portem UART Raspberry PI. Schemat modułu pokazano na rysunku 1. Modem M1 pracuje w minimalnej konfiguracji zalecanej przez producenta. Ze względu na znikomą użyteczność, zrezygnowałem z elementów odpowiedzialnych za transmisję głosową.

Aplikację modemu U1 uzupełnia układ stabilizatora LDO U1 typu MIC29302, odpowiedzialny za dostarczenie zasilania ok. 4 V przy obciążalności szczytowej do 2 A. Dzielnik złożony z rezystorów R14 i R15, oprócz ustalania napięcia wyjściowego, zapewnia też minimalny prąd obciążenia niezbędny dla poprawnej pracy U1. Ze względu na duży, chwilowy pobór prądu podczas nadawania, moduł ma własne gniazdo zasilania USB (micro). Do zasilania jest niezbędny zasilacz 5V o wydajności rzędu 3 A, gdyż z gniazda modemu poprzez gniazdo GPIO jest zasilane także Raspberry PI. Podane na schemacie wartości pojemności CE1, CE2 są wartościami minimalnymi, zapewniającymi poprawną pracę modemu M1 i układu U1. Można je zwiększyć do 2×470 mF, ale wymagane są kondensatory tantalowe o małym ESR. Ze względu na konieczność dopasowania poziomów napięcia pomiędzy UART Raspberry PI a modem GSM włączone są rezystory R9…R11. Aplikację modemu uzupełniają LED STAT/NET z buforami Q2, Q3 sygnalizujące stan pracy modemu.

Sygnał antenowy jest doprowadzony do złącza SMA, a stąd do typowej, zewnętrznej anteny GSM. Moduł współpracuje z kartą micro SIM, umieszczaną w gnieździe SIM. Sygnały z karty filtrowane są poprzez RP1, C3…C5. Układ uzupełnia opcjonalny kondensator Cx o pojemności z zakresu 0,1…0.22 F służący do podtrzymania zegara RTC modemu. Płytka jest wyposażona także w przycisk sprzętowego sterowania zasilaniem modemu „PWK”. Poprzez klucz Q1 przy zlutowanej zworze PW możliwe jest sterowanie programowe sygnału PWK. Układ jest wyposażony w dwa złącza (IO, I2C) kompatybilne z minimodułami opisywanymi w EP oraz GPIO zgodne z Arduino Bricks z wyprowadzonym zasilaniem. Złącze umożliwia wyprowadzenie pojedynczych sygnałów wraz z zasilaniem kablem SIP3 lub wszystkich ośmiu i zasilania kablem SIP10. Upraszcza to w większości aplikacji monitorowanie sygnałów zewnętrznych bez dodatkowej karty GPIO.

Układ zmontowany jest na niewielkiej dwustronnej płytce drukowanej. Rozmieszczenie elementów pokazano na rysunku 2.

Aby w praktyce jak najszybciej sprawdzić działanie modułu konieczne są drobne zmiany konfiguracji PI. W pierwszej kolejności musimy uzyskać dostęp do portu szeregowego, który jest domyślnie zablokowany przez terminal SSH. W tym celu należy zmodyfikować plik cmdline.txt za pomocą polecenia $ sudo nano /boot/cmdline.txt i usunąć wpis dotyczące konsoli console=ttyAMA0,115200 kgdboc=ttyAMA0,115200. Należy zmienić też plik initab $ poleceniem sudo nano /etc/initab, komentując # w nim linię T0:23respawn:/sbin/getty -L ttyAMA0 115200 vt100. Po wprowadzeniu zmian, należy zrestartować Raspberry PI.

Po tej operacji port szeregowy dostępny jest dla innych aplikacji. Aby wykorzystać modem GSM, konieczna jest jeszcze instalacja programu terminala – ponieważ najłatwiej sprawdzić jego działanie poprzez komendy AT. Najbardziej popularnym programem terminalowym jest minicom. Instalacja przebiega w typowy sposób ($ sudo apt-get install minicom). Minicom jest uruchamiany z linii poleceń, a jego wywołanie może zawierać parametry pracy $ sudo minicom -b 9600 -o -D /dev/ttyAMA0. Po uruchomieniu jest możliwa zmiana konfiguracji za pomocą kombinacji CTRL+A oraz odpowiednich przycisków funkcyjnych. Warto sprawdzić ustawienia transmisji oraz wyłączyć ECHO terminala.

Dla sprawdzenia poprawności połączeń i funkcjonowania modułu, po włożeniu aktywnej karty SIM należy załączyć zasilanie poprzez naciśnięcie na sekundę PWK. Po włączeniu zasilania i zalogowaniu się modemu do sieci (dioda NET „mignie” co 2 sekundy), modem jest gotowy do pracy. Pierwszym poleceniem sprawdzającym poprawność dzialania jest ATI, czyli odczyt wersji modemu. Komendą „AT_QCCID” można sprawdzić numer ID karty, „AT+QSPN?” zwraca aktywną sieć, „AT+CSQ” poziom sygnału w.cz. Na rysunku 3 pokazano przebieg krótkiego testu modemu.

Jeżeli wszystko funkcjonuje poprawnie - modem może zostać użyty we własnej aplikacji. Szczegółowe zestawienie komend AT zawiera M95_AT_Commands_Manual_V1.2.pdf do pobrania ze strony firmowej Quectel.

Adam Tatuś, EP

Artykuł ukazał się w
Elektronika Praktyczna
sierpień 2016
DO POBRANIA
Pobierz PDF Download icon
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik lipiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje czerwiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna lipiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich czerwiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów