ESP32/ESP8266 Kirim Notifikasi Email menggunakan Skrip PHP

Dalam proyek ini Anda akan membangun klien ESP32 atau ESP8266 yang membuat permintaan HTTP POST ke skrip PHP untuk mengirim pemberitahuan email dengan pembacaan sensor.

Anda juga dapat mengatur nilai ambang batas, sehingga pemberitahuan email Anda hanya dikirim jika suhu/kelembaban/tekanan di atas nilai tertentu.

 

Sebagai contoh, kami akan menggunakan sensor BME280 yang terhubung ke papan ESP32 atau ESP8266. Anda dapat memodifikasi kode yang disediakan untuk mengirim bacaan dari sensor yang berbeda atau bahkan menggunakan beberapa papan.

 

Ini adalah cara yang bagus untuk mengirim pemberitahuan email menggunakan ESP32 atau ESP8266 tanpa bergantung pada IFTTT atau server SMTP. Untuk membangun proyek ini, Anda akan:

• Host server dan siapkan nama domain

• Buat skrip PHP untuk mengirim pemberitahuan email

• Program ESP32 atau ESP8266 dengan Arduino IDE

1. Hosting Aplikasi PHP Anda

Tujuan dari proyek ini adalah untuk memiliki nama domain dan akun hosting Anda sendiri yang memungkinkan Anda mengirim pemberitahuan email (tanpa menggunakan server SMTP, IFTTT, dll…).

Berikut adalah ikhtisar tingkat tinggi tentang cara kerja proyek:

Skrip PHP HTTP – Kirim Pemberitahuan Email

 

Setelah mendaftar untuk akun hosting dan menyiapkan nama domain, Anda dapat masuk ke cPanel atau dasbor serupa.

 

Setelah itu, ikuti langkah selanjutnya untuk membuat skrip PHP yang bertanggung jawab untuk menerima permintaan masuk dari ESP32/ESP8266 dan mengirim email.

 

Jika Anda menggunakan penyedia hosting dengan cPanel, buka Advanced dan cari “File Manager“:

Kemudian, pilih opsi public_html dan tekan tombol “+ File” untuk membuat file .php baru.

Catatan: jika Anda mengikuti tutorial ini dan Anda tidak terbiasa dengan PHP, saya sarankan untuk membuat file yang sama persis. Jika tidak, Anda harus memodifikasi sketsa ESP yang disediakan dengan jalur URL yang berbeda.

 

Buat file baru di /public_html dengan nama dan ekstensi persis ini: email-notification.php

Edit file yang baru dibuat (email-notification.php) dan salin skrip berikut:



Sebelum menyimpan file, Anda perlu memodifikasi variabel $email_address dengan alamat email penerima:

Setelah menambahkan email penerima, simpan file dan lanjutkan dengan tutorial ini. Jika Anda mencoba mengakses nama domain Anda di jalur URL berikutnya, Anda akan melihat yang berikut:

Jika Anda melihat pesan itu, itu berarti semuanya sedang diatur dengan benar. Anda dapat melanjutkan proyek ini. 

3. Mempersiapkan ESP32 atau ESP8266 Anda

Proyek ini kompatibel dengan papan ESP32 dan ESP8266. Anda hanya perlu merakit sirkuit sederhana dan mengunggah sketsa yang disediakan untuk mempublikasikan pembacaan suhu, kelembaban, dan tekanan ke skrip PHP Anda, yang kemudian akan bertanggung jawab untuk menangani notifikasi email.

 

Bagian yang Diperlukan

 

Untuk contoh ini kita akan mendapatkan pembacaan sensor dari sensor BME280. Berikut daftar bagian yang Anda butuhkan untuk membangun sirkuit untuk proyek ini:

• Papan ESP32

• Alternatif – Papan ESP8266 

• Sensor BME280

• Kabel jumper

• Breadboard

 

Skema Rangkaian

 

Modul sensor BME280 yang kami gunakan berkomunikasi melalui protokol komunikasi I2C, jadi Anda perlu menghubungkannya ke pin ESP32 atau ESP8266 I2C.

 

Kabel BME280 ke ESP32


Jadi, rakit sirkuit Anda seperti yang ditunjukkan pada diagram skema berikut (baca Panduan lengkap untuk ESP32 dengan BME280).

