Op SIM800L gebaseerde SMS-controller

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRS is een quad-band GSM / GPRS-module compatibel met Arduino. De module wordt gebruikt om de functies van GSM (oproepen en SMS) en GPRS te implementeren. Het voordeel van deze module is de TTL-interface met een spanning van 5V, waardoor u deze rechtstreeks kunt aansluiten op een Arduino of een ander systeem met een 5V-voeding. De meeste GSM / GPRS-modules op de markt vereisen regulatorverbindingen of niveauconversie, terwijl in SIM800L V.2 GSM / GPRS geen extra interfaceniveauconversiecircuits vereist.
Hier is een voorbeeldproject met SIM800L V.2 GSM / GPRS. De betekenis van het project is om de schakelaars te bedienen met behulp van de SMS-controller. U kunt de meeste huishoudelijke apparaten in huis gemakkelijk in- en uitschakelen, zoals een lama, een ventilator, enzovoort.

Kenmerken van de SIM800L V.2 GSM / GPRS-module


Hieronder staan ​​alle technische specificaties van de SIM800L V.2 GSM / GPRS-module:
  • TTL seriële interface compatibel met 3.3V en 5V microcontrollers compatibel met Arduino.
  • De SIM800L-module heeft een TTL seriële interface.
  • Antenne plug
  • Netwerkondersteuning: vier banden 850/900/1800/1900 MHz, geschikt voor bellen, sms'en en gegevensoverdracht met aanzienlijk lager batterijverbruik.
  • VDD TTL UART-interface, zodat u rechtstreeks een MCU zoals 51MCU, ARM of MSP430 kunt aansluiten. VDD-stekker gebruikt om TTL-spanning te matchen.
  • Model: SIMCOM SIM800L
  • Werkspanning: van 3,7 V tot 5 V;
  • afmetingen: 40 mm x 28 mm x 3 mm
  • GPRS multislot-klasse 12/10
  • GPRS Batch Service Klasse B
  • Komt overeen met GSM-fase 2/2 +
  • Klasse 4 (2 Watts bij 850/900 MHz)
  • Klasse 1 (1 Wat @ 1800/1900 MHz)

Benodigde materialen


Je hebt nodig:


1. SIM800L V.2 GSM / GPRS-module.
2. Arduino Uno.
3. 4-kanaals 5-volt relaismodule.
4. Draden - jumpers.
5. Voeding 5 V.
(Actieve links naar de winkel om te kopen)

Montage en configuratie


Nadat u alle componenten hebt aangesloten, maakt u een programma en downloadt u dit naar uw Arduino. Maar eerst moet u de GPRS-bibliotheek installeren, die u kunt downloaden:
gprs.zip 28.02 Kb (downloads: 509)

Programmacode voor Arduino


Nadat u uw SIM800L, 4-kanaals relaismodule en Arduino op uw computer hebt aangesloten, voert u de onderstaande code in en u bent klaar.
#include #include #define TIMEOUT 5000 #define ACTIEF LAAG #define UIT HOOG byte Relais = {A0, A1, A2, A3}; byte StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = false; String replyNumber = "089510863958"; GPRS gprs; void setup () {for (int i = 0; i >> SMS automatisch lezen "); gprs.preInit (); delay (1000); while (0! = gprs.init ()) {delay (1000); Serial .print ("init errorrn");} // Beheer bericht naar modus ASCII if (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERROR ("ERROR: CNMI") ; retour;} // Inkomende sms lezen if (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 ("Antwoord verzenden naar nummer =>"); Serial.println (buffNumber); Serial.println ("Initialisatie voltooid"); Serial.println ("====================================== ========================))} ongeldige lus () {// Wijzig statusrelais AAN / UIT voor (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // =================================== ============================== >> Functie van Relay Controller // Relay 1 Controller if (lastLine.indexOf ("Relay 1 ON ")> = 0) {StatRelay0 = Aktif; Serial.print ("Reply ==== >>>>"); Serial.println ("Relay 1 Status Active"); gprs.sendSMS (buffNumber, "Relay 1 Status Active"); } anders if (lastLine.indexOf ("Relay 1 OFF")> = 0) {StatRelay0 = MATI; Serial.print ("Reply ==== >>>>"); 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 ("Reply ==== >>>>"); Serial.println ("Relay 2 Status Active"); gprs.sendSMS (buffNumber, "Relay 2 Status Active"); } anders if (lastLine.indexOf ("Relay 2 OFF")> = 0) {StatRelay1 = MATI; Serial.print ("Reply ==== >>>>"); 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 ("Reply ==== >>>>"); Serial.println ("Relay 3 Status Active"); gprs.sendSMS (buffNumber, "Relay 3 Status Active"); } anders if (lastLine.indexOf ("Relay 3 OFF")> = 0) {StatRelay2 = MATI; Serial.print ("Reply ==== >>>>"); 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 ("Reply ==== >>>>"); Serial.println ("Relay 4 Status Active"); gprs.sendSMS (buffNumber, "Relay 1 Status Active"); } anders if (lastLine.indexOf ("Relay 4 OFF")> = 0) {StatRelay3 = MATI; Serial.print ("Reply ==== >>>>"); Serial.println ("Relay 4 Status Off"); gprs.sendSMS (buffNumber, "Relay 4 Status Off"); } nextLineIsMessage = false; } // ================================================ =================== >>} // Wis char array voor de volgende leesregel voor (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (char) 0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Apparaatcontrole


De tool werkt door een sms naar SIM800L te verzenden met een specifieke reeks tekens. Om bijvoorbeeld relais 1 in te schakelen, gebruikt u de opdracht "Relais 1 AAN" en gebruikt u de opdracht "Relais 1 UIT" om dit uit te schakelen. De rest van de relais hebben bijna dezelfde opdrachten, met uitzondering van het serienummer van elk relais waarop u wilt reageren. Nadat automatisch een bericht is verzonden, verzendt de SIM800 een antwoord in de vorm van een statusbericht voor elke SIM-kaart.

Video-assemblage, configuratie en apparaatverificatie



Oorspronkelijk artikel in het Engels

Pin
Send
Share
Send

Bekijk de video: GSM BASED RELAY CONTROL (April 2024).