ESP32 SIM800L: Kirim Pesan Teks (Peringatan SMS) dengan Pembacaan Sensor

Dalam proyek ini kita akan membuat sistem notifikasi SMS dengan modul T-Call ESP32 SIM800L yang mengirimkan SMS ketika pembacaan sensor berada di atas atau di bawah ambang batas tertentu.

Dalam contoh ini, kami akan menggunakan sensor suhu DS18B20, dan kami akan mengirim pesan teks saat suhu di atas 28ºC. Setelah suhu turun di bawah ambang batas, kami akan mengirimkan peringatan SMS lagi.

Untuk mengirim SMS dengan modul T-Call ESP32 SIM800L, Anda hanya perlu menggunakan modem.sendSMS(SMS_TARGET, smsMessage) setelah menginisialisasi objek modem untuk modul SIM800L (menggunakan perpustakaan TinyGSM).

Penting: SIM800L berfungsi di jaringan 2G, jadi hanya akan berfungsi di negara Anda, jika jaringan 2G tersedia. Periksa apakah Anda memiliki jaringan 2G di negara Anda, jika tidak maka tidak akan berfungsi.

Tonton Video Tutorialnya

Anda dapat menonton video tutorial atau melanjutkan membaca untuk instruksi proyek lengkap.

Ulasan Proyek

Tutorial ini dibagi menjadi dua bagian :

    1. Kirim SMS dengan TTGO T-Call ESP32 SIM800L: Anda akan belajar cara mengirim pesan “Hello World” sederhana.

    2. Sistem Notifikasi SMS dengan pembacaan sensor: mengirim pesan setiap kali pembacaan suhu melewati nilai ambang batas.

    • ESP32 mendapatkan pembacaan suhu baru setiap 5 detik

    • Ini memeriksa apakah suhu di atas nilai ambang batas

    • Jika di atas nilai ambang batas, ia akan mengirimkan SMS peringatan dengan nilai suhu saat ini

    • Ketika suhu turun di bawah ambang batas, ia mengirimkan peringatan lain

    • ESP32 hanya mengirim satu SMS setiap kali pembacaan suhu melewati nilai ambang batas

Anda dapat memodifikasi proyek ini untuk kasus spesifik Anda. Misalnya, Anda mungkin ingin menempatkan ESP32 dalam mode tidur nyenyak dan mengirim SMS setiap jam dengan pembacaan suhu saat ini, dll.

TTGO T-Call ESP32 SIM800L

TTGO T-Call adalah papan pengembangan ESP32 baru yang menggabungkan modul GSM/GPRS SIM800L. Anda bisa mendapatkan jikauntuk sekitar $11.

Selain Wi-Fi dan Bluetooth, Anda dapat berkomunikasi dengan papan ESP32 ini menggunakan SMS, panggilan telepon atau Anda dapat menghubungkannya ke internet. Dalam tutorial ini, Anda akan belajar cara mengirim notifikasi SMS.

Untuk gambaran lengkap tentang board ini, Anda dapat membaca artikel berikut: $11 TTGO T-Call ESP32 dengan SIM800LGSM/GPRS (Ringkasan)

Prasyarat

1. ESP32 add-on Arduino IDE

Kami akan memprogram ESP32 menggunakan Arduino IDE. Jadi, Anda harus menginstal add-on ESP32 di Arduino IDE Anda. Ikuti tutorial berikutnya, jika Anda belum melakukannya.

    Memasang Board ESP32 di Arduino IDE(Windows, Mac OS X, Linux)

2. Kartu SIM Prabayar (paket SMS)

Untuk menggunakan papan TTGO T-Call ESP32 SIM800L, Anda memerlukan kartu SIM nano. Sebaiknya gunakan kartu SIM dengan paket prabayar atau bulanan, sehingga Anda tahu persis berapa banyak yang akan Anda belanjakan.

3. Libraries

Untuk proyek ini, Anda juga perlu menginstal perpustakaan TinyGSM untuk berinteraksi dengan modul SIM800L dan perpustakaan One Wire oleh Paul Stoffregen dan perpustakaan Suhu Dallas untuk mendapatkan pembacaan dari sensor suhu DS18B20.

Memasang Library TinyGSM

Buka Arduino IDE Anda dan buka Sketch > Include Library > Manage Libraries. Manajer Perpustakaan harus terbuka. Cari TinyGSM. Pilih perpustakaan TinyGSM oleh Volodymyr Shymanskyy.

Memasang Pustaka DS18B20

Di Manajer Perpustakaan Arduino IDE, ketik "onewire" di kotak pencarian dan instal perpustakaan OneWire oleh Paul Stoffregen.

Kemudian, cari "Dallas" dan instal perpustakaan DallasTemperature oleh Miles Burton.

