SIM800L-pohjainen SMS-ohjain

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRS on nelikaistainen GSM / GPRS-moduuli, joka on yhteensopiva Arduinon kanssa. Moduulia käytetään toteuttamaan GSM (puhelut ja SMS) ja GPRS toiminnot. Tämän moduulin etuna on TTL-liitäntä, jonka jännite on 5 V, jonka avulla voit kytkeä sen suoraan Arduinoon tai muuhun järjestelmään, jossa on 5 V: n virtalähde. Suurin osa markkinoilla olevista GSM / GPRS-moduuleista vaatii säädinyhteyksiä tai tasonmuuntamista, kun taas SIM800L V.2: ssa GSM / GPRS ei vaadi lisärajapintatason muuntamispiirejä.
Tässä on esimerkkihankkeesta, jossa käytetään SIM800L V.2 GSM / GPRS. Projektin tarkoituksena on ohjata kytkimiä SMS-ohjaimella. Voit helposti kytkeä päälle ja pois päältä useimmat talon kodinkoneet, kuten esimerkiksi laama, tuuletin ja niin edelleen.

GSM / GPRS-moduulin SIM800L V.2 ominaisuudet


Alla on kaikki SIM800L V.2 GSM / GPRS-moduulin tekniset tiedot:
  • TTL-sarjaliitäntä yhteensopiva 3,3 V: n ja 5 V: n mikro-ohjaimien kanssa, jotka ovat yhteensopivia Arduinon kanssa.
  • SIM800L-moduulissa on TTL-sarjaliitäntä.
  • Antenniliitin
  • Verkkotuki: neljä taajuusaluetta 850/900/1800/1900 MHz, jotka voivat soittaa puheluita, tekstiviestejä ja tiedonsiirtoa vähentämällä merkittävästi akun kulutusta.
  • VDD TTL UART -liitäntä, joten voit kytkeä suoraan MCU: n, kuten 51MCU, ARM tai MSP430. VDD-pistoke, jota käytetään TTL-jännitteen vastaamiseen.
  • Malli: SIMCOM SIM800L
  • Käyttöjännite: 3,7 V - 5 V;
  • mitat: 40mm x 28mm x 3mm
  • GPRS-monivälin luokka 12/10
  • GPRS-eräpalveluluokka B
  • Vastaa GSM-vaihetta 2/2 +
  • Luokka 4 (2 wattia @ 850/900 MHz)
  • Luokka 1 (1 watti @ 1800/1900 MHz)

Vaadittavat materiaalit


Tarvitset:


1. SIM800L V.2 GSM / GPRS-moduuli.
2. Arduino Uno.
3. 4-kanavainen 5 voltin relemoduuli.
4. Johdot - puserot.
5. Virtalähde 5 V.
(Aktiiviset linkit myymälään ostettavaksi)

Kokoonpano ja kokoonpano


Kun olet kytkenyt kaikki komponentit, luo ohjelma ja lataa se sitten Arduinoon. Mutta ensin on asennettava GPRS-kirjasto, jonka voit ladata:
gprs.zip 28,02 Kb (lataukset: 509)

Ohjelman koodi Arduinolle


