SMS-kontroler na bazi SIM800L

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRS je četveropojasni GSM / GPRS modul kompatibilan s Arduinom. Modul se koristi za implementaciju funkcija GSM (pozivi i SMS) i GPRS. Prednost ovog modula je TTL sučelje s naponom od 5 V, što vam omogućuje izravno povezivanje s Arduinom ili bilo kojim drugim sustavom s 5V napajanjem. Većina GSM / GPRS modula na tržištu zahtijevaju priključke regulatora ili konverziju nivoa, dok u SIM800L V.2 GSM / GPRS ne zahtijevaju dodatne konverzijske krugove na sučelju.
Ovdje je primjer projekta koji koristi SIM800L V.2 GSM / GPRS. Značenje projekta je upravljanje prekidačima pomoću SMS kontrolera. Lako možete uključiti i isključiti većinu kućanskih aparata u kući, poput lame, ventilatora i tako dalje.

Karakteristike SIM800L V.2 GSM / GPRS modula


Ispod su sve tehničke specifikacije SIM800L V.2 GSM / GPRS modula:
  • TTL serijsko sučelje kompatibilno s 3,3 V i 5 V mikrokontrolerom kompatibilno s Arduinom.
  • SIM800L modul ima TTL serijsko sučelje.
  • Antenski utikač
  • Mrežna podrška: četiri pojasa 850/900/1800/1900 MHz, sposobna za pozive, SMS i prijenos podataka uz značajno smanjenu potrošnju baterije.
  • VDD TTL UART sučelje, tako da možete izravno povezati MCU poput 51MCU, ARM ili MSP430. VDD utikač koji se koristi za podudaranje s TTL naponom.
  • Model: SIMCOM SIM800L
  • Radni napon: od 3,7 V do 5V;
  • dimenzije: 40mm x 28mm x 3mm
  • GPRS multislot klasa 12/10
  • GPRS Servisna klasa B
  • Odgovara GSM fazi 2/2 +
  • Klasa 4 (2 W @ 850/900 MHz)
  • Klasa 1 (1 Wat @ 1800/1900 MHz)

Potrebni materijali


Trebat će vam:


1. SIM800L V.2 GSM / GPRS modul.
2. Arduino Uno.
3. 4-kanalni 5-voltni relejni modul.
4. Žice - skakači.
5. Napajanje 5 V
(Aktivne veze do trgovine za kupnju)

Montaža i konfiguracija


Nakon što spojite sve komponente, napravite program, a zatim ga preuzmite na svoj Arduino. Najprije morate instalirati GPRS knjižnicu koju možete preuzeti:
gprs.zip 28.02 Kb (preuzimanja: 509)

Programski kod za Arduino


Nakon što na računalo povežete SIM800L, četverokanalni relejni modul i Arduino, unesite kôd dolje i gotovi ste.
#include #include #define TIMEOUT 5000 #define ACTIVE LOW #define OFF HIGH byte Relay = {A0, A1, A2, A3}; bajt StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = netočno; String replyNumber = "089510863958"; GPRS gprs; void setup () {for (int i = 0; i >> Automatski čitaj SMS "); gprs.preInit (); kašnjenje (1000); dok (0! = gprs.init ()) {kašnjenje (1000); Serijski .print ("init errorrn");} // Upravljanje porukom u modu ASCII ako (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERROR ("GREŠKA: CNMI") ; return;} // Pročitajte dolazni SMS ako je (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0rn", "OK", TIMEOUT)) {ERROR ("GREŠKA: CNMI") ; return;} int pjg = replyNumber.length () + 1; buffNumberpjg; replyNumber.toCharArray (buffNumber, pjg); Serial.print ("Pošaljite odgovor na broj =>"); Serial.println (buffNumber); Serial.println ("Dovršeno inicijaliziranje"); Serial.println ("======================================== ========================))} nevaljala petlja () {// Promjena statusnog releja ON / OFF za (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // ===================================== ================== >> Funkcija relejnog kontrolera // Relej 1 kontroler ako (lastLine.indexOf ("Relej 1 UKLJUČEN) ")> = 0) {StatRelay0 = Aktif; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 1 je aktivan"); gprs.sendSMS (buffNumber, "Relay 1 Status Active"); } else if (lastLine.indexOf ("Relej 1 OFF")> = 0) {StatRelay0 = MATI; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 1 isključen"); gprs.sendSMS (buffNumber, "Relay 1 Status Off"); } // Regulator 2 releja ako (lastLine.indexOf ("Relej 2 UKLJUČEN")> = 0) {StatRelay1 = AKTIF; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 2 je aktivan"); gprs.sendSMS (buffNumber, "Relay 2 Status Active"); } else if (lastLine.indexOf ("Relay 2 OFF")> = 0) {StatRelay1 = MATI; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 2 isključen"); gprs.sendSMS (buffNumber, "Status releja 2 isključen"); } // Upravljač 3 releja ako (lastLine.indexOf ("Relej 3 UKLJUČEN")> = 0) {StatRelay2 = AKTIF; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 3 aktivan"); gprs.sendSMS (buffNumber, "Relay 3 Status Active"); } else if (lastLine.indexOf ("Relay 3 OFF")> = 0) {StatRelay2 = MATI; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 3 isključen"); gprs.sendSMS (buffNumber, "Status releja 3 isključen"); } // Regulator releja 4 ako je (lastLine.indexOf ("Relej 4 UKLJUČEN")> = 0) {StatRelay3 = AKTIF; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 4 je aktivan"); gprs.sendSMS (buffNumber, "Relay 1 Status Active"); } else if (lastLine.indexOf ("Relay 4 OFF")> = 0) {StatRelay3 = MATI; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 4 isključen"); gprs.sendSMS (buffNumber, "Status releja 4 isključen"); } nextLineIsMessage = netočno; } // =================================================== ==================== >>} // Očisti niz znakova za sljedeći redak čitanja za (int i = 0; i <sizeof (currentLine); ++ i) {trenutniLinei = (char) 0; } currentLineIndex = 0; } else {trenutniLinecurcurrentLineIndex ++ = lastCharRead; }}}

Provjera uređaja


Alat radi slanjem SMS-a na SIM800L s određenim nizom znakova. Na primjer, da biste omogućili relej 1, koristite naredbu "Relej 1 UKLJUČENO", a da biste je isključili, koristite naredbu "Relej 1 OFF". Ostali releji imaju gotovo iste naredbe, s izuzetkom serijskog broja svakog releja na koji želite djelovati. Nakon što automatski pošalje poruku, SIM800 će poslati odgovor u obliku statusne poruke za svaku SIM karticu.

Sastavljanje videozapisa, konfiguracija i provjera uređaja



Izvorni članak na engleskom jeziku

Pin
Send
Share
Send

Pogledajte video: GrowBox на базе Arduino Mega2560 (Travanj 2024).