Kontroler SMS oparty na SIM800L

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRS to czterozakresowy moduł GSM / GPRS kompatybilny z Arduino. Moduł służy do realizacji funkcji GSM (połączenia i SMS-y) oraz GPRS. Zaletą tego modułu jest interfejs TTL o napięciu 5V, który pozwala bezpośrednio podłączyć go do Arduino lub dowolnego innego systemu z zasilaczem 5V. Większość dostępnych na rynku modułów GSM / GPRS wymaga połączeń regulatora lub konwersji poziomu, natomiast w SIM800L V.2 GSM / GPRS nie wymaga dodatkowych obwodów konwersji poziomu interfejsu.
Oto przykładowy projekt wykorzystujący SIM800L V.2 GSM / GPRS. Celem projektu jest sterowanie przełącznikami za pomocą kontrolera SMS. Możesz łatwo włączać i wyłączać większość urządzeń gospodarstwa domowego w domu, takich jak lama, wentylator itp.

Charakterystyka modułu GSM / GPRS SIM800L V.2


Poniżej znajdują się wszystkie dane techniczne modułu SIM800L V.2 GSM / GPRS:
  • Interfejs szeregowy TTL zgodny z mikrokontrolerami 3,3 V i 5 V zgodny z Arduino.
  • Moduł SIM800L ma interfejs szeregowy TTL.
  • Wtyczka anteny
  • Obsługa sieci: cztery pasma 850/900/1800/1900 MHz, zdolne do wykonywania połączeń, SMS-ów i przesyłania danych przy znacznie zmniejszonym zużyciu baterii.
  • Interfejs UART VDD TTL, dzięki czemu można bezpośrednio podłączyć MCU, takie jak 51MCU, ARM lub MSP430. Wtyczka VDD stosowana do dopasowania napięcia TTL.
  • Model: SIMCOM SIM800L
  • Napięcie robocze: od 3,7 V do 5 V;
  • wymiary: 40 mm x 28 mm x 3 mm
  • GPRS multislot klasa 12/10
  • GPRS Batch Service Class B
  • Odpowiada fazie GSM 2/2 +
  • Klasa 4 (2 waty przy 850/900 MHz)
  • Klasa 1 (1 Wat przy 1800/1900 MHz)

Wymagane materiały


Będziesz potrzebował:


1. Moduł GSM / GPRS SIM800L V.2.
2. Arduino Uno.
3. 4-kanałowy 5-woltowy moduł przekaźnikowy.
4. Przewody - zworki.
5. Zasilacz 5 V.
(Aktywne linki do sklepu do zakupu)

Montaż i konfiguracja


Po podłączeniu wszystkich komponentów utwórz program, a następnie pobierz go na swoje Arduino. Ale najpierw musisz zainstalować bibliotekę GPRS, którą możesz pobrać:
gprs.zip 28.02 Kb (pliki do pobrania: 509)

Kod programu dla Arduino


