Buat sendiri
Penggodam kehidupan, kelas induk, petua berguna, resipi.
rumah » elektronik » Elektronik dari China » Pengawal SMS berdasarkan SIM800L
Pengawal SMS berdasarkan SIM800L

SIM800L V2.0 GSM/GPRS ialah modul GSM/GPRS empat jalur yang serasi dengan Arduino. Modul ini digunakan untuk melaksanakan fungsi GSM (panggilan dan SMS) dan GPRS. Kelebihan modul ini ialah antara muka TTL, yang mempunyai voltan 5V, yang membolehkan anda menyambungkannya terus ke Arduino atau mana-mana sistem lain dengan voltan bekalan 5V. Kebanyakan modul GSM/GPRS di pasaran memerlukan sambungan pengawal selia atau penukaran tahap, manakala dalam SIM800L V.2 GSM/GPRS tidak memerlukan litar penukaran tahap antara muka tambahan.

Mari kita berikan contoh projek menggunakan SIM800L V.2 GSM/GPRS. Tujuan projek ini adalah untuk mengawal suis menggunakan pengawal SMS. Anda boleh menghidupkan dan mematikan kebanyakan perkakas rumah di rumah dengan mudah, seperti llama, kipas dan sebagainya.

Ciri-ciri modul SIM800L V.2 GSM/GPRS


Di bawah adalah semua ciri teknikal modul SIM800L V.2 GSM/GPRS:
  • Antara muka bersiri TTL serasi dengan mikropengawal serasi 3.3V dan 5V Arduino.
  • Modul SIM800L mempunyai antara muka bersiri TTL.
  • Palam sambungan antena.
  • Sokongan rangkaian: empat jalur 850/900/1800/1900 MHz, mampu membuat panggilan, SMS dan pemindahan data dengan penggunaan bateri yang berkurangan dengan ketara.
  • Antara muka VDD TTL UART, jadi anda boleh menyambung terus MCU seperti 51MCU, ARM atau MSP430.Palam VDD digunakan untuk memadankan voltan TTL.
  • Model: SIMCOM SIM800L
  • Voltan operasi: dari 3.7V hingga 5V;
  • dimensi: 40mm x 28mm x 3mm
  • Kelas berbilang slot GPRS 12/10
  • Kelas perkhidmatan paket GPRS B
  • Mematuhi GSM fasa 2/2+
  • Kelas 4 (2 Watt @ 850/900 MHz)
  • Kelas 1 (1Watt @ 1800/1900MHz)


Bahan-bahan yang diperlukan


Pengawal SMS berdasarkan SIM800L


Anda perlukan:


1. Modul SIM800L V.2 GSM/GPRS.
2. Arduino Uno.
3. Modul Geganti 4 Saluran 5V.
4. Wayar - pelompat.
5. Bekalan kuasa 5V.
(Pautan aktif ke kedai untuk pembelian)

Perhimpunan dan konfigurasi


Pengawal SMS berdasarkan SIM800L


Sebaik sahaja anda telah menyambungkan semua komponen, buat program dan kemudian muat naik ke Arduino anda. Tetapi pertama sekali, anda mesti memasang perpustakaan GPRS, yang boleh anda muat turun:

gprs.zip [28.02 Kb] (muat turun: 887)


Kod program untuk Arduino


Pengawal SMS berdasarkan SIM800L


Sebaik sahaja anda telah menyambungkan SIM800L, modul geganti 4 saluran dan Arduino anda ke komputer anda, masukkan kod di bawah dan anda selesai.


#termasuk 
#termasuk
#define TIMEOUT 5000
#define AKTIF RENDAH
#define OFF HIGH

Geganti bait[] = {A0,A1,A2,A3};
bait StatRelay[4];
char buffNombor[20];
char currentLine[500] = "";
int currentLineIndex = 0;
bool nextLineIsMessage = palsu;
String replyNumber = "089510863958";
GPRS gprs;

