Uz SIM800L balstīts SMS kontrolieris

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRS ir četrjoslu GSM / GPRS modulis, kas savietojams ar Arduino. Modulis tiek izmantots, lai ieviestu GSM (zvani un SMS) un GPRS funkcijas. Šī moduļa priekšrocība ir TTL saskarne ar 5 V spriegumu, kas ļauj to tieši savienot ar Arduino vai jebkuru citu sistēmu ar 5 V barošanas avotu. Lielākajai daļai tirgū esošo GSM / GPRS moduļu ir nepieciešami regulatora savienojumi vai līmeņa pārveidošana, savukārt SIM800L V.2 GSM / GPRS nav nepieciešamas papildu interfeisa līmeņa pārveidošanas shēmas.
Šeit ir piemērs projektam, izmantojot SIM800L V.2 GSM / GPRS. Projekta mērķis ir kontrolēt slēdžus, izmantojot SMS kontrolieri. Jūs varat viegli ieslēgt un izslēgt lielāko daļu mājas sadzīves tehnikas, piemēram, lamu, ventilatoru utt.

GSM / GPRS moduļa SIM800L V.2 raksturojums


Tālāk ir norādītas visas GSM / GPRS moduļa SIM800L V.2 tehniskās specifikācijas:
  • TTL seriālais interfeiss, kas savietojams ar 3,3 V un 5 V mikrokontrolleriem, kas ir saderīgi ar Arduino.
  • Modulim SIM800L ir TTL seriālais interfeiss.
  • Antenas spraudnis
  • Tīkla atbalsts: četras joslas 850/900/1800/1900 MHz, kas spēj veikt zvanus, SMS un datu pārsūtīšanu ar ievērojami samazinātu akumulatora patēriņu.
  • VDD TTL UART interfeiss, lai jūs varētu tieši savienot tādu MCU, kā 51MCU, ARM vai MSP430. VDD spraudnis, ko izmanto, lai atbilstu TTL spriegumam.
  • Modelis: SIMCOM SIM800L
  • Darba spriegums: no 3,7 V līdz 5 V;
  • izmēri: 40mm x 28mm x 3mm
  • GPRS multislot klase 12/10
  • GPRS pakešpakalpojumu klase B
  • Atbilst GSM fāzei 2/2 +
  • 4. klase (2 vati @ 850/900 MHz)
  • 1. klase (1 Wat = 1800/1900 MHz)

Nepieciešamie materiāli


Jums būs nepieciešams:


1. SIM800L V.2 GSM / GPRS modulis.
2. Arduino Uno.
3. 4 kanālu 5 voltu releja modulis.
4. Vadi - džemperi.
5. Barošana 5 V
(Aktīvās saites uz veikalu iegādei)

Montāža un konfigurācija


Kad visi komponenti ir savienoti, izveidojiet programmu un lejupielādējiet to savā Arduino. Bet vispirms jums jāinstalē GPRS bibliotēka, kuru varat lejupielādēt:
gprs.zip 28,02 Kb (lejupielādes: 509)

Programmas kods Arduino


