Udělej si sám
Life hacky, mistrovské kurzy, užitečné tipy, recepty.
Domov » Elektronika » Elektronika z Číny » SMS ovladač založený na SIM800L
SMS ovladač založený na SIM800L

SIM800L V2.0 GSM/GPRS je čtyřpásmový modul GSM/GPRS kompatibilní s Arduino. Modul slouží k implementaci funkcí GSM (volání a SMS) a GPRS. Výhodou tohoto modulu je TTL rozhraní, které má napětí 5V, což umožňuje přímé připojení k Arduinu nebo jinému systému s napájecím napětím 5V. Většina modulů GSM/GPRS na trhu vyžaduje připojení regulátoru nebo konverzi úrovně, zatímco v SIM800L V.2 GSM/GPRS nevyžaduje další obvody pro konverzi úrovně rozhraní.

Uveďme příklad projektu využívajícího SIM800L V.2 GSM/GPRS. Smyslem projektu je ovládání spínačů pomocí SMS ovladače. Většinu domácích spotřebičů v domě, jako je lama, ventilátor a podobně, můžete snadno zapnout a vypnout.

Charakteristika modulu SIM800L V.2 GSM/GPRS


Níže jsou uvedeny všechny technické vlastnosti modulu SIM800L V.2 GSM/GPRS:
  • Sériové rozhraní TTL kompatibilní s 3,3V a 5V kompatibilními mikrokontroléry Arduino.
  • Modul SIM800L má sériové rozhraní TTL.
  • Zástrčka pro připojení antény.
  • Podpora sítě: čtyři pásma 850/900/1800/1900 MHz, schopná volat, SMS a datové přenosy s výrazně sníženou spotřebou baterie.
  • Rozhraní VDD TTL UART, takže můžete přímo připojit MCU, jako je 51MCU, ARM nebo MSP430.Zástrčka VDD se používá k přizpůsobení napětí TTL.
  • Model: SIMCOM SIM800L
  • Provozní napětí: od 3,7V do 5V;
  • rozměry: 40 mm x 28 mm x 3 mm
  • GPRS multislot třídy 12/10
  • Paketová služba GPRS třídy B
  • Vyhovuje GSM fázi 2/2+
  • Třída 4 (2 Watt při 850/900 MHz)
  • Třída 1 (1 Watt @ 1800/1900 MHz)


Potřebné materiály


SMS ovladač založený na SIM800L


Budeš potřebovat:


1. SIM800L V.2 GSM/GPRS modul.
2. Arduino Uno.
3. 4kanálový 5V reléový modul.
4. Dráty - propojky.
5. Napájení 5V.
(aktivní odkazy na obchod pro nákup)

Montáž a konfigurace


SMS ovladač založený na SIM800L


Jakmile připojíte všechny komponenty, vytvořte program a poté jej nahrajte do svého Arduina. Nejprve však musíte nainstalovat knihovnu GPRS, kterou si můžete stáhnout:

gprs.zip [28,02 Kb] (stažení: 887)


Programový kód pro Arduino


SMS ovladač založený na SIM800L


Jakmile připojíte SIM800L, 4kanálový reléový modul a Arduino k počítači, zadejte níže uvedený kód a máte hotovo.


#zahrnout 
#zahrnout
#define TIMEOUT 5000
#define AKTIVNÍ NÍZKÁ
#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(Relay[i] , OUTPUT);
digitalWrite(Relay[i], MATI);
StatRelay[i] = MATI;
}

Serial.begin(9600);
while(!Seriál);
Serial.println("Aktivovat SIM800L V2 >>> Automaticky číst SMS");
gprs.preInit();
zpoždění(1000);
while (0 != gprs.init()) {
zpoždění(1000);
Serial.print("init errorrn");
}

// Správa zprávy do režimu ASCII
if (0 != gprs.sendCmdAndWaitForResp("AT+CMGF=1rn", "OK", ČASOVÝ LIMIT)) {
ERROR("CHYBA:CNMI");
vrátit se;
}
// Čtení příchozích SMS
if (0 != gprs.sendCmdAndWaitForResp("AT+CNMI=1,2,0,0,0rn", "OK", ČASOVÝ LIMIT)) {
ERROR("CHYBA:CNMI");
vrátit se;
}
int pjg = replyCislo.length() + 1;
buffNumber[pjg];
answerNumber.toCharArray(buffNumber,pjg);
Serial.print("Odeslat odpověď na číslo => ");
Serial.println(buffNumber);
Serial.println("Inicializace dokončena");
Serial.println("============================================== =================================");
}

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

