Kendin Yap
Hayat hack'leri, ustalık sınıfları, faydalı ipuçları, tarifler.
Ev » Elektronik » Çin'den elektronik » SIM800L tabanlı SMS denetleyicisi
SIM800L tabanlı SMS denetleyicisi

SIM800L V2.0 GSM/GPRS, Arduino ile uyumlu dört bantlı bir GSM/GPRS modülüdür. Modül GSM (çağrılar ve SMS) ve GPRS işlevlerini uygulamak için kullanılır. Bu modülün avantajı, onu doğrudan Arduino'ya veya 5V besleme voltajına sahip başka bir sisteme bağlamanıza olanak tanıyan, 5V gerilime sahip TTL arayüzüdür. Piyasadaki çoğu GSM/GPRS modülü, regülatör bağlantıları veya seviye dönüşümü gerektirirken SIM800L V.2'de GSM/GPRS, ek arayüz seviyesi dönüşüm devreleri gerektirmez.

SIM800L V.2 GSM/GPRS kullanan bir proje örneği verelim. Projenin amacı bir SMS denetleyicisi kullanarak anahtarları kontrol etmektir. Evdeki lama, vantilatör gibi çoğu ev aletini kolaylıkla açıp kapatabilirsiniz.

SIM800L V.2 GSM/GPRS modülünün özellikleri


Aşağıda SIM800L V.2 GSM/GPRS modülünün tüm teknik özellikleri verilmiştir:
  • 3.3V ve 5V Arduino uyumlu mikrodenetleyicilerle uyumlu TTL seri arayüz.
  • SIM800L modülü bir TTL seri arayüzüne sahiptir.
  • Anten bağlantı fişi.
  • Ağ desteği: Dört bant 850/900/1800/1900 MHz, önemli ölçüde azaltılmış pil tüketimiyle arama, SMS ve veri aktarımı yapabilir.
  • VDD TTL UART arayüzü, böylece 51MCU, ARM veya MSP430 gibi MCU'ları doğrudan bağlayabilirsiniz.VDD fişi TTL voltajını eşleştirmek için kullanılır.
  • Modeli: SIMCOM SIM800L
  • Çalışma voltajı: 3,7V'tan 5V'a;
  • boyutlar: 40mm x 28mm x 3mm
  • GPRS çoklu yuva sınıfı 12/10
  • GPRS paket servisi sınıfı B
  • GSM faz 2/2+ ile uyumludur
  • Sınıf 4 (2 Watt @ 850/900 MHz)
  • Sınıf 1 (1Watt @ 1800/1900MHz)


Gerekli malzemeler


SIM800L tabanlı SMS denetleyicisi


İhtiyacın olacak:


1. SIM800L V.2 GSM/GPRS modülü.
2. Arduino Uno.
3. 4 Kanal 5V Röle Modülü.
4. Teller - jumperlar.
5. Güç kaynağı 5V.
(Satın alma için mağazaya olan bağlantılar aktif)

Montaj ve konfigürasyon


SIM800L tabanlı SMS denetleyicisi


Tüm bileşenleri bağladıktan sonra bir program oluşturun ve ardından onu Arduino'nuza yükleyin. Ancak önce indirebileceğiniz GPRS kütüphanesini kurmanız gerekir:

gprs.zip [28.02 Kb] (indirmeler: 887)


Arduino için program kodu


SIM800L tabanlı SMS denetleyicisi


SIM800L'nizi, 4 kanallı röle modülünüzü ve Arduino'nuzu bilgisayarınıza bağladıktan sonra aşağıdaki kodu girin ve işlemi tamamlayın.


#katmak 
#katmak
#define TIMEOUT 5000
#define AKTİF DÜŞÜK
#define KAPALI YÜKSEK

bayt Rölesi[] = {A0,A1,A2,A3};
bayt StatRelay[4];
char buffNumarası[20];
char currentLine[500] = "";
int currentLineIndex = 0;
bool nextLineIsMessage = false;
String answerNumber = "089510863958";
GPRS GPRS'i;