Kun olet kytkenyt SIM800L, 4-kanavainen relemoduuli ja Arduino tietokoneeseen, kirjoita alla oleva koodi ja olet valmis.
# Sisällytä # Sisällytä #define TIMEOUT 5000 #define ACTIVE LOW #define OFF HIGH byte Relay = {A0, A1, A2, A3}; tavu StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = false; Merkkijonon vastausnumero = "089510863958"; GPRS-GPRS: t; tyhjä asetus () {varten (int i = 0; i >> Lue SMS automaattisesti "); gprs.preInit (); viive (1000); kun taas (0! = gprs.init ()) {viive (1000); sarja .print ("init errorrn");} // Viestin hallinta ASCII-moodiin, jos (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERROR ("ERROR: CNMI") ; palauta;} // Lue saapuvat tekstiviestit, jos (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0,0rn", "OK", TIMEOUT)) {ERROR ("VIRHE: CNMI") ; paluu;} int pjg = vastausnumero.length () + 1; buffNumberpjg; vastausnumero.toCharArray (buffNumber, pjg); Serial.print ("Lähetä vastaus numeroon =>"); Serial.println (buffNumber); Serial.println ("Alustus valmis"); Serial.println ("====================================== ========================))} tyhjä silmukka () {// Vaihda tilan rele päälle / pois päältä (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // =================================== ============================== >> Releohjaimen toiminta // Rele 1 -ohjain, jos (lastLine.indexOf ("Rele 1 ON ")> = 0) {StatRelay0 = Aktif; Serial.print ("Vastaa ==== >>>>"); Serial.println ("Rele 1 tila aktiivinen"); gprs.sendSMS (buffNumber, "Rele 1 tila aktiivinen"); } else if (lastLine.indexOf ("Relay 1 OFF")> = 0) {StatRelay0 = MATI; Serial.print ("Vastaa ==== >>>>"); Serial.println ("Relay 1 Status Off"); gprs.sendSMS (buffNumber, "Relay 1 Status Off"); } // Rele 2 -ohjain, jos (lastLine.indexOf ("Rele 2 ON")> = 0) {StatRelay1 = AKTIF; Serial.print ("Vastaa ==== >>>>"); Serial.println ("Relay 2 Status Active"); gprs.sendSMS (buffNumber, "Relay 2 Status Active"); } else if (lastLine.indexOf ("Relay 2 OFF")> = 0) {StatRelay1 = MATI; Serial.print ("Vastaa ==== >>>>"); Serial.println ("Relay 2 Status Off"); gprs.sendSMS (buffNumber, "Relay 2 Status Off"); } // Rele 3 -ohjain, jos (lastLine.indexOf ("Rele 3 ON")> = 0) {StatRelay2 = AKTIF; Serial.print ("Vastaa ==== >>>>"); Serial.println ("Relay 3 Status Active"); gprs.sendSMS (buffNumber, "Relay 3 Status Active"); } else if (lastLine.indexOf ("Relay 3 OFF")> = 0) {StatRelay2 = MATI; Serial.print ("Vastaa ==== >>>>"); Serial.println ("Relay 3 Status Off"); gprs.sendSMS (buffNumber, "Relay 3 Status Off"); } // Rele 4 -ohjain, jos (lastLine.indexOf ("Rele 4 ON")> = 0) {StatRelay3 = AKTIF; Serial.print ("Vastaa ==== >>>>"); Serial.println ("Relay 4 Status Active"); gprs.sendSMS (buffNumber, "Rele 1 tila aktiivinen"); } else if (lastLine.indexOf ("Relay 4 OFF")> = 0) {StatRelay3 = MATI; Serial.print ("Vastaa ==== >>>>"); Serial.println ("Relay 4 Status Off"); gprs.sendSMS (buffNumber, "Relay 4 Status Off"); } nextLineIsMessage = false; } // ================================================== =================== >>} // Tyhjennä seuraavan luettavan rivin merkkijono (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (char) 0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Laitteen tarkistus


Työkalu toimii lähettämällä tekstiviestejä SIM800L: lle tietyllä merkkijonolla. Jos haluat esimerkiksi ottaa releen 1 käyttöön, käytä komentoa "Rele 1 ON" ja kytke se pois päältä komenolla "Rele 1 OFF". Muilla releillä on melkein samat komennot, paitsi niiden releiden sarjanumerot, joihin haluat toimia. Kun viesti on lähetetty automaattisesti, SIM800 lähettää vastauksen tilaviestin muodossa jokaiselle SIM-kortille.

Videon kokoonpano, kokoonpano ja laitteen varmennus



Alkuperäinen artikkeli englanniksi

Pin
Send
Share
Send