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.
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
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.
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. 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. 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
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). 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ę AT+CREG=1, a następnie, gdy po wysłaniu AT+CREG=? otrzymamy odpowiedź +CREG= 1,1 to znaczy, że moduł jest zalogowany.