geçersiz kurulum() {
for(int i=0; i < 4; i++) {
pinMode(Röle[i], ÇIKIŞ);
digitalWrite(Röle[i], MATI);
StatRelay[i] = MATI;
}

Seri.begin(9600);
while(!Seri);
Serial.println("SIM800L V2'yi Etkinleştir >>> SMS'i Otomatik Olarak Oku");
gprs.preInit();
gecikme(1000);
while (0 != gprs.init()) {
gecikme(1000);
Seri.print("başlangıç ​​hatası");
}

// Mesajı ASCII moduna yönet
if (0 != gprs.sendCmdAndWaitForResp("AT+CMGF=1rn", "OK", TIMEOUT)) {
HATA("HATA:CNMI");
geri dönmek;
}
// Gelen SMS'i oku
if (0 != gprs.sendCmdAndWaitForResp("AT+CNMI=1,2,0,0,0rn", "OK", TIMEOUT)) {
HATA("HATA:CNMI");
geri dönmek;
}
int pjg = answerNumber.length() + 1;
buffNumarası[pjg];
answerNumber.toCharArray(buffNumber,pjg);
Serial.print("Numaraya cevap gönder => ");
Serial.println(buffNumber);
Serial.println("Başlatma Tamamlandı");
Seri.println("============================================= =============== =================");
}

geçersiz döngü () {
// Durumu değiştir Röle AÇIK / KAPALI
for(int i=0; i < 4; i++) {
digitalWrite(Röle[i], StatRelay[i]);
}

// SIM800'den giriş verisi varsa
if (gprs.serialSIM800.available()) {
char lastCharRead = gprs.serialSIM800.read();

// Tüm verileri lastCharRead'e kaydedin, ardından r veya n varsa, gelen mesajın son sinyali olarak
if (lastCharRead == 'r' || lastCharRead == 'n') {
String lastLine = String(currentLine);

// Son mesaj +CMT yeni mesajın geldiğini gösteriyorsa
if (lastLine.startsWith("+CMT:")) {
Serial.println(lastLine);
nextLineIsMessage = true;
} else if (lastLine.length() > 0) {
if (nextLineIsMessage) {
Serial.println(lastLine);

// ================================================= ==== ================>> Röle Kontrol Cihazının İşlevi

//Röle 1 Kontrol Cihazı

if (lastLine.indexOf("Röle 1 AÇIK") >= 0) {
StatRelay[0] = AKTIF;
Serial.print("Yanıt====>>>> ");
Serial.println("Röle 1 Durumu Aktif");
gprs.sendSMS(buffNumber, "Röle 1 Durumu Aktif");
}

else if (lastLine.indexOf("Röle 1 KAPALI") >= 0) {
StatRelay[0] = MATI;
Serial.print("Yanıt====>>>> ");
Serial.println("Röle 1 Durumu Kapalı");
gprs.sendSMS(buffNumber, "Röle 1 Durumu Kapalı");
}

//Röle 2 Kontrol Cihazı

if (lastLine.indexOf("Röle 2 AÇIK") >= 0) {
StatRelay[1] = AKTIF;
Serial.print("Yanıt====>>>> ");
Serial.println("Röle 2 Durumu Aktif");
gprs.sendSMS(buffNumber, "Röle 2 Durumu Aktif");
}
else if (lastLine.indexOf("Röle 2 KAPALI") >= 0) {
StatRelay[1] = MATI;
Serial.print("Yanıt====>>>> ");
Serial.println("Röle 2 Durumu Kapalı");
gprs.sendSMS(buffNumber, "Röle 2 Durumu Kapalı");
}

//Röle 3 Kontrol Cihazı
if (lastLine.indexOf("Röle 3 AÇIK") >= 0) {
StatRelay[2] = AKTIF;
Serial.print("Yanıt====>>>> ");
Serial.println("Röle 3 Durumu Aktif");
gprs.sendSMS(buffNumber, "Röle 3 Durumu Aktif");
}
else if (lastLine.indexOf("Röle 3 KAPALI") >= 0) {
StatRelay[2] = MATI;
Serial.print("Yanıt====>>>> ");
Serial.println("Röle 3 Durumu Kapalı");
gprs.sendSMS(buffNumber, "Röle 3 Durumu Kapalı");
}

//Röle 4 Kontrol Cihazı
if (lastLine.indexOf("Röle 4 AÇIK") >= 0) {
StatRelay[3] = AKTIF;
Serial.print("Yanıt====>>>> ");
Serial.println("Röle 4 Durumu Aktif");
gprs.sendSMS(buffNumber, "Röle 1 Durumu Aktif");
}
else if (lastLine.indexOf("Röle 4 KAPALI") >= 0) {
StatRelay[3] = MATI;
Serial.print("Yanıt====>>>> ");
Serial.println("Röle 4 Durumu Kapalı");
gprs.sendSMS(buffNumber, "Röle 4 Durumu Kapalı");
}
nextLineIsMessage = false;
}

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

}
// Sonraki okuma satırı için karakter dizisini temizle
for ( int i = 0; i < sizeof(currentLine); ++i ) {
akımSatırı[i] = (karakter)0;
}
currentLineIndex = 0;
}
başka {
currentLine[currentLineIndex++] = lastCharRead;
}
}
}


