SIM800L-basert SMS-kontroller

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRS er en firebånd GSM / GPRS-modul kompatibel med Arduino. Modulen brukes til å implementere funksjonene til GSM (samtaler og SMS) og GPRS. Fordelen med denne modulen er TTL-grensesnittet med en spenning på 5V, som lar deg koble den direkte til en Arduino eller et hvilket som helst annet system med en 5V strømforsyning. De fleste GSM / GPRS-moduler på markedet krever regulator-tilkoblinger eller nivåkonvertering, mens GSM / GPRS i SIM800L V.2 ikke krever flere konverteringskretser på grensesnittnivå.
Her er et eksempel på et prosjekt som bruker SIM800L V.2 GSM / GPRS. Meningen med prosjektet er å kontrollere bryterne ved hjelp av SMS-kontrolleren. Du kan enkelt slå av og på de fleste husholdningsapparater i huset, for eksempel en lama, en vifte og så videre.

Kjennetegn på SIM800L V.2 GSM / GPRS-modulen


Nedenfor er alle tekniske spesifikasjoner for SIM800L V.2 GSM / GPRS-modulen:
  • TTL seriell grensesnitt kompatibel med 3,3V og 5V mikrokontrollere kompatible med Arduino.
  • SIM800L-modulen har et serielt TTL-grensesnitt.
  • Antenneplugg
  • Nettverksstøtte: fire bånd 850/900/1800/1900 MHz, som kan ringe, SMS og dataoverføring med betydelig redusert batteriforbruk.
  • VDD TTL UART-grensesnitt, slik at du direkte kan koble til en MCU som 51MCU, ARM eller MSP430. VDD-plugg som brukes til å matche TTL-spenning.
  • Modell: SIMCOM SIM800L
  • Arbeidsspenning: fra 3,7V til 5V;
  • dimensjoner: 40mm x 28mm x 3mm
  • GPRS multislot klasse 12/10
  • GPRS Batch Service Class B
  • Tilsvarer GSM fase 2/2 +
  • Klasse 4 (2 watt @ 850/900 MHz)
  • Klasse 1 (1 Wat @ 1800/1900 MHz)

Nødvendige materialer


Du trenger:


1. SIM800L V.2 GSM / GPRS-modul.
2. Arduino Uno.
3. 4-kanals 5-volt relémodul.
4. Ledninger - hoppere.
5. Strømforsyning 5 V.
(Aktive lenker til butikken for kjøp)

Montering og konfigurasjon


Når du har koblet til alle komponentene, lager du et program og laster det ned til Arduino. Men først må du installere GPRS-biblioteket, som du kan laste ned:
gprs.zip 28.02 Kb (nedlastinger: 509)

Programkode for Arduino


Etter at du har koblet SIM800L, 4-kanals relémodul og Arduino til datamaskinen din, skriver du inn koden nedenfor og du er ferdig.
#include #include #define TIMEOUT 5000 #define ACTIVE LOW #define OFF HIGH byte Relé = {A0, A1, A2, A3}; byte StatRelay4; røye buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = falsk; String replyNumber = "089510863958"; GPRS gprs; ugyldig oppsett () {for (int i = 0; i >> Les automatisk SMS "); gprs.preInit (); forsinkelse (1000); mens (0! = gprs.init ()) {forsinkelse (1000); Seriell .print ("init errorrn");} // Administrer melding til modus ASCII hvis (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {FEIL ("FEIL: CNMI") ; return;} // Les innkommende SMS hvis (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0,0rn", "OK", TIMEOUT)) {FEIL ("FEIL: CNMI") ; return;} int pjg = replyNumber.length () + 1; buffNumberpjg; replyNumber.toCharArray (buffNumber, pjg); Serial.print ("Send svar til nummer =>"); Serial.println (buffNumber); Serial.println ("Initialisering gjort"); Serial.println ("====================================== ========================))} void loop () {// Endre status Relé ON / OFF for (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // =================================== ============================== >> Funksjon av relékontroller // Relay 1 Controller if (lastLine.indexOf ("Relé 1 ON) ")> = 0) {StatRelay0 = Aktif; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 1 Status Active"); gprs.sendSMS (buffNumber, "Relay 1 Status Active"); } annet hvis (lastLine.indexOf ("Relay 1 OFF")> = 0) {StatRelay0 = MATI; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 1 Status Off"); gprs.sendSMS (buffNumber, "Relay 1 Status Off"); } // Relay 2 Controller if (lastLine.indexOf ("Relay 2 ON")> = 0) {StatRelay1 = AKTIF; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 2 Status Active"); gprs.sendSMS (buffNumber, "Relay 2 Status Active"); } annet hvis (lastLine.indexOf ("Relé 2 OFF")> = 0) {StatRelay1 = MATI; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 2 Status Off"); gprs.sendSMS (buffNumber, "Relay 2 Status Off"); } // Relay 3 Controller if (lastLine.indexOf ("Relay 3 ON")> = 0) {StatRelay2 = AKTIF; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 3 Status Active"); gprs.sendSMS (buffNumber, "Relay 3 Status Active"); } annet hvis (lastLine.indexOf ("Relay 3 OFF")> = 0) {StatRelay2 = MATI; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 3 Status Off"); gprs.sendSMS (buffNumber, "Relay 3 Status Off"); } // Relay 4 Controller if (lastLine.indexOf ("Relay 4 ON")> = 0) {StatRelay3 = AKTIF; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 4 Status Active"); gprs.sendSMS (buffNumber, "Relay 1 Status Active"); } annet hvis (lastLine.indexOf ("Relay 4 OFF")> = 0) {StatRelay3 = MATI; Serial.print ("Svar ==== >>>>"); Serial.println ("Relay 4 Status Off"); gprs.sendSMS (buffNumber, "Relay 4 Status Off"); } nextLineIsMessage = falsk; } // ================================================ ==================== >>} // Tøm char array for neste linje av lest for (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (char) 0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Enhetssjekk


Verktøyet fungerer ved å sende SMS til SIM800L med en bestemt sekvens av tegn. For å aktivere stafett 1, bruker du for eksempel kommandoen "Relé 1 ON", og for å slå det av, bruk kommandoen "Relay 1 OFF". Resten av stafettene har nesten de samme kommandoene, med unntak av serienummeret til hvert stafett som du vil handle på. Etter å ha sendt en melding automatisk, vil SIM800 sende et svar i form av en statusmelding for hvert SIM-kort.

Videoenhet, konfigurasjon og verifisering av enheter



Originalartikkel på engelsk

Pin
Send
Share
Send