Csináld magad
Life hackek, mesterkurzusok, hasznos tippek, receptek.
itthon » Elektronika » Elektronika Kínából » SIM800L alapú SMS vezérlő
SIM800L alapú SMS vezérlő

A SIM800L V2.0 GSM/GPRS egy négysávos GSM/GPRS modul, amely kompatibilis az Arduino-val. A modul GSM (hívások és SMS) és GPRS funkciók megvalósítására szolgál. Ennek a modulnak az előnye az 5V-os feszültségű TTL interfész, amely lehetővé teszi, hogy közvetlenül csatlakoztassa Arduino-hoz vagy bármely más, 5 V-os tápfeszültségű rendszerhez. A legtöbb GSM/GPRS modul a piacon szabályozó csatlakozást vagy szintátalakítást igényel, míg a SIM800L V.2 GSM/GPRS esetében nincs szükség további interfész szintű átalakító áramkörökre.

Nézzünk egy példát egy SIM800L V.2 GSM/GPRS-t használó projektre. A projekt lényege a kapcsolók vezérlése SMS vezérlővel. Könnyedén be- és kikapcsolhatja a házban található legtöbb háztartási gépet, mint például a lámát, a ventilátort stb.

A SIM800L V.2 GSM/GPRS modul jellemzői


Az alábbiakban bemutatjuk a SIM800L V.2 GSM/GPRS modul összes műszaki jellemzőjét:
  • TTL soros interfész kompatibilis a 3.3V és 5V Arduino kompatibilis mikrokontrollerekkel.
  • A SIM800L modul TTL soros interfésszel rendelkezik.
  • Antenna csatlakozó dugó.
  • Hálózati támogatás: négy sáv 850/900/1800/1900 MHz, hívások kezdeményezésére, SMS-ek és adatátvitelre alkalmas jelentősen csökkentett akkumulátorfogyasztás mellett.
  • VDD TTL UART interfész, így közvetlenül csatlakoztathat MCU-t, például 51MCU-t, ARM-et vagy MSP430-at.A VDD dugót a TTL feszültség illesztésére használják.
  • Modell: SIMCOM SIM800L
  • Üzemi feszültség: 3,7V-tól 5V-ig;
  • Méretek: 40mm x 28mm x 3mm
  • GPRS multislot osztály 12/10
  • B osztályú GPRS csomagszolgáltatás
  • Megfelel a 2/2+ GSM fázisnak
  • 4. osztály (2 Watt @ 850/900 MHz)
  • 1. osztály (1 Watt @ 1800/1900 MHz)


Szükséges anyagok


SIM800L alapú SMS vezérlő


Szükséged lesz:


1. SIM800L V.2 GSM/GPRS modul.
2. Arduino Uno.
3. 4 csatornás 5V relé modul.
4. Vezetékek - jumperek.
5. Tápellátás 5V.
(Aktív linkek a bolthoz a vásárláshoz)

Összeszerelés és konfiguráció


SIM800L alapú SMS vezérlő


Miután csatlakoztatta az összes összetevőt, hozzon létre egy programot, majd töltse fel az Arduino-ra. Először azonban telepítenie kell a GPRS könyvtárat, amelyet letölthet:

gprs.zip [28,02 Kb] (letöltések száma: 887)


Az Arduino programkódja


SIM800L alapú SMS vezérlő


Miután csatlakoztatta a SIM800L-t, a 4 csatornás relémodult és az Arduino-t a számítógépéhez, írja be az alábbi kódot, és kész.


#beleértve 
#beleértve
#define IDŐTARTÓ 5000
#define AKTÍV ALACSONY
#define KI MAGAS

byte Relay[] = {A0,A1,A2,A3};
bájt 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(!Serial);
Serial.println("SIM800L V2 aktiválása >>> SMS automatikus olvasása");
gprs.preInit();
késleltetés(1000);
while (0 != gprs.init()) {
késleltetés(1000);
Serial.print("init errorrn");
}

