Učinite to sami
Majstorske tečajeve, upute, korisni savjeti, recepti.
» » »SMS kontroler zasnovan na SIM800L
SMS-kontroler na bazi SIM800L

SIM800L V2.0 GSM / GPRS je četveropojasni GSM / GPRS modul kompatibilan s Arduinom. Modul se koristi za implementaciju funkcija GSM (pozivi i SMS) i GPRS. Prednost ovog modula je TTL sučelje s naponom od 5 V, što vam omogućuje izravno povezivanje s Arduinom ili bilo kojim drugim sustavom s 5V napajanjem. Većina GSM / GPRS modula na tržištu zahtijevaju priključke regulatora ili konverziju nivoa, dok u SIM800L V.2 GSM / GPRS ne zahtijevaju dodatne konverzijske krugove na sučelju.

Ovdje je primjer projekta koji koristi SIM800L V.2 GSM / GPRS. Značenje projekta je upravljanje prekidačima pomoću SMS kontrolera. Lako možete uključiti i isključiti većinu kućanskih aparata u kući, poput lame, ventilatora i tako dalje.

Karakteristike SIM800L V.2 GSM / GPRS modula


Ispod su sve tehničke specifikacije SIM800L V.2 GSM / GPRS modula:
  • TTL serijsko sučelje kompatibilno s 3,3 V i 5 V mikrokontrolerom kompatibilno s Arduinom.
  • SIM800L modul ima TTL serijsko sučelje.
  • Antenski utikač
  • Mrežna podrška: četiri pojasa 850/900/1800/1900 MHz, sposobna za pozive, SMS i prijenos podataka uz značajno smanjenu potrošnju baterije.
  • VDD TTL UART sučelje, tako da možete izravno povezati MCU poput 51MCU, ARM ili MSP430. VDD utikač koji se koristi za podudaranje s TTL naponom.
  • Model: SIMCOM SIM800L
  • Radni napon: od 3,7 V do 5V;
  • dimenzije: 40mm x 28mm x 3mm
  • GPRS multislot klasa 12/10
  • GPRS Servisna klasa B
  • Odgovara GSM fazi 2/2 +
  • Klasa 4 (2 W @ 850/900 MHz)
  • Klasa 1 (1 Wat @ 1800/1900 MHz)


Potrebni materijali


SMS-kontroler na bazi SIM800L


Trebat će vam:


1. .
2. .
3. .
4. .
5. .
(Aktivne veze do trgovine za kupnju)

Montaža i konfiguracija


SMS-kontroler na bazi SIM800L


Nakon što spojite sve komponente, napravite program, a zatim ga preuzmite na svoj Arduino. Najprije morate instalirati GPRS knjižnicu koju možete preuzeti:

[28.02 Kb] (preuzimanja: 481)


Programski kod za Arduino


SMS-kontroler na bazi SIM800L


Nakon što na računalo povežete SIM800L, četverokanalni relejni modul i Arduino, unesite kôd dolje i gotovi ste.


#include
#include
#define TIMEOUT 5000
#define AKTIVNO NISKO
#define OFF HIGH

bajt relej [] = {A0, A1, A2, A3};
bajt StatRelay [4];
char buffNumber [20];
char currentLine [500] = "";
int currentLineIndex = 0;
bool nextLineIsMessage = netočno;
String replyNumber = "089510863958";
GPRS gprs;