// Pokud existují vstupní data ze SIM800
if (gprs.serialSIM800.available()) {
char lastCharRead = gprs.serialSIM800.read();

// Uložte všechna data na lastCharRead, pak pokud je r nebo n, jako konečný signál příchozí zprávy
if (lastCharRead == 'r' || lastCharRead == 'n') {
String lastLine = String(currentLine);

// Pokud poslední zpráva +CMT indikuje příchod nové zprávy
if (lastLine.startsWith("+CMT:")) {
Serial.println(lastLine);
nextLineIsMessage = true;
} else if (lastLine.length() > 0) {
if (nextLineIsMessage) {
Serial.println(lastLine);

// ================================================== ==== ================>> Funkce reléového ovladače

//Řadič relé 1

if (lastLine.indexOf("Relé 1 ON") >= 0) {
StatRelay[0] = AKTIF;
Serial.print("Odpovědět====>>>>");
Serial.println("Stav relé 1 aktivní");
gprs.sendSMS(buffNumber, "Stav relé 1 aktivní");
}

else if (lastLine.indexOf("Relé 1 VYPNUTO") >= 0) {
StatRelay[0] = MATI;
Serial.print("Odpovědět====>>>>");
Serial.println("Stav relé 1 vypnutý");
gprs.sendSMS(buffNumber, "Stav relé 1 vypnuto");
}

//Řadič relé 2

if (lastLine.indexOf("Relé 2 ON") >= 0) {
StatRelay[1] = AKTIF;
Serial.print("Odpovědět====>>>>");
Serial.println("Stav relé 2 aktivní");
gprs.sendSMS(buffNumber, "Stav relé 2 aktivní");
}
else if (lastLine.indexOf("Relé 2 VYP") >= 0) {
StatRelay[1] = MATI;
Serial.print("Odpovědět====>>>>");
Serial.println("Stav relé 2 vypnutý");
gprs.sendSMS(číslo buff, "Stav relé 2 vypnuto");
}

//Řadič relé 3
if (lastLine.indexOf("Relé 3 ON") >= 0) {
StatRelay[2] = AKTIF;
Serial.print("Odpovědět====>>>>");
Serial.println("Stav relé 3 aktivní");
gprs.sendSMS(buffNumber, "Stav relé 3 aktivní");
}
else if (lastLine.indexOf("Relé 3 VYPNUTO") >= 0) {
StatRelay[2] = MATI;
Serial.print("Odpovědět====>>>>");
Serial.println("Stav relé 3 vypnutý");
gprs.sendSMS(číslo buff, "Stav relé 3 vypnuto");
}

//Řadič relé 4
if (lastLine.indexOf("Relé 4 ON") >= 0) {
StatRelay[3] = AKTIF;
Serial.print("Odpovědět====>>>>");
Serial.println("Stav relé 4 aktivní");
gprs.sendSMS(buffNumber, "Stav relé 1 aktivní");
}
else if (lastLine.indexOf("Relé 4 VYP") >= 0) {
StatRelay[3] = MATI;
Serial.print("Odpovědět====>>>>");
Serial.println("Stav relé 4 vypnutý");
gprs.sendSMS(číslo buff, "Stav relé 4 vypnuto");
}
nextLineIsMessage = false;
}

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

}
//Vymazat pole znaků pro další řádek čtení
for ( int i = 0; i < sizeof(currentLine); ++i ) {
currentLine[i] = (char)0;
}
currentLineIndex = 0;
}
jinak {
currentLine[currentLineIndex++] = lastCharRead;
}
}
}


Kontrola zařízení


SMS ovladač založený na SIM800L


Nástroj funguje tak, že na SIM800L odešle SMS se specifickou sekvencí znaků. Například pro zapnutí relé 1 použijte příkaz „Relé 1 ON“ a pro jeho vypnutí použijte příkaz „Relay 1 OFF“. U zbývajících relé jsou příkazy téměř stejné, s výjimkou pořadového čísla každého relé, které chcete ovlivnit. Po automatickém odeslání zprávy SIM800 odešle odpověď ve formě zprávy o stavu každé SIM karty.

Video montáže, konfigurace a testování zařízení



Původní článek v angličtině
vrať se
Komentář
  • motýlekusměj sesmějící seruměnecsmajlíkuvolněný uvolněnýúšklebek
    srdce_očilíbání_srdcelíbat zavřené očispláchnutéuklidněnýspokojenýúsměv
    mrkatvyplazený jazyk mrkající okostick_out_tongue_closed_eyesšklebící selíbánízaseknutý_jazykSpící
    ustaranýmračit setrápeníotevři pusušklebící sezmatenýztichl
    bezvýraznýnepobavenýpot_úsměvpotit sezklamaný_ulehčenýunavenýpasivní
    zklamanýzmatenýstrašnýstudený potvytrvatplakatvzlyk
    radostužaslývýkřikunavený_obličejrozzlobenývztektriumf
    ospalýMňammaskasluneční brýledizzy_faceimpsmile_imp
    neutrální_obličejžádná_ústanevinný
3+tři=
Komentáře (4)
  1. qeeeq
    #1 qeeeq Hosté 26. srpna 2017 23:50
    0
    Páni! Jak se říká, všechno důmyslné je jednoduché. Ani jsem nemusel nic kupovat, takových odpadků má doma asi každý
  2. Alexeji
    #2 Alexeji Hosté 16. prosince 2017 16:53
    0
    Nefunguje. Při kompilaci se zobrazí „Arduino: 1.8.5 hodinové sestavení 2017/08/28 06:33 (Windows 7), deska: „Arduino/Genuino Uno“
    1. Denis
      #3 Denis Hosté 17. prosince 2017 08:11
      0
      K projektu musíte použít cestu bez ruských písmen.
  3. Andrey
    #4 Andrey Hosté 10. února 2019 11:54
    2
    V náčrtu je spousta chyb. To nebude fungovat.

DIY nástrčný klíč

Solení aromatického sádla doma

Velikonoční dort | Udělej si sám

Metoda, jak se naučit svařovat bez spotřeby elektrod vlastníma rukama

«Udělejte to sami - vlastníma rukama» - stránka zajímavých domácích výrobků vyrobených z odpadových materiálů a předmětů doma. Mistrovské kurzy krok za krokem s fotografiemi a popisy, technologiemi, životními hacky - vše, co skutečný mistr nebo jen řemeslník potřebuje pro vyšívání. Řemesla jakékoli složitosti, velký výběr směrů a nápadů pro kreativitu.

Doporučujeme přečíst

Chybové kódy pračky