// Üzenet kezelése ASCII módba
if (0 != gprs.sendCmdAndWaitForResp("AT+CMGF=1rn", "OK", IDŐTÚL)) {
ERROR("HIBA:CNMI");
Visszatérés;
}
// Bejövő SMS olvasása
if (0 != gprs.sendCmdAndWaitForResp("AT+CNMI=1,2,0,0,0rn", "OK", IDŐTÚL)) {
ERROR("HIBA:CNMI");
Visszatérés;
}
int pjg = válaszSzám.length() + 1;
buffNumber[pjg];
replyNumber.toCharArray(buffNumber,pjg);
Serial.print("Válasz küldése a számra => ");
Serial.println(buffNumber);
Serial.println("Inicializálás kész");
Serial.println("============================================= =============== =================");
}

void loop() {
// Állapot módosítása Relé BE / KI
for(int i=0; i < 4; i++) {
digitalWrite(Relay[i], StatRelay[i]);
}

// Ha vannak bemeneti adatok a SIM800-ról
if (gprs.serialSIM800.available()) {
char lastCharRead = gprs.serialSIM800.read();

// Mentse el az összes adatot a lastCharReadben, majd ha van r vagy n, a bejövő üzenet végső jeleként
if (lastCharRead == 'r' || lastCharRead == 'n') {
String lastLine = String(aktuálisLine);

// Ha az utolsó +CMT üzenet új üzenet érkezését jelzi
if (lastLine.startsWith("+CMT:")) {
Serial.println(lastLine);
nextLineIsMessage = igaz;
} else if (lastLine.length() > 0) {
if (nextLineIsMessage) {
Serial.println(lastLine);

// ================================================= ==== ================>> A relévezérlő funkciója

//Relé 1 vezérlő

if (lastLine.indexOf("Relé 1 BE") >= 0) {
StatRelay[0] = AKTIF;
Serial.print("Válasz====>>>> ");
Serial.println("Relé 1 állapota aktív");
gprs.sendSMS(buffNumber, "Relé 1 állapota aktív");
}

else if (lastLine.indexOf("Relé 1 KI") >= 0) {
StatRelay[0] = MATI;
Serial.print("Válasz====>>>> ");
Serial.println("Relé 1 állapota kikapcsolva");
gprs.sendSMS(buffNumber, "Relay 1 Status Off");
}

//Relé 2 vezérlő

if (lastLine.indexOf("Relé 2 BE") >= 0) {
StatRelay[1] = AKTIF;
Serial.print("Válasz====>>>> ");
Serial.println("Relé 2 állapota aktív");
gprs.sendSMS(buffNumber, "Relé 2 állapota aktív");
}
else if (lastLine.indexOf("Relé 2 KI") >= 0) {
StatRelay[1] = MATI;
Serial.print("Válasz====>>>> ");
Serial.println("Relé 2 állapota kikapcsolva");
gprs.sendSMS(buffNumber, "Relay 2 Status Off");
}

//Relé 3 vezérlő
if (lastLine.indexOf("Relé 3 BE") >= 0) {
StatRelay[2] = AKTIF;
Serial.print("Válasz====>>>> ");
Serial.println("Relé 3 állapota aktív");
gprs.sendSMS(buffNumber, "Relé 3 állapota aktív");
}
else if (lastLine.indexOf("Relay 3 OFF") >= 0) {
StatRelay[2] = MATI;
Serial.print("Válasz====>>>> ");
Serial.println("Relé 3 állapota kikapcsolva");
gprs.sendSMS(buffNumber, "Relay 3 Status Off");
}

//Relé 4 vezérlő
if (lastLine.indexOf("Relé 4 BE") >= 0) {
StatRelay[3] = AKTIF;
Serial.print("Válasz====>>>> ");
Serial.println("Relé 4 állapota aktív");
gprs.sendSMS(buffNumber, "Relé 1 állapota aktív");
}
else if (lastLine.indexOf("Relay 4 OFF") >= 0) {
StatRelay[3] = MATI;
Serial.print("Válasz====>>>> ");
Serial.println("Relé 4 állapota kikapcsolva");
gprs.sendSMS(buffNumber, "Relay 4 Status Off");
}
nextLineIsMessage = false;
}

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

}
//Char tömb törlése az olvasás következő sorához
for ( int i = 0; i < sizeof(currentLine); ++i ) {
aktuálisLine[i] = (char)0;
}
aktuálisLineIndex = 0;
}
más {
currentLine[currentLineIndex++] = lastCharRead;
}
}
}