Po podłączeniu SIM800L, 4-kanałowego modułu przekaźnikowego i Arduino do komputera, wprowadź poniższy kod i gotowe.
#include #include #define TIMEOUT 5000 #define ACTIVE LOW #define OFF HIGH bajt Przekaźnik = {A0, A1, A2, A3}; bajt StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = false; Łańcuch replyNumber = "089510863958"; GPRS GPRS; void setup () {for (int i = 0; i >> Automatycznie czytaj SMS "); gprs.preInit (); opóźnienie (1000); while (0! = gprs.init ()) {delay (1000); Szeregowy .print („init errorrn”);} // Zarządzaj wiadomością w trybie ASCII if (0! = gprs.sendCmdAndWaitForResp („AT + CMGF = 1rn”, „OK”, TIMEOUT)) {BŁĄD („BŁĄD: CNMI”) ; return;} // Odczytuj przychodzące wiadomości SMS, jeśli (0! = gprs.sendCmdAndWaitForResp („AT + CNMI = 1,2,0,0,0rn”, „OK”, TIMEOUT)) {BŁĄD („BŁĄD: CNMI”) ; return;} int pjg = replyNumber.length () + 1; buffNumberpjg; replyNumber.toCharArray (buffNumber, pjg); Serial.print („Wyślij odpowiedź na numer =>”); Serial.println (buffNumber); Serial.println („Wykonano inicjalizację”); Serial.println („====================================== ========================))} void loop () {// Zmień status Przekaźnik WŁ. / WYŁ. dla (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // =================================== ============================== >> Funkcja kontrolera przekaźnika // Sterownik przekaźnika 1 if (lastLine.indexOf („Przekaźnik 1 włączony ")> = 0) {StatRelay0 = AKTIF; Serial.print („Odpowiedź ==== >>>>”); Serial.println („Status przekaźnika 1 aktywny”); gprs.sendSMS (buffNumber, „Relay 1 Status Active”); } else if (lastLine.indexOf („Relay 1 OFF”)> = 0) {StatRelay0 = MATI; Serial.print („Odpowiedź ==== >>>>”); Serial.println („Status przekaźnika 1 wyłączony”); gprs.sendSMS (buffNumber, „Relay 1 Status Off”); } // Sterownik przekaźnika 2 if (lastLine.indexOf („Przekaźnik 2 włączony”)> = 0) {StatRelay1 = AKTIF; Serial.print („Odpowiedź ==== >>>>”); Serial.println („Status przekaźnika 2 aktywny”); gprs.sendSMS (buffNumber, „Relay 2 Status Active”); } else if (lastLine.indexOf („Relay 2 OFF”)> = 0) {StatRelay1 = MATI; Serial.print („Odpowiedź ==== >>>>”); Serial.println („Status przekaźnika 2 wyłączony”); gprs.sendSMS (buffNumber, „Relay 2 Status Off”); } // Sterownik przekaźnika 3 if (lastLine.indexOf („Przekaźnik 3 włączony”)> = 0) {StatRelay2 = AKTIF; Serial.print („Odpowiedź ==== >>>>”); Serial.println („Status przekaźnika 3 aktywny”); gprs.sendSMS (buffNumber, „Relay 3 Status Active”); } else if (lastLine.indexOf („Relay 3 OFF”)> = 0) {StatRelay2 = MATI; Serial.print („Odpowiedź ==== >>>>”); Serial.println („Status przekaźnika 3 wyłączony”); gprs.sendSMS (buffNumber, „Relay 3 Status Off”); } // Sterownik przekaźnika 4 if (lastLine.indexOf („Przekaźnik 4 włączony”)> = 0) {StatRelay3 = AKTIF; Serial.print („Odpowiedź ==== >>>>”); Serial.println („Status przekaźnika 4 aktywny”); gprs.sendSMS (buffNumber, „Relay 1 Status Active”); } else if (lastLine.indexOf („Relay 4 OFF”)> = 0) {StatRelay3 = MATI; Serial.print („Odpowiedź ==== >>>>”); Serial.println („Status przekaźnika 4 wyłączony”); gprs.sendSMS (buffNumber, „Relay 4 Status Off”); } nextLineIsMessage = false; } // ================================================ =================== >>} // Wyczyść tablicę znaków dla następnego wiersza odczytu dla (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (char) 0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Sprawdzanie urządzenia


Narzędzie działa, wysyłając SMS na SIM800L z określoną sekwencją znaków. Na przykład, aby włączyć przekaźnik 1, użyj polecenia „Przekaźnik 1 WŁ”, a aby go wyłączyć, użyj polecenia „Przekaźnik 1 WYŁ”. Reszta przekaźników ma prawie takie same polecenia, z wyjątkiem numeru seryjnego każdego przekaźnika, na którym chcesz pracować. Po automatycznym wysłaniu wiadomości SIM800 wyśle ​​odpowiedź w formie komunikatu o stanie dla każdej karty SIM.

Montaż wideo, konfiguracja i weryfikacja urządzenia



Oryginalny artykuł w języku angielskim

Pin
Send
Share
Send

Obejrzyj wideo: #17 Moduł GPS - opis + przykład użycia z Arduino GPS logger (Może 2024).