Urob si sám
Life hacky, majstrovské kurzy, užitočné tipy, recepty.
Domov » Elektronika » Elektronika z Číny » SMS ovládač založený na SIM800L
SMS ovládač založený na SIM800L

SIM800L V2.0 GSM/GPRS je štvorpásmový GSM/GPRS modul kompatibilný s Arduino. Modul slúži na implementáciu funkcií GSM (hovory a SMS) a GPRS. Výhodou tohto modulu je rozhranie TTL, ktoré má napätie 5V, čo umožňuje priame pripojenie k Arduinu alebo akémukoľvek inému systému s napájacím napätím 5V. Väčšina modulov GSM/GPRS na trhu vyžaduje pripojenie regulátora alebo konverziu úrovne, zatiaľ čo v SIM800L V.2 GSM/GPRS nevyžaduje ďalšie obvody na konverziu úrovne rozhrania.

Uveďme príklad projektu pomocou SIM800L V.2 GSM/GPRS. Zmyslom projektu je ovládanie výhybiek pomocou SMS ovládača. Môžete jednoducho zapnúť a vypnúť väčšinu domácich spotrebičov v dome, ako je lama, ventilátor atď.

Charakteristika modulu SIM800L V.2 GSM/GPRS


Nižšie sú uvedené všetky technické charakteristiky modulu SIM800L V.2 GSM/GPRS:
  • Sériové rozhranie TTL kompatibilné s 3,3V a 5V kompatibilnými mikrokontrolérmi Arduino.
  • Modul SIM800L má sériové rozhranie TTL.
  • Konektor na pripojenie antény.
  • Podpora siete: štyri pásma 850/900/1800/1900 MHz, schopné uskutočňovať hovory, SMS a dátové prenosy s výrazne zníženou spotrebou batérie.
  • Rozhranie VDD TTL UART, takže môžete priamo pripojiť MCU, ako je 51MCU, ARM alebo MSP430.Zástrčka VDD sa používa na prispôsobenie napätia TTL.
  • Model: SIMCOM SIM800L
  • Prevádzkové napätie: od 3,7V do 5V;
  • rozmery: 40 mm x 28 mm x 3 mm
  • GPRS multislot triedy 12/10
  • Paketová služba GPRS triedy B
  • Vyhovuje GSM fáze 2/2+
  • Trieda 4 (2 watty pri 850/900 MHz)
  • Trieda 1 (1 Watt @ 1800/1900 MHz)


Potrebné materiály


SMS ovládač založený na SIM800L


Budete potrebovať:


1. SIM800L V.2 GSM/GPRS modul.
2. Arduino Uno.
3. 4-kanálový 5V reléový modul.
4. Drôty - prepojky.
5. Napájanie 5V.
(Aktívne odkazy na obchod na nákup)

Montáž a konfigurácia


SMS ovládač založený na SIM800L


Po pripojení všetkých komponentov vytvorte program a potom ho nahrajte do svojho Arduina. Najprv si však musíte nainštalovať knižnicu GPRS, ktorú si môžete stiahnuť:

gprs.zip [28,02 Kb] (stiahnutia: 887)


Programový kód pre Arduino


SMS ovládač založený na SIM800L


Po pripojení SIM800L, 4 kanálového reléového modulu a Arduina k počítaču zadajte nižšie uvedený kód a máte hotovo.


#include 
#include
#define TIMEOUT 5000
#define AKTÍVNE NÍZKE
#define OFF HIGH

byte Relay[] = {A0,A1,A2,A3};
byte StatRelay[4];
char buffNumber[20];
char currentLine[500] = "";
int currentLineIndex = 0;
bool nextLineIsMessage = false;
String replyNumber = "089510863958";
GPRS gprs;