Setelah menginstal perpustakaan, restart Arduino IDE Anda.

Bagian yang Diperlukan

Untuk mengikuti tutorial ini Anda memerlukan bagian-bagian berikut:

    TTGO T-Panggilan ESP32 SIM800L

    • Kartu SIM nano dengan paket SMS

    Kabel USB-C

    Antena (opsional)

    Sensor suhu DS18B20 (Panduan untuk sensorDS18B20 dengan ESP32)

    Resistor 4.7k Ohm

    Breadboard

    Kabel Jumper

Catatan: kami memiliki beberapa masalah kekuatan sinyal dengan antena yang disertakan dengan paket papan, jadi kami telah menggunakan antena lain (seperti yang ditunjukkan di bawah) dan semua masalah koneksi telah diselesaikan.

Kirim SMS dengan T-Call ESP32 SIM800L

Di bagian ini, kami akan menunjukkan cara mengirim SMS dengan papan T-Call ESP32 SIM800L. Mari kita buat contoh sederhana yang mengirimkan "Halo dari ESP32!" pesan ke ponsel cerdas Anda.

Salin kode berikut ke Arduino IDE Anda. Tapi belum upload, kamu harus memasukkan nomor telepon penerima ke dalam kode.







Cara Kerja Kode

Masukkan PIN kartu SIM Anda dalam variabel berikut. Jika tidak ditentukan, Anda dapat membiarkan variabel ini kosong.

Kemudian, tambahkan nomor telepon yang ingin Anda kirimi SMS. Nomor tersebut harus dalam format internasional, jika tidak, nomor tersebut tidak akan berfungsi: (tanda plus) dan kode negara, untuk Portugal +351, diikuti dengan nomor telepon.

Contoh untuk Portugal +351XXXXXXXXX

Konfigurasikan perpustakaan TinyGSM agar berfungsi dengan modem SIM800L:

Sertakan perpustakaan berikut:

Baris berikut menentukan pin yang digunakan oleh modul SIM800L:

Inisialisasi komunikasi serial untuk berinteraksi dengan Serial Monitor dan lainnya untuk berinteraksi dengan modul SIM800L.

Di setup(), inisialisasi Serial Monitor.

Atur pin SIM800L dalam kondisi yang tepat untuk beroperasi:

Inisialisasi komunikasi serial dengan modul SIM800L:

Inisialisasi modul SIM800L dan buka kunci PIN kartu SIM jika diperlukan.

Inisialisasi SIM800L mUntuk mengirim SMS, Anda hanya perlu menggunakan metode sendSMS() pada objek modem dan memberikan argumen nomor telepon penerima dan pesan.odule dan buka kunci PIN kartu SIM jika diperlukan.

Dalam hal ini, pesannya adalah "Halo dari ESP32!", tetapi dapat diganti dengan info lain seperti data sensor.

Demonstrasi

Dengan kartu SIM nano dimasukkan ke dalam modul, unggah kode ke papan T-Call ESP32 SIM800L Anda.

Buka Tools > Board dan pilih ESP32 Dev Module. Buka Tools > Port dan pilih port COM yang terhubung dengan papan Anda. Terakhir, tekan tombol unggah untuk mengunggah kode ke papan Anda.

Catatan: saat ini, tidak ada papan untuk T-Call ESP32 SIM800L, tetapi kami telah memilih Modul Dev ESP32 dan telah berfungsi dengan baik.

Setelah mengupload kode, buka Serial Monitor pada baud rate 115200 untuk melihat apa yang terjadi.

Setelah beberapa detik, Anda akan menerima SMS di nomor telepon penerima.

Penyelesaian Masalah

Jika pada titik ini, Anda tidak menerima SMS, hal itu dapat disebabkan oleh salah satu alasan berikut:

    • Modul ini hanya berfungsi jika 2G didukung di negara Anda;

    • Nomor telepon mungkin salah ketik atau tidak diformat dengan benar dengan tanda plus (+) dan kode negara;

    • Antena mungkin tidak berfungsi dengan baik. Dalam kasus kami, kami telah mengganti antena dengan yang ini;

    • Anda mungkin perlu keluar untuk mendapatkan jangkauan sinyal yang lebih baik;

    • Atau Anda mungkin tidak memasok arus yang cukup ke modul. Jika Anda menyambungkan modul ke komputer menggunakan hub USB, mungkin arusnya tidak cukup untuk beroperasi.

Sistem Pemberitahuan SMS ESP32

Di bagian ini, kami akan menunjukkan cara membangun sistem notifikasi SMS yang mengirim pesan teks saat pembacaan sensor melewati nilai suhu ambang batas yang telah ditentukan.

Diagram Skematik