persediaan void() {
untuk(int i=0; i < 4; i++) {
pinMode(Relay[i] , OUTPUT);
digitalWrite(Relay[i], MATI);
StatRelay[i] = MATI;
}

Serial.begin(9600);
while(!Siri);
Serial.println("Aktifkan SIM800L V2 >>> Baca SMS Secara Automatik");
gprs.preInit();
kelewatan(1000);
manakala (0 != gprs.init()) {
kelewatan(1000);
Serial.print("init errorrn");
}

// Urus mesej ke mod ASCII
jika (0 != gprs.sendCmdAndWaitForResp("AT+CMGF=1rn", "OK", TIMEOUT)) {
ERROR("ERROR:CNMI");
kembali;
}
// Baca SMS Masuk
jika (0 != gprs.sendCmdAndWaitForResp("AT+CNMI=1,2,0,0,0rn", "OK", TIMEOUT)) {
ERROR("ERROR:CNMI");
kembali;
}
int pjg = replyNumber.length() + 1;
buffNumber[pjg];
replyNumber.toCharArray(buffNumber,pjg);
Serial.print("Hantar balasan ke nombor => ");
Serial.println(buffNumber);
Serial.println("Permulaan Selesai");
Serial.println("=========================================== =====================================");
}

gelung kosong() {
// Tukar status Relay HIDUP / MATI
untuk(int i=0; i < 4; i++) {
digitalWrite(Relay[i], StatRelay[i]);
}

// Jika terdapat data input daripada SIM800
jika (gprs.serialSIM800.available()) {
char lastCharRead = gprs.serialSIM800.read();

// Simpan semua data pada lastCharRead, kemudian jika terdapat r atau n, sebagai isyarat akhir mesej masuk
if (lastCharRead == 'r' || lastCharRead == 'n') {
String lastLine = String(currentLine);

// Jika mesej terakhir +CMT menunjukkan mesej baru tiba
if (lastLine.startsWith("+CMT:")) {
Serial.println(lastLine);
nextLineIsMessage = benar;
} else if (lastLine.length() > 0) {
jika (nextLineIsMessage) {
Serial.println(lastLine);

// ================================================== =================== ================>> Fungsi Relay Controller

//Relay 1 Pengawal

if (lastLine.indexOf("Relay 1 ON") >= 0) {
StatRelay[0] = AKTIF;
Serial.print("Balas ====>>>> ");
Serial.println("Relay 1 Status Aktif");
gprs.sendSMS(buffNumber, "Relay 1 Status Active");
}

else if (lastLine.indexOf("Relay 1 OFF") >= 0) {
StatRelay[0] = MATI;
Serial.print("Balas ====>>>> ");
Serial.println("Status Relay 1 Dimatikan");
gprs.sendSMS(buffNumber, "Status Relay 1 Dimatikan");
}

//Relay 2 Pengawal

if (lastLine.indexOf("Relay 2 ON") >= 0) {
StatRelay[1] = AKTIF;
Serial.print("Balas ====>>>> ");
Serial.println("Relay 2 Status Active");
gprs.sendSMS(buffNumber, "Status Relay 2 Active");
}
else if (lastLine.indexOf("Relay 2 OFF") >= 0) {
StatRelay[1] = MATI;
Serial.print("Balas ====>>>> ");
Serial.println("Status Relay 2 Dimatikan");
gprs.sendSMS(buffNumber, "Status Relay 2 Dimatikan");
}

//Relay 3 Pengawal
if (lastLine.indexOf("Relay 3 ON") >= 0) {
StatRelay[2] = AKTIF;
Serial.print("Balas ====>>>> ");
Serial.println("Relay 3 Status Active");
gprs.sendSMS(buffNumber, "Status Relay 3 Aktif");
}
else if (lastLine.indexOf("Relay 3 OFF") >= 0) {
StatRelay[2] = MATI;
Serial.print("Balas ====>>>> ");
Serial.println("Status Relay 3 Dimatikan");
gprs.sendSMS(buffNumber, "Status Relay 3 Dimatikan");
}

//Relay 4 Pengawal
if (lastLine.indexOf("Relay 4 ON") >= 0) {
StatRelay[3] = AKTIF;
Serial.print("Balas ====>>>> ");
Serial.println("Relay 4 Status Active");
gprs.sendSMS(buffNumber, "Relay 1 Status Active");
}
else if (lastLine.indexOf("Relay 4 OFF") >= 0) {
StatRelay[3] = MATI;
Serial.print("Balas ====>>>> ");
Serial.println("Status Relay 4 Dimatikan");
gprs.sendSMS(buffNumber, "Status Relay 4 Off");
}
nextLineIsMessage = palsu;
}

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

}
//Kosongkan tatasusunan char untuk baris bacaan seterusnya
untuk ( int i = 0; i < sizeof(currentLine); ++i ) {
Barisan semasa[i] = (char)0;
}
currentLineIndex = 0;
}
lain {
currentLine[currentLineIndex++] = lastCharRead;
}
}
}