void setup() {
for(int i=0; i < 4; i++) {
pinMode(relé[i] , VÝSTUP);
digitalWrite(relé[i], MATI);
StatRelay[i] = MATI;
}

Serial.begin(9600);
while(!Seriál);
Serial.println("Aktivovať SIM800L V2 >>> Automaticky čítať SMS");
gprs.preInit();
oneskorenie(1000);
while (0 != gprs.init()) {
oneskorenie(1000);
Serial.print("init errorrn");
}

// Správa správy do režimu ASCII
if (0 != gprs.sendCmdAndWaitForResp("AT+CMGF=1rn", "OK", TIMEOUT)) {
ERROR("CHYBA:CNMI");
návrat;
}
// Čítanie prichádzajúcej SMS
if (0 != gprs.sendCmdAndWaitForResp("AT+CNMI=1,2,0,0,0rn", "OK", TIMEOUT)) {
ERROR("CHYBA:CNMI");
návrat;
}
int pjg = odpovedCislo.dlzka() + 1;
buffNumber[pjg];
answerNumber.toCharArray(buffNumber,pjg);
Serial.print("Odoslať odpoveď na číslo => ");
Serial.println(buffNumber);
Serial.println("Inicializácia dokončená");
Serial.println("============================================== ================================");
}

void loop() {
// Zmena stavu relé ZAP/VYP
for(int i=0; i < 4; i++) {
digitalWrite(Relay[i], StatRelay[i]);
}

// Ak existujú vstupné dáta zo SIM800
if (gprs.serialSIM800.available()) {
char lastCharRead = gprs.serialSIM800.read();

// Uložte všetky údaje na lastCharRead, potom ak je tam r alebo n, ako konečný signál prichádzajúcej správy
if (lastCharRead == 'r' || lastCharRead == 'n') {
String posledny riadok = String(aktualny riadok);

// Ak posledná správa +CMT označuje príchod novej správy
if (lastLine.startsWith("+CMT:")) {
Serial.println(posledny riadok);
nextLineIsMessage = true;
} else if (lastLine.length() > 0) {
if (nextLineIsMessage) {
Serial.println(posledny riadok);

// ================================================= ==== ================>> Funkcia reléového ovládača

//Ovládač relé 1

if (lastLine.indexOf("Relé 1 ON") >= 0) {
StatRelay[0] = AKTIF;
Serial.print("Odpovedať====>>>>");
Serial.println("Aktívny stav relé 1");
gprs.sendSMS(číslo buff, "Stav relé 1 aktívny");
}

else if (lastLine.indexOf("Relé 1 VYPNUTÉ") >= 0) {
StatRelay[0] = MATI;
Serial.print("Odpovedať====>>>>");
Serial.println("Stav relé 1 vypnutý");
gprs.sendSMS(číslo buff, "Stav relé 1 vypnutý");
}

//Ovládač relé 2

if (lastLine.indexOf("Relé 2 ON") >= 0) {
StatRelay[1] = AKTIF;
Serial.print("Odpovedať====>>>>");
Serial.println("Aktívny stav relé 2");
gprs.sendSMS(buffNumber, "Stav relé 2 aktívny");
}
else if (lastLine.indexOf("Relé 2 VYPNUTÉ") >= 0) {
StatRelay[1] = MATI;
Serial.print("Odpovedať====>>>>");
Serial.println("Stav relé 2 vypnutý");
gprs.sendSMS(číslo buff, "Stav relé 2 vypnutý");
}

//Ovládač relé 3
if (lastLine.indexOf("relé 3 ZAP") >= 0) {
StatRelay[2] = AKTIF;
Serial.print("Odpovedať====>>>>");
Serial.println("Aktívny stav relé 3");
gprs.sendSMS(buffNumber, "Stav relé 3 aktívny");
}
else if (lastLine.indexOf("relé 3 VYPNUTÉ") >= 0) {
StatRelay[2] = MATI;
Serial.print("Odpovedať====>>>>");
Serial.println("Stav relé 3 vypnutý");
gprs.sendSMS(číslo buff, "Stav relé 3 vypnutý");
}

//Ovládač relé 4
if (lastLine.indexOf("relé 4 ZAP") >= 0) {
StatRelay[3] = AKTIF;
Serial.print("Odpovedať====>>>>");
Serial.println("Aktívny stav relé 4");
gprs.sendSMS(číslo buff, "Stav relé 1 aktívny");
}
else if (lastLine.indexOf("relé 4 VYPNUTÉ") >= 0) {
StatRelay[3] = MATI;
Serial.print("Odpovedať====>>>>");
Serial.println("Stav relé 4 vypnutý");
gprs.sendSMS(číslo buff, "Stav relé 4 vypnutý");
}
nextLineIsMessage = false;
}

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

}
//Vymazať pole znakov pre ďalší riadok čítania
for ( int i = 0; i < sizeof(currentLine); ++i ) {
aktualny riadok[i] = (char)0;
}
currentLineIndex = 0;
}
inak {
currentLine[currentLineIndex++] = lastCharRead;
}
}
}