Rakit sirkuit Anda seperti pada diagram skema berikutnya jika Anda menggunakan papan ESP8266.


Sketsa ESP32/ESP8266

 

Kami akan memprogram ESP32/ESP8266 menggunakan Arduino IDE, jadi Anda harus menginstal add-on ESP32/ESP8266 di Arduino IDE Anda.

 

Setelah menginstal add-on papan yang diperlukan, salin kode berikut ke Arduino IDE Anda, tetapi jangan mengunggahnya dulu. Anda perlu membuat beberapa perubahan untuk membuatnya bekerja untuk Anda.






Mengatur kredensial jaringan Anda

 

Anda perlu mengubah baris berikut dengan kredensial jaringan Anda: SSID dan kata sandi. Kode dikomentari dengan baik di mana Anda harus membuat perubahan.

Menyetel nama server Anda

 

Anda juga perlu mengetikkan nama domain Anda, sehingga ESP menerbitkan bacaan ke server Anda sendiri.

Sekarang, Anda dapat mengunggah kode ke papan Anda. Ini harus bekerja langsung baik di papan ESP32 atau ESP8266. Jika Anda ingin mempelajari cara kerja kode, baca bagian selanjutnya.

 

Cara Kerja Kode


• Impor semua perpustakaan untuk membuatnya berfungsi (itu akan mengimpor perpustakaan ESP32 atau ESP8266 berdasarkan papan yang dipilih di Arduino IDE Anda);

• Tetapkan variabel yang mungkin ingin Anda ubah (apiKeyValue);

• apiKeyValue hanyalah string acak yang dapat Anda modifikasi. Ini digunakan untuk alasan keamanan, jadi hanya siapa pun yang mengetahui kunci API Anda yang dapat mengirim pemberitahuan email.

• Inisialisasi komunikasi serial untuk keperluan debugging;

• Buat koneksi Wi-Fi dengan router Anda;

• Inisialisasi sensor BME280 untuk mendapatkan pembacaan suhu, kelembaban dan tekanan;

Kemudian, di sisa setup() adalah tempat Anda benar-benar membuat HTTP POST dengan pembacaan BME280 terbaru:

Anda dapat mengomentari variabel httpRequestData di atas yang menggabungkan semua pembacaan BME280 dan menggunakan variabel httpRequestData di bawah ini untuk tujuan pengujian:

Demonstrasi

 

Setelah menyelesaikan semua langkah, aktifkan papan ESP Anda dan biarkan membuat permintaan HTTP ke server Anda:

Jika semuanya berfungsi dengan baik, inilah yang akan Anda lihat di Serial Monitor Arduino IDE Anda:

Buka klien email Anda, Anda harus memiliki email baru dengan subjek "Bacaan [BARU] ESP BME280" dengan pembacaan suhu terbaru:

Untuk mengirim email baru, tekan tombol RESET/ENABLE on-board ESP untuk memulai ulang dan bacaan baru akan dikirim melalui email.

 

Untuk aplikasi terakhir, saya sarankan menggunakan deep sleep untuk membuat ESP mengirim email setiap X jumlah menit/jam dengan konsumsi daya yang rendah.

 

Aktifkan Pemberitahuan Ambang Batas

 

Terakhir, ingatlah bahwa setiap kali Anda me-restart ESP Anda (atau ESP bangun dari tidur nyenyak), itu akan mengirim pemberitahuan email baru dengan nilai saat ini. Mungkin berguna untuk menetapkan nilai ambang sehingga Anda hanya menerima pemberitahuan email saat pembacaan Anda di atas atau di bawah ambang batas.

 

Dalam skrip PHP Anda (email-notification.php), batalkan komentar pada pernyataan if berikut:

Ini akan terlihat seperti ini:

Anda dapat mengubah pernyataan if tersebut dengan tipe nilai dan hanya mengirim email berdasarkan kondisi tersebut. Dengan kode saat ini, hanya akan mengirimkan email notifikasi saat suhu di atas 24.0ºC.

 

Sumber: randomnerdtutorials.com

 

 

 

 

 

 


Siap Belajar & Bangun Proyek IoT?

KLIK GAMBAR DI BAWAH INI UNTUK BELI TRAINER KIT ESP32


Klik gambar untuk pembelian

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.


Posting Komentar

0 Komentar