Cihaz kontrolü


SIM800L tabanlı SMS denetleyicisi


Araç, SIM800L'ye belirli bir karakter dizisini içeren bir SMS göndererek çalışır. Örneğin röle 1’i açmak için “Röle 1 AÇIK” komutunu, kapatmak için ise “Röle 1 KAPALI” komutunu kullanın. Geriye kalan röleler için komutlar, etkilemek istediğiniz her rölenin sıra numarası haricinde hemen hemen aynıdır. Mesajın otomatik olarak gönderilmesinin ardından SIM800, her SIM kartın durumu hakkında mesaj şeklinde bir yanıt gönderecektir.

Cihazın montaj, konfigürasyon ve test videosu



İngilizce orijinal makale
geri gelmek
Yorum
  • papyongülümsemekgülüyorkızarmakgülen yüzrahat rahatsırıtış
    kalp gözleriöpüşen kalpöpüşme_kapalı_eyeskızarmışrahatlamakmemnunsırıtış
    göz kırpmasıkışmış_out_tongue_winking_eyesıkışmış_out_tongue_closed_eyessırıtmaöpüşmeksıkışmış_out_tongueuyuyor
    endişelikaşlarını çatmakıstıraplıaçık_ağızyüzünü buruşturmakafası karışmışsessiz
    ifadesizeğlenmemişter_smileterhayal kırıklığına uğradımyorgunpasif
    hayal kırıklığına uğramışşaşkınkorkunçSoğuk tersebat etmekağlamakhıçkırmak
    neşeşaşkınbağırmakyorgun yüzsinirliöfkelenmekzafer
    uykulutatlımmaskeGüneş gözlüğübaş döndürücü_yüzimpsmile_imp
    nötr_yüzağız yokmasum
3+üç=
Yorumlar (4)
  1. qeeeq
    #1 qeeeq Misafirler 26 Ağustos 2017 23:50
    0
    Vay! Dedikleri gibi, ustaca olan her şey basittir. Hiçbir şey almama bile gerek yoktu, muhtemelen herkesin evinde böyle bir çöp yığını vardır
  2. Alexei
    #2 Alexei Misafirler 16 Aralık 2017 16:53
    0
    Çalışmıyor. Derlerken "Arduino: 1.8.5 Saatlik Yapı 2017/08/28 06:33 (Windows 7), Board:"Arduino/Genuino Uno" yazıyor
    1. Denis
      #3 Denis Misafirler 17 Aralık 2017 08:11
      0
      Projeye Rusça harflerin olmadığı bir yol kullanmanız gerekiyor.
  3. Andrey
    #4 Andrey Misafirler 10 Şubat 2019 11:54
    2
    Taslakta çok fazla hata var. İşe yaramayacak.

DIY lokma anahtar

Evde aromatik domuz yağı tuzlama

Paskalya pastası | Kendin Yap

Kendi ellerinizle elektrot tüketmeden kaynak yapmayı öğrenmenin bir yöntemi

«Kendin yap - kendi ellerinle» - hurda malzemelerden ve evdeki eşyalardan yapılmış ilginç ev yapımı ürünlerin bulunduğu bir site. Fotoğraflar ve açıklamalar, teknolojiler, yaşam tüyoları içeren adım adım ustalık sınıfları - gerçek bir ustanın veya sadece bir zanaatkarın iğne işi için ihtiyaç duyduğu her şey. Her karmaşıklıkta el sanatları, yaratıcılık için geniş bir yön ve fikir yelpazesi.

Okumanızı öneririz

Çamaşır makinesi hata kodları