Sebelum melanjutkan, sambungkan sensor suhu DS18B20 ke papan T-Call ESP32 SIM800L seperti yang ditunjukkan pada diagram skematik berikut. Kami menghubungkan pin data DS18B20 ke GPIO 13.

Kode

Salin kode berikut ke Arduino IDE Anda. Masukkan nomor telepon penerima dan atur nilai ambang. Kemudian, Anda dapat mengunggah kode ke papan T-Call ESP32 SIM800L.










Cara Kerja Kode

Pada contoh sebelumnya, kami telah menjelaskan cara menginisialisasi SIM800L dan semua konfigurasi yang diperlukan. Jadi, mari kita lompat ke bagian yang relevan untuk proyek ini.

Pertama, ketik PIN kartu SIM Anda. Jika tidak ditentukan, Anda dapat membiarkan variabel ini kosong.

Kemudian, tambahkan nomor telepon yang ingin Anda kirimi SMS. Nomornya harus dalam format internasional, jika tidak maka tidak akan berfungsi.

Tentukan ambang suhu Anda. Kami telah mengaturnya ke 28 derajat Celcius.

Buat variabel untuk melacak apakah SMS terkirim atau tidak.

Sensor suhu terhubung ke GPIO 13, tetapi Anda dapat menggunakan GPIO lainnya.

Di loop(), dapatkan pembacaan suhu.

Secara default, suhu dalam derajat Celcius, tetapi Anda dapat menghapus komentar pada baris berikut untuk menggunakan suhu dalam derajat Fahrenheit. Kemudian, Anda juga harus menyesuaikan nilai ambang agar sesuai dengan unit suhu Anda.

Setelah itu, ada kondisi yang memeriksa apakah nilai suhu saat ini di atas ambang batas yang ditentukan dan jika SMS peringatan belum dikirim.

Jika kondisi itu benar, kirim SMS yang mengatakan “Suhu di atas ambang batas: ” dan nilai suhu saat ini.

Seperti yang Anda lihat, untuk mengirim pesan teks, Anda menggunakan metode sendSMS() pada objek modem. Anda hanya perlu memberikan argumen, nomor telepon yang ingin Anda kirimi SMS, dan isi pesan.

Setelah mengirim pesan, setel variabel smsSent ke true untuk menghindari beberapa peringatan SMS untuk ambang batas yang sama tercapai.

Ketika suhu turun di bawah ambang batas, kami juga menerima SMS.

Kali ini, atur variabel smsSent ke false, sehingga kita berhenti menerima pesan di bawah ambang batas.

Kondisi ini diperiksa setiap 5 detik, tetapi Anda dapat mengubah waktu tunda.

Unggah Kode

Setelah memasukkan nomor telepon penerima dan kode pin kartu SIM, unggah sketsa ke ESP32 Anda.

    • Pergi ke Tools > Board dan pilih modul ESP32 Dev

    • Setelah itu, buka Alat > Port dan pilih port COM yang terhubung dengan ESP32

    • Kemudian, tekan tombol Unggah

Setelah beberapa detik, kode akan berhasil diunggah.

Anda juga dapat membuka Serial Monitor pada baud rate 115200 untuk melihat pembacaan sensor saat ini.

Jika saya meletakkan jari saya di atas sensor, suhu akan mulai meningkat. Ketika mencapai di atas 28ºC, ia mengirim SMS.

Ketika suhu turun di bawah ambang batas, saya akan menerima SMS lagi.

Membungkus

Dengan proyek ini Anda telah mempelajari cara mengirim SMS dengan modul T-Call ESP32 SIM800L. Sekarang, Anda dapat menggunakan proyek ini dalam aplikasi nyata dan membiarkannya mengirimkan pemberitahuan SMS ketika nilai ambang tercapai atau mengirim SMS dengan pembacaan sensor setiap jam, misalnya.

Untuk membuat proyek ini bertenaga baterai, saya sarankan menggunakan mode tidur nyenyak dan bangunkan ESP32 setiap jamuntuk memeriksa suhu saat ini, karena jika Anda menggunakan kode dalam proyek ini, itu akan menguras baterai Anda dengan cepat.

Artikel/proyek lain dengan papan T-Call ESP32 SIM800L:

    ESP32 Publikasikan Data ke Cloud tanpaWi-Fi (TTGO T-Call ESP32 SIM800L)

    TTGO T-Call ESP32 dengan SIM800L GSM/GPRS(tinjauan mendalam)

Pelajari lebih lanjut tentang ESP32 dengan sumber daya kami:

    Belajar ESP32 dengan Arduino IDE (Kursus)

    Pemrograman MicroPython dengan ESP32 danESP8266 (eBook)

    Lebih Banyak Proyek dan Tutorial ESP32

Sumber : randomnerdtutorials.com  

Posting Komentar

0 Komentar