poništavanje postave () {
za (int i = 0; i <4; i ++) {
pinMode (Relej [i], IZLAZ);
digitalWrite (relej [i], MATI);
StatRelay [i] = MATI;
}

Serijski počet (9600);
dok (! serijski);
Serial.println ("Aktiviraj SIM800L V2 >>> Automatski čitaj SMS");
gprs.preInit ();
kašnjenje (1000);
dok je (0! = gprs.init ()) {
kašnjenje (1000);
Serial.print ("init errorrn");
}

// Upravljanje porukom u načinu ASCII
ako je (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {
GREŠKA ("GREŠKA: CNMI");
povratak;
}
// Pročitajte dolazne SMS-ove
if (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0,0rn", "OK", TIMEOUT)) {
GREŠKA ("GREŠKA: CNMI");
povratak;
}
int pjg = replyNumber.length () + 1;
buffNumber [pjg];
replyNumber.toCharArray (buffNumber, pjg);
Serial.print ("Pošaljite odgovor na broj =>");
Serial.println (buffNumber);
Serial.println ("Dovršeno inicijaliziranje");
Serial.println ("================================================ ================= ");
}

void petlja () {
// Promjena statusnog releja ON / OFF
za (int i = 0; i <4; i ++) {
digitalWrite (relej [i], statRelay [i]);
}

// Ako postoje ulazni podaci sa SIM800
ako je (gprs.serialSIM800.available ()) {
char lastCharRead = gprs.serialSIM800.read ();

// Spremite sve podatke na lastCharRead, zatim, ako postoji r ili n, kao završni signal dolazne poruke
ako (lastCharRead == 'r' || lastCharRead == 'n') {
String lastLine = String (trenutna linija);

// Ako zadnja poruka + CMT ukazuje na novu poruku stići
ako (lastLine.startsWith ("+ CMT:")) {
Serijski.println (lastLine);
nextLineIsMessage = istina;
} else if (lastLine.length ()> 0) {
ako (nextLineIsMessage) {
Serijski.println (lastLine);

// ==================================================== ================== >> Funkcija relejnog regulatora

// Upravljač releja 1

ako je (lastLine.indexOf ("Relej 1 UKLJUČEN")> = 0) {
StatRelay [0] = AKTIF;
Serial.print ("Odgovor ==== >>>>");
Serial.println ("Status releja 1 je aktivan");
gprs.sendSMS (buffNumber, "Relay 1 Status Active");
}

drugo ako (lastLine.indexOf ("Relej 1 isključen")> = 0) {
StatRelay [0] = MATI;
Serial.print ("Odgovor ==== >>>>");
Serial.println ("Status releja 1 isključen");
gprs.sendSMS (buffNumber, "Relay 1 Status Off");
}

// Upravljač releja 2

ako je (lastLine.indexOf ("Relej 2 UKLJUČEN")> = 0) {
StatRelay [1] = AKTIF;
Serial.print ("Odgovor ==== >>>>");
Serial.println ("Status releja 2 je aktivan");
gprs.sendSMS (buffNumber, "Relay 2 Status Active");
}
drugo ako (lastLine.indexOf ("Relej 2 isključen")> = 0) {
StatRelay [1] = MATI;
Serial.print ("Odgovor ==== >>>>");
Serial.println ("Status releja 2 isključen");
gprs.sendSMS (buffNumber, "Status releja 2 isključen");
}

// Upravljač 3 releja
ako je (lastLine.indexOf ("Relej 3 UKLJUČEN")> = 0) {
StatRelay [2] = AKTIF;
Serial.print ("Odgovor ==== >>>>");
Serial.println ("Status releja 3 aktivan");
gprs.sendSMS (buffNumber, "Relay 3 Status Active");
}
drugo ako (lastLine.indexOf ("Relej 3 isključen")> = 0) {
StatRelay [2] = MATI;
Serial.print ("Odgovor ==== >>>>");
Serial.println ("Status releja 3 isključen");
gprs.sendSMS (buffNumber, "Status releja 3 isključen");
}

// Regulator releja 4
ako je (lastLine.indexOf ("Relej 4 UKLJUČEN")> = 0) {
StatRelay [3] = AKTIF;
Serial.print ("Odgovor ==== >>>>");
Serial.println ("Status releja 4 je aktivan");
gprs.sendSMS (buffNumber, "Relay 1 Status Active");
}
drugo ako je (lastLine.indexOf ("Relej 4 isključen")> = 0) {
StatRelay [3] = MATI;
Serial.print ("Odgovor ==== >>>>");
Serial.println ("Status releja 4 isključen");
gprs.sendSMS (buffNumber, "Status releja 4 isključen");
}
nextLineIsMessage = netočno;
}

// ==================================================== ==================== >>

}
// Očistite niz znakova za sljedeći redak čitanja
for (int i = 0; i 


Provjera uređaja


SMS-kontroler na bazi SIM800L


Alat radi slanjem SMS-a na SIM800L s određenim nizom znakova. Na primjer, da biste uključili relej 1, koristite naredbu "Relej 1 UKLJUČENO", a za isključenje koristite naredbu "Relej 1 OFF". Ostali releji imaju gotovo iste naredbe, s izuzetkom serijskog broja svakog releja na koji želite djelovati. Nakon što automatski pošalje poruku, SIM800 će poslati odgovor u obliku statusne poruke za svaku SIM karticu.

Montaža, konfiguracija i provjera videa za videozapise



Vrati se
Komentari (4)
  1. qeeeq
    #1 qeeeq gosti 26. kolovoza 2017. 23:50
    0
    Wow! Kako kažu, sve genijalno je jednostavno. Nisam čak morala ništa kupiti, vjerojatno u svakom takvom smeću kod kuće
  2. Alexey
    #2 Alexey gosti 16. prosinca 2017. 16:53
    0
    Ne uspijeva. Prilikom sastavljanja piše „Arduino: 1.8.5 sat po satu 2017/08/28 06:33 (Windows 7), zajednica:„ Arduino / Genuino Uno “
    1. Denis
      #3 Denis gosti 17. prosinca 2017. 08:11
      0
      Morate koristiti stazu bez ruskih slova do projekta.
  3. Andrija
    #4 Andrija gosti 10. veljače 2019. 11:54
    0
    U skici je puno pogrešaka. Neće raditi.