SIM800L pagrįstas SMS valdiklis

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRS yra keturių juostų GSM / GPRS modulis, suderinamas su Arduino. Modulis naudojamas GSM (skambučių ir SMS) ir GPRS funkcijoms įgyvendinti. Šio modulio pranašumas yra TTL sąsaja su 5 V įtampa, leidžianti tiesiogiai prijungti jį prie „Arduino“ ar bet kurios kitos sistemos su 5 V maitinimo šaltiniu. Daugumai rinkoje esančių GSM / GPRS modulių reikalingas reguliatoriaus ryšys arba lygio keitimas, tuo tarpu SIM800L V.2 GSM / GPRS nereikia papildomų sąsajos lygio konvertavimo grandinių.
Čia yra projekto pavyzdys, naudojantis SIM800L V.2 GSM / GPRS. Projekto tikslas yra valdyti jungiklius naudojant SMS valdiklį. Galite lengvai įjungti ir išjungti daugelį namų apyvokos prietaisų, tokių kaip lama, ventiliatorius ir pan.

GSM / GPRS modulio SIM800L V.2 charakteristikos


Žemiau yra visos GSM / GPRS modulio SIM800L V.2 specifikacijos:
  • TTL nuosekli sąsaja suderinama su 3,3 V ir 5 V mikrovaldikliais, suderinama su Arduino.
  • SIM800L modulis turi TTL nuoseklią sąsają.
  • Antenos kištukas
  • Tinklo palaikymas: keturios 850/900/1800/1900 MHz juostos, galinčios skambinti, siųsti SMS ir perduoti duomenis žymiai sumažinus baterijos sunaudojimą.
  • VDD TTL UART sąsaja, todėl galite tiesiogiai prijungti tokį MCU kaip 51MCU, ARM ar MSP430. VDD kištukas, naudojamas atitikti TTL įtampą.
  • Modelis: SIMCOM SIM800L
  • Darbinė įtampa: nuo 3,7 V iki 5 V;
  • matmenys: 40mm x 28mm x 3mm
  • GPRS multislot klasė 12/10
  • GPRS paketinių paslaugų klasė B
  • Atitinka GSM 2/2 + fazę
  • 4 klasė (2 vatai @ 850/900 MHz)
  • 1 klasė (1 W @ 1800/1900 MHz)

Reikalingos medžiagos


Jums reikės:


1. SIM800L V.2 GSM / GPRS modulis.
2. Arduino Uno.
3. 4 kanalų 5 voltų relės modulis.
4. Laidai - megztiniai.
5. Maitinimas 5 V
(Aktyvios nuorodos į parduotuvę perkant)

Surinkimas ir konfigūracija


Prijungę visus komponentus, sukurkite programą ir atsisiųskite ją į savo „Arduino“. Bet pirmiausia turite įdiegti GPRS biblioteką, kurią galite atsisiųsti:
gprs.zip 28,02 Kb (atsisiuntimai: 509)

Programos kodas Arduino


