SIM800L-baseret SMS-controller

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRS er et quad-bånd GSM / GPRS-modul, der er kompatibelt med Arduino. Modulet bruges til at implementere funktionerne i GSM (opkald og SMS) og GPRS. Fordelen ved dette modul er TTL-interface med en spænding på 5V, som giver dig mulighed for direkte at forbinde det til en Arduino eller ethvert andet system med en 5V strømforsyning. De fleste GSM / GPRS-moduler på markedet kræver regulatorforbindelser eller niveaukonvertering, mens GSM / GPRS i SIM800L V.2 ikke kræver yderligere konverteringskredsløb til interfaceniveau.
Her er et eksempel på et projekt, der bruger SIM800L V.2 GSM / GPRS. Betydningen af ​​projektet er at styre switchene ved hjælp af SMS-controller. Du kan let tænde og slukke for de fleste husholdningsapparater i huset, såsom en lama, en ventilator og så videre.

Egenskaber ved SIM800L V.2 GSM / GPRS-modulet


Nedenfor er alle de tekniske specifikationer for SIM800L V.2 GSM / GPRS-modulet:
  • TTL seriel grænseflade kompatibel med 3,3V og 5V mikrokontrollere kompatible med Arduino.
  • SIM800L-modulet har en seriel TTL-interface.
  • Antennestik
  • Netværkssupport: fire bånd 850/900/1800/1900 MHz, der er i stand til at foretage opkald, SMS og dataoverførsel med markant reduceret batteriforbrug.
  • VDD TTL UART-interface, så du kan direkte tilslutte en MCU såsom 51MCU, ARM eller MSP430. VDD-stik bruges til at matche TTL-spænding.
  • Model: SIMCOM SIM800L
  • Arbejdsspænding: fra 3,7V til 5V;
  • dimensioner: 40 mm x 28 mm x 3 mm
  • GPRS multislot klasse 12/10
  • GPRS Batch-serviceklasse B
  • Svarer til GSM fase 2/2 +
  • Klasse 4 (2 watt @ 850/900 MHz)
  • Klasse 1 (1 Wat @ 1800/1900 MHz)

Nødvendige materialer


Du har brug for:


1. SIM800L V.2 GSM / GPRS-modul.
2. Arduino Uno.
3. 4-kanals 5-volt relæmodul.
4. Ledninger - jumpere.
5. Strømforsyning 5 V.
(Aktive links til butikken til køb)

Montering og konfiguration


Når du har tilsluttet alle komponenterne, skal du oprette et program og derefter downloade det til din Arduino. Men først skal du installere GPRS-biblioteket, som du kan downloade:
gprs.zip 28.02 Kb (downloads: 509)

Programkode til Arduino


Når du har tilsluttet dit SIM800L, 4-kanals relæmodul og Arduino til din computer, skal du indtaste koden herunder, og du er færdig.
#include #include #define TIMEOUT 5000 #define AKTIV LAV #definere OFF HIGH byte Relæ = {A0, A1, A2, A3}; byte StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = falsk; String replyNumber = "089510863958"; GPRS gprs; ugyldig opsætning () {for (int i = 0; i >> Automatisk læs SMS "); gprs.preInit (); forsinkelse (1000); mens (0! = gprs.init ()) {forsinkelse (1000); Seriel .print ("init errorrn");} // Administrer meddelelse til tilstand ASCII hvis (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {FEJL ("FEJL: CNMI") ; return;} // Læs indgående SMS, hvis (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0,0rn", "OK", TIMEOUT)) {ERROR ("ERROR: CNMI") ; return;} int pjg = replyNumber.length () + 1; buffNumberpjg; replyNumber.toCharArray (buffNumber, pjg); Serial.print ("Send svar til nummer =>"); Serial.println (buffNumber); Serial.println ("Initialisering udført"); Serial.println ("====================================== ========================))} void loop () {// Skift status Relæ ON / OFF for (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // =================================== ============================== >> Funktion af Relay Controller // Relay 1 Controller if (lastLine.indexOf ("Relay 1 ON ")> = 0) {StatRelay0 = Aktif; Serial.print ("Svar ==== >>>>"); Serial.println ("Relæ 1 status aktiv"); gprs.sendSMS (buffNumber, "Relæ 1 status aktiv"); } andet hvis (lastLine.indexOf ("Relay 1 OFF")> = 0) {StatRelay0 = MATI; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 1 Status Fra"); gprs.sendSMS (buffNumber, "Relay 1 Status Fra"); } // Relay 2 Controller if (lastLine.indexOf ("Relay 2 ON")> = 0) {StatRelay1 = AKTIF; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 2 Status Aktiv"); gprs.sendSMS (buffNumber, "Relay 2 Status Aktiv"); } andet hvis (lastLine.indexOf ("Relay 2 OFF")> = 0) {StatRelay1 = MATI; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 2 Status Fra"); gprs.sendSMS (buffNumber, "Relay 2 Status Fra"); } // Relay 3 Controller if (lastLine.indexOf ("Relay 3 ON")> = 0) {StatRelay2 = AKTIF; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 3 Status Aktiv"); gprs.sendSMS (buffNumber, "Relay 3 Status Active"); } andet hvis (lastLine.indexOf ("Relay 3 OFF")> = 0) {StatRelay2 = MATI; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 3 Status Fra"); gprs.sendSMS (buffNumber, "Relay 3 Status Fra"); } // Relay 4 Controller if (lastLine.indexOf ("Relay 4 ON")> = 0) {StatRelay3 = AKTIF; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 4 Status Active"); gprs.sendSMS (buffNumber, "Relæ 1 status aktiv"); } andet hvis (lastLine.indexOf ("Relay 4 OFF")> = 0) {StatRelay3 = MATI; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 4 Status Off"); gprs.sendSMS (buffNumber, "Relay 4 Status Fra"); } nextLineIsMessage = falsk; } // ================================================ =================== >>} // Ryd char array for næste linje af læst for (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (char) 0; } currentLineIndex = 0; } andet {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Enhedskontrol


Værktøjet fungerer ved at sende SMS til SIM800L med en bestemt rækkefølge af tegn. For at aktivere relæ 1 skal du f.eks. Bruge kommandoen "Relæ 1 TIL", og for at slå det fra, skal du bruge kommandoen "Relæ 1 FRA". Resten af ​​relæerne har næsten de samme kommandoer, med undtagelse af serienummeret på hvert relæ, som du vil handle på. Når du automatisk har sendt en meddelelse, sender SIM800 et svar i form af en statusmeddelelse for hvert SIM-kort.

Video samling, konfiguration og enhedsverifikation



Original artikel på engelsk

Pin
Send
Share
Send