SIM800L alapú SMS vezérlő

Pin
Send
Share
Send


A SIM800L V2.0 GSM / GPRS egy négysávos GSM / GPRS modul, amely kompatibilis az Arduino-val. A modult a GSM (hívások és SMS) és a GPRS funkcióinak végrehajtására használják. Ennek a modulnak az az előnye, hogy a TTL interfész 5 V feszültséggel rendelkezik, amely lehetővé teszi, hogy közvetlenül csatlakoztassa egy Arduino-hoz vagy bármely más rendszerhez, amelyhez 5 V-os tápellátás van. A legtöbb piacon lévő GSM / GPRS modul szabályozó kapcsolatot vagy szint átalakítást igényel, míg a SIM800L V.2 esetében a GSM / GPRS nem igényel további interfész szintű átalakító áramkört.
Íme egy példaprojekt a SIM800L V.2 GSM / GPRS használatával. A projekt célja a kapcsolók vezérlése az SMS vezérlővel. Könnyen be- és kikapcsolhatja a ház legtöbb háztartási készülékét, például láma, ventilátor stb.

A SIM800L V.2 GSM / GPRS modul jellemzői


Az alábbiakban bemutatjuk a SIM800L V.2 GSM / GPRS modul összes műszaki specifikációját:
  • TTL soros interfész kompatibilis az Arduino-val kompatibilis 3,3 és 5 V-os mikrovezérlőkkel.
  • A SIM800L modul soros TTL interfésszel rendelkezik.
  • Antenna csatlakozó
  • Hálózati támogatás: négy sáv, 850/900/1800/1900 MHz, amely hívások kezdeményezésére, SMS és adatátvitelre képes, és jelentősen csökken az akkumulátorfogyasztás.
  • VDD TTL UART interfész, így közvetlenül csatlakoztathat egy MCU-t, például 51MCU, ARM vagy MSP430. A TTL feszültség megegyezéséhez használt VDD csatlakozó.
  • Típus: SIMCOM SIM800L
  • Üzemi feszültség: 3,7–5 V;
  • méretek: 40 mm x 28 mm x 3 mm
  • GPRS multislot osztály 12/10
  • GPRS kötegelt szolgáltatási osztály B
  • Megfelel a GSM 2/2 + fázisának
  • 4. osztály (2 watt @ 850/900 MHz)
  • 1. osztály (1 W @ 1800/1900 MHz)

Szükséges anyagok


Szüksége lesz:


1. SIM800L V.2 GSM / GPRS modul.
2. Arduino Uno.
3. 4-csatornás 5 voltos relémodul.
4. Vezetékek - jumperok.
5. Tápegység 5 V
(Aktív linkek a boltba vásárláshoz)

Összeszerelés és konfiguráció


Miután csatlakoztatta az összes komponenst, készítsen egy programot, és töltse le az Arduino-ba. De először telepítenie kell a GPRS könyvtárat, amely letölthető:
gprs.zip 28.02 Kb (letöltések: 509)

Programkód Arduino számára


Miután csatlakoztatta a SIM800L, négycsatornás relé modult és az Arduino-t a számítógéphez, írja be az alábbi kódot, és kész.
#include #include #define TIMEOUT 5000 #define ACTIVE ACTIVE Lde #define OFF HIGH byte Relay = {A0, A1, A2, A3}; StatRelay4 byte; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = false; String responseNumber = "089510863958"; GPRS GPRS; void setup () {for (int i = 0; i >> SMS automatikus olvasása "); gprs.preInit (); késleltetés (1000); míg (0! = gprs.init ()) {késleltetés (1000); soros .print ("init errorrn");} // Üzenet kezelése az ASCII módba, ha (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERROR ("HIBA: CNMI") ; visszatérés}} Olvassa be a bejövő SMS-t, ha (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0,0rn", "OK", TIMEOUT)) {ERROR ("HIBA: CNMI") ; visszatérés;} int pjg = válaszNumber.hossz () + 1; buffNumberpjg; válaszszám ("Az inicializálás kész"); Serial.println ("====================================== ========================))} void loop () {// Állapot megváltoztatása Relé BE / KI (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // ===================================== ============================== >> A relévezérlő működése // 1. relévezérlő, ha (lastLine.indexOf ("1. relé BE ")> = 0) {StatRelay0 = Aktif; Serial.print ("Válasz ==== >>>>"); Serial.println ("1. relé állapota aktív"); gprs.sendSMS (buffNumber, "1. relé állapota aktív"); } egyébként, ha (lastLine.indexOf ("1. relé KI")> = 0) {StatRelay0 = MATI; Serial.print ("Válasz ==== >>>>"); Serial.println ("1. relé állapota ki"); gprs.sendSMS (buffNumber, "1. relé állapota ki"); } // 2. relé vezérlő, ha (lastLine.indexOf ("2. relé BE")> = 0) {StatRelay1 = AKTIF; Serial.print ("Válasz ==== >>>>"); Serial.println ("A 2. relé állapota aktív"); gprs.sendSMS (buffNumber, "2. relé állapota aktív"); } egyébként, ha (lastLine.indexOf ("2. relé KI")> = 0) {StatRelay1 = MATI; Serial.print ("Válasz ==== >>>>"); Serial.println ("2. relé állapota ki"); gprs.sendSMS (buffNumber, "2. relé állapota ki"); } // 3. relé vezérlő, ha (lastLine.indexOf ("3. relé BE")> = 0) {StatRelay2 = AKTIF; Serial.print ("Válasz ==== >>>>"); Serial.println ("A 3. relé állapota aktív"); gprs.sendSMS (buffNumber, "3. relé állapota aktív"); } egyébként, ha (lastLine.indexOf ("3. relé KI")> = 0) {StatRelay2 = MATI; Serial.print ("Válasz ==== >>>>"); Serial.println ("3. relé állapota ki"); gprs.sendSMS (buffNumber, "3. relé állapota ki"); } // 4. relé vezérlő, ha (lastLine.indexOf ("4. relé BE")> = 0) {StatRelay3 = AKTIF; Serial.print ("Válasz ==== >>>>"); Serial.println ("A 4. relé állapota aktív"); gprs.sendSMS (buffNumber, "1. relé állapota aktív"); } egyébként, ha (lastLine.indexOf ("4. relé KI")> = 0) {StatRelay3 = MATI; Serial.print ("Válasz ==== >>>>"); Serial.println ("4. relé állapota ki"); gprs.sendSMS (buffNumber, "Relay 4 Status Off"); } nextLineIsMessage = hamis; } // ================================================== =================== >>} // Törölje a tömböt a következő olvasási sorhoz (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (char) 0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Az eszköz ellenőrzése


Az eszköz úgy működik, hogy SMS-t küld a SIM800L-re egy meghatározott karakter sorozattal. Például az 1. relé engedélyezéséhez használja az "1. relé BE" parancsot, és kapcsolja ki az "1. relé OFF" parancsot. A többi relé szinte ugyanazokkal a parancsokkal rendelkezik, kivéve az egyes relék sorozatszámát, amelyeken működni kíván. Az üzenet automatikus elküldése után a SIM800 állapotüzenet formájában válaszokat küld minden SIM-kártyára.

Videó összeszerelése, konfigurálása és az eszköz ellenőrzése



Eredeti cikk angolul

Pin
Send
Share
Send