Pemeriksaan peranti


Pengawal SMS berdasarkan SIM800L


Alat ini berfungsi dengan menghantar SMS ke SIM800L dengan urutan aksara tertentu. Contohnya, untuk menghidupkan geganti 1, gunakan perintah “Geganti 1 HIDUP”, dan untuk mematikannya, gunakan perintah “Geganti 1 MATI”. Untuk geganti yang tinggal, arahannya hampir sama, kecuali nombor jujukan setiap geganti yang anda ingin pengaruhi. Selepas menghantar mesej secara automatik, SIM800 akan menghantar respons dalam bentuk mesej tentang status setiap kad SIM.

Video pemasangan, konfigurasi dan ujian peranti



Artikel asal dalam bahasa Inggeris
kembalilah
Komen
  • tali lehersenyumketawamerah mukasenyumansantai santaitersengih
    mata_hatimencium_haticium_mata_tutupmemerahlegaberpuas hatitersengih
    kejapterkeluar_lidah_kenyit_mataterkeluar_lidah_mata_tertutuptersengihberciumterkeluar_lidahsedang tidur
    risauberkerut dahikesianbuka mulutmeringiskeliruterdiam
    tanpa ekspresitidak terhiburpeluh_senyumpeluhkecewa_legapenatpasif
    kecewakelirutakutpeluh sejuktabahmenangismenangis teresak-esak
    kegembiraanterperanjatmenjeritmuka_penatmarahkemarahankemenangan
    mengantuksedaptopengcermin mata hitammuka_peningimptersenyum_imp
    neutral_facetiada_muluttidak bersalah
3+tiga=
Komen (4)
  1. qeeeq
    #1 qeeeq tetamu 26 Ogos 2017 23:50
    0
    Wah! Seperti yang mereka katakan, segala-galanya yang bijak adalah mudah. Saya tidak perlu membeli apa-apa, mungkin semua orang mempunyai timbunan sampah di rumah
  2. Alexei
    #2 Alexei tetamu 16 Disember 2017 16:53
    0
    Tidak berfungsi. Apabila menyusun, ia berkata "Arduino: 1.8.5 Hourly Build 2017/08/28 06:33 (Windows 7), Board:"Arduino/Genuino Uno"
    1. Denis
      #3 Denis tetamu 17 Disember 2017 08:11
      0
      Anda perlu menggunakan laluan tanpa huruf Rusia untuk projek itu.
  3. Andrey
    #4 Andrey tetamu 10 Februari 2019 11:54
    2
    Terdapat banyak kesilapan dalam lakaran. Ia tidak akan berfungsi.

Sepana soket DIY

Mengasinkan lemak babi aromatik di rumah

Kek Paskah | Buat sendiri

Kaedah untuk belajar mengimpal tanpa menggunakan elektrod dengan tangan anda sendiri

«Lakukan sendiri - dengan tangan anda sendiri» - tapak produk buatan sendiri yang menarik yang diperbuat daripada bahan sekerap dan barangan di rumah. Kelas induk langkah demi langkah dengan foto dan penerangan, teknologi, penggodaman hidup - segala-galanya yang diperlukan oleh tuan sebenar atau hanya seorang tukang untuk kerja-kerja menjahit. Kraf dari sebarang kerumitan, banyak pilihan arah dan idea untuk kreativiti.

Kami mengesyorkan membaca

Kod ralat mesin basuh