Kad esat savienojis datoru ar SIM800L, četrkanālu releja moduli un Arduino, ievadiet zemāk esošo kodu un esat pabeidzis.
# iekļaut # iekļaut #definēt TIMEOUT 5000 #definēt AKTĪVU MAZU #definēt OFF HIGH baitu releju = {A0, A1, A2, A3}; baits StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = nepatiess; Virknes atbildeNumber = "089510863958"; GPRS GPRS; spēkā neesoša iestatīšana () {par (int i = 0; i >> Automātiski lasīt īsziņu "); gprs.preInit (); kavēšanās (1000); savukārt (0! = gprs.init ()) {kavēšanās (1000); sērijas .print ("init errorrn");} // Pārvaldiet ziņojumu uz režīmu ASCII, ja (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERROR ("KĻŪDA: CNMI") ; atgriešanās;} // Izlasiet ienākošo SMS, ja (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0,0rn", "OK", TIMEOUT)) {KĻŪDA ("KĻŪDA: CNMI") ; atgriešanās;} int pjg = answerNumber.length () + 1; buffNumberpjg; answerNumber.toCharArray (buffNumber, pjg); Serial.print ("Nosūtīt atbildi uz numuru =>"); Serial.println (buffNumber); Serial.println ("Inicializācija pabeigta"); Serial.println ("====================================== ========================))} void loop () {// Mainīt statusa releju ON / OFF (iekš i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // ===================================== ============================== >> Releju regulatora funkcija // 1. releja kontrolieris, ja (lastLine.indexOf ("1. relejs ieslēgts) ")> = 0) {StatRelay0 = AKTIF; Serial.print ("Atbildēt ==== >>>>"); Serial.println ("1. releja statuss aktīvs"); gprs.sendSMS (buffNumber, "1. releja statuss aktīvs"); } cits, ja (lastLine.indexOf ("1. relejs izslēgts")> = 0) {StatRelay0 = MATI; Serial.print ("Atbildēt ==== >>>>"); Serial.println ("1. releja statuss izslēgts"); gprs.sendSMS (buffNumber, "1. releja statuss izslēgts"); } // 2. releja kontrolieris, ja (lastLine.indexOf ("2. relejs ieslēgts")> = 0) {StatRelay1 = AKTIF; Serial.print ("Atbildēt ==== >>>>"); Serial.println ("Relay 2 Status Active"); gprs.sendSMS (buffNumber, "2. releja statuss aktīvs"); } cits, ja (lastLine.indexOf ("2. relejs izslēgts")> = 0) {StatRelay1 = MATI; Serial.print ("Atbildēt ==== >>>>"); Serial.println ("2. releja statuss izslēgts"); gprs.sendSMS (buffNumber, "2. releja statuss izslēgts"); } // 3. releja kontrolieris, ja (lastLine.indexOf ("3. relejs ieslēgts")> = 0) {StatRelay2 = AKTIF; Serial.print ("Atbildēt ==== >>>>"); Serial.println ("3. releja statuss aktīvs"); gprs.sendSMS (buffNumber, "3. releja statuss aktīvs"); } cits ja (lastLine.indexOf ("3. relejs izslēgts")> = 0) {StatRelay2 = MATI; Serial.print ("Atbildēt ==== >>>>"); Serial.println ("3. releja statuss izslēgts"); gprs.sendSMS (buffNumber, "3. releja statuss izslēgts"); } // 4. releja kontrolieris, ja (lastLine.indexOf ("Relejs 4 ON")> = 0) {StatRelay3 = AKTIF; Serial.print ("Atbildēt ==== >>>>"); Serial.println ("Relay 4 Status Active"); gprs.sendSMS (buffNumber, "1. releja statuss aktīvs"); } cits, ja (lastLine.indexOf ("Relay 4 OFF")> = 0) {StatRelay3 = MATI; Serial.print ("Atbildēt ==== >>>>"); Serial.println ("4. releja statuss izslēgts"); gprs.sendSMS (buffNumber, "4. releja statuss izslēgts"); } nextLineIsMessage = nepatiess; } // ================================================ =================== >>} // Notīrīt rakstzīmju masīvu nākamajai lasāmās rindas daļai (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (char) 0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Ierīces pārbaude


Rīks darbojas, nosūtot SMS uz SIM800L ar noteiktu rakstzīmju secību. Piemēram, lai iespējotu 1. releju, izmantojiet komandu “1. relejs ieslēgts” un, lai to izslēgtu, izmantojiet komandu “1. relejs izslēgts”. Pārējiem relejiem ir gandrīz vienādas komandas, izņemot katra releja, uz kuru vēlaties darboties, sērijas numuru. Pēc automātiskas ziņojuma nosūtīšanas SIM800 par katru SIM karti nosūtīs atbildi statusa ziņojuma veidā.

Video montāža, konfigurēšana un ierīces verifikācija



Oriģināls raksts angļu valodā

Pin
Send
Share
Send