Kontrola zariadenia


SMS ovládač založený na SIM800L


Nástroj funguje tak, že na SIM800L odošle SMS so špecifickou sekvenciou znakov. Napríklad na zapnutie relé 1 použite príkaz „Relé 1 ZAP“ a na jeho vypnutie použite príkaz „Relé 1 VYP“. Pre ostatné relé sú príkazy takmer rovnaké, s výnimkou poradového čísla každého relé, ktoré chcete ovplyvniť. Po automatickom odoslaní správy SIM800 odošle odpoveď vo forme správy o stave každej SIM karty.

Video z montáže, konfigurácie a testovania zariadenia



Pôvodný článok v angličtine
vráť sa
Komentujte
  • motýlikúsmevsmejúc sačervenať sausmievavýuvoľnený uvoľnenýúškrn
    srdce_očibozkávanie_srdcekissing_closed_eyesspláchnutýuľavilospokojnýúsmev
    žmurknutiestick_out_tongue_winking_eyevyplazený jazyk zatvorené očis úsmevombozkávaniezaseknutý_jazykspať
    ustarostenýzamračenéutrápenýotvor ústagrimasyzmätenýutíšil
    bez výrazunepobavenýpot_úsmevpotiť sasklamaný_uľavenýunavenýpasívny
    sklamanýzmätenýstrašnýstudený potvytrvaťplakaťvzlyk
    radosťužasnutýkričaťunavená_tvárnahnevanýzlosťtriumf
    ospalýmňammaskaslnečné okuliarezávrat_tvárimpsmile_imp
    neutrálna_tvárbez_ústnevinný
3+tri=
Komentáre (4)
  1. qeeeq
    #1 qeeeq Hostia 26. augusta 2017 23:50
    0
    Wow! Ako sa hovorí, všetko dômyselné je jednoduché. Nemusel som ani nič kupovať, asi každý má doma kopu takého odpadu
  2. Alexej
    #2 Alexej Hostia 16. decembra 2017 16:53
    0
    Nefunguje. Pri kompilácii sa zobrazí „Arduino: 1.8.5 hodinová zostava 2017/08/28 06:33 (Windows 7), doska: „Arduino/Genuino Uno“
    1. Denis
      #3 Denis Hostia 17. december 2017 08:11
      0
      K projektu musíte použiť cestu bez ruských písmen.
  3. Andrey
    #4 Andrey Hostia 10. februára 2019 11:54
    2
    V náčrte je veľa chýb. To nebude fungovať.

DIY nástrčkový kľúč

Solenie aromatickej bravčovej masti doma

Veľkonočný koláč | Urob si sám

Metóda, ako sa naučiť zvárať bez spotreby elektród vlastnými rukami

«Urobte to sami - vlastnými rukami» - stránka zaujímavých domácich výrobkov vyrobených z odpadových materiálov a predmetov doma. Krok za krokom majstrovské kurzy s fotografiami a popismi, technológiami, životnými hackami - všetko, čo skutočný majster alebo len remeselník potrebuje na vyšívanie. Remeslá akejkoľvek zložitosti, veľký výber smerov a nápadov pre kreativitu.

Odporúčame prečítať

Chybové kódy práčky