Prijungę SIM800L, 4 kanalų relės modulį ir „Arduino“ prie savo kompiuterio, įveskite žemiau esantį kodą ir viskas.
# įtraukite # įtraukite #define TIMEOUT 5000 #define ACTIVE LOW #define OFF HIGH baitų relė = {A0, A1, A2, A3}; baitas StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = klaidinga; Styginių atsakymasNumber = "089510863958"; GPRS GPRS; negaliojanti sąranka () {skirta (int i = 0; i >> automatiškai skaityti SMS "); gprs.preInit (); atidėjimas (1000); tuo tarpu (0! = gprs.init ()) {atidėjimas (1000); serija .print ("init errorrn");} // Tvarkykite pranešimą į ASCII režimą, jei (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERROR ("KLAIDA: CNMI") ; grįžti;} // Perskaitykite gaunamą SMS, jei (0! = gprs.sendCmdAndWaitForResp („AT + CNMI = 1,2,0,0,0rn“, „Gerai“, TIMEOUT)) {KLAIDA („KLAIDA: CNMI“) ; grąžinimas;} int pjg = atbildesNumber.length () + 1; buffNumberpjg; answerNumber.toCharArray (buffNumber, pjg); Serial.print („Siųsti atsakymą į numerį =>“); Serial.println (buffNumber); Serial.println („Inicializacija atlikta“); Serial.println („====================================== ========================))} void loop () {// Pakeisti būseną Relė įjungta / išjungta (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // ===================================== ============================== >> Relės valdiklio funkcijos // 1 relės valdiklis, jei (lastLine.indexOf („1 relė įjungta“) ")> = 0) {StatRelay0 = AKTIF; „Serial.print“ („Atsakyti ==== >>>>“); „Serial.println“ („1 relės būsena aktyvi“); gprs.sendSMS („buffNumber“, „1 relės būsena aktyvi“); } else if (lastLine.indexOf ("1 relė išjungta")> = 0) {StatRelay0 = MATI; „Serial.print“ („Atsakyti ==== >>>>“); „Serial.println“ („1 relės būsena išjungta“); gprs.sendSMS („buffNumber“, „1 relės būsena išjungta“); } // 2 relės valdiklis, jei (lastLine.indexOf („2 relė įjungta“)> = 0) {StatRelay1 = AKTIF; „Serial.print“ („Atsakyti ==== >>>>“); „Serial.println“ („2 relės būsena aktyvi“); gprs.sendSMS („buffNumber“, „2 relės būsena aktyvi“); } else if (lastLine.indexOf ("2 estampė išjungta")> = 0) {StatRelay1 = MATI; „Serial.print“ („Atsakyti ==== >>>>“); „Serial.println“ („2 relės būsena išjungta“); gprs.sendSMS („buffNumber“, „2 relės būsena išjungta“); } // 3 relės valdiklis, jei (lastLine.indexOf („3 relė įjungta“)> = 0) {StatRelay2 = AKTIF; „Serial.print“ („Atsakyti ==== >>>>“); „Serial.println“ („3 relės būsena aktyvi“); gprs.sendSMS („buffNumber“, „3 relės būsena aktyvi“); } else if (lastLine.indexOf ("3 estampė išjungta")> = 0) {StatRelay2 = MATI; „Serial.print“ („Atsakyti ==== >>>>“); „Serial.println“ („3 relės būsena išjungta“); gprs.sendSMS („buffNumber“, „3 relės būsena išjungta“); } // 4 relės valdiklis, jei (lastLine.indexOf („4 relė įjungta“)> = 0) {StatRelay3 = AKTIF; „Serial.print“ („Atsakyti ==== >>>>“); „Serial.println“ („4 relės būsena aktyvi“); gprs.sendSMS („buffNumber“, „1 relės būsena aktyvi“); } else if (lastLine.indexOf ("4 estampė išjungta")> = 0) {StatRelay3 = MATI; „Serial.print“ („Atsakyti ==== >>>>“); „Serial.println“ („4 relės būsena išjungta“); gprs.sendSMS („buffNumber“, „4 relės būsena išjungta“); } nextLineIsMessage = klaidinga; } // ================================================ =================== >>} // Aiškus simbolių rinkinys kitai skaitymo eilutei (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (char) 0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Įrenginio patikrinimas


Įrankis veikia siunčiant SMS į SIM800L su tam tikra simbolių seka. Pvz., Norėdami įjungti 1 relę, naudokite komandą „1 relė įjungta“, o jei norite išjungti, naudokite komandą „1 relė išjungta“. Likusios relės turi beveik tas pačias komandas, išskyrus kiekvienos relės, kuria norite veikti, serijos numerį. Automatiškai išsiuntęs pranešimą, SIM800 išsiųs atsakymą būsenos pranešimo forma kiekvienai SIM kortelei.

Vaizdo įrašų surinkimas, konfigūravimas ir įrenginio patikrinimas



Originalus straipsnis anglų kalba

Pin
Send
Share
Send