Eszköz ellenőrzése


SIM800L alapú SMS vezérlő


Az eszköz úgy működik, hogy SMS-t küld a SIM800L-re meghatározott karaktersorozattal. Például az 1. relé bekapcsolásához használja a „Relé 1 BE” parancsot, kikapcsolásához pedig a „Relé 1 KI” parancsot. A többi relék parancsai szinte azonosak, kivéve az egyes befolyásolni kívánt relék sorszámát. Az üzenet automatikus elküldése után a SIM800 üzenet formájában választ küld az egyes SIM-kártyák állapotáról.

Videó a készülék összeszereléséről, konfigurációjáról és teszteléséről



Eredeti cikk angolul
Megjegyzés
  • csokornyakkendőmosolynevetéselpirulmosolygósellazult ellazultönelégült mosoly
    szív_szemkissing_heartcsókoló_csukott_szemmelkipirultmegkönnyebbültenelégedettvigyorog
    Rákacsintáskinyújtotta a nyelvét pislogó szemmelkinyújtotta a nyelvét csukott szemmelvigyorogvacsókolózáselakadt_nyelvalvás
    aggódóa homlokát ráncolvagyötrődvenyitott szájgrimaszolvazavaroselhallgatott
    kifejezéstelennem szórakozottverejték_mosolyizzadcsalódott_megkönnyebbültfáradtpasszív
    csalódottösszezavarodvafélelmeteshideg verejtékkitartanikiáltászokogás
    örömelképedvesikolyfáradt_arcmérgesdühdiadal
    álmosfincsimaszknapszemüvegszédült_arcmanómosolygó_imp
    semleges_arcno_mouthártatlan
3+három=
Megjegyzések (4)
  1. qeeeq
    #1 qeeeq Vendégek 2017. augusztus 26. 23:50
    0
    Azta! Ahogy mondani szokás, minden zseniális egyszerű. Nem is kellett semmit vennem, valószínűleg mindenkinek van otthon egy halom ilyen szemét
  2. Alekszej
    #2 Alekszej Vendégek 2017. december 16. 16:53
    0
    Nem működik. Fordításkor ez áll: "Arduino: 1.8.5 Hourly Build 2017/08/28 06:33 (Windows 7), Board:"Arduino/Genuino Uno"
    1. Denis
      #3 Denis Vendégek 2017. december 17. 08:11
      0
      Orosz betűk nélküli elérési utat kell használnia a projekthez.
  3. Andrey
    #4 Andrey Vendégek 2019. február 10. 11:54
    2
    Sok hiba van a vázlatban. Nem fog menni.

DIY dugókulcs

Aromás disznózsír sózás otthon

húsvéti sütemény | Csináld magad

Módszer a hegesztés megtanulására anélkül, hogy saját kezűleg elektródákat fogyasztana

«Csináld magad - saját kezeddel» - az otthoni hulladékanyagokból és tárgyakból készült érdekes házi termékek oldala. Lépésről lépésre mesterkurzusok fotókkal és leírásokkal, technológiákkal, életvitelekkel - mindennel, amire egy igazi mesternek vagy csak egy kézművesnek szüksége van a kézimunkához. Bármilyen bonyolultságú kézműves, a kreativitás irányai és ötletei széles választéka.

Olvasásra ajánljuk

Mosógép hibakódok