NodeMCU, Cara Membuat Notifikasi Email Alarm Kebanjiran

Notifikasi merupakan hal yang sangat dibutuhkan guna memberi tahu informasi tentang suatu alat ataupun aplikasi. Apalagi jika menyangkut hal-hal yang mengenai keselamatan orang banyak tentu ini sangat penting. Notifikasi atau pemberitahuan dapat berupa tanda-tanda seperti bunyi suara, getaran dan sebagainya. Nah pada kesempatan kali ini saya akan memberikan tutorial cara membuat notifikasi berupa email tentang alarm kebanjiran. Jadi alat ini akan mendeteksi ketinggian sungai/bendungan kemudian jika alat mendeteksi level air maksimal, alat ini akan memberikan notifikasi berupa buzzer dan email ke penggunanya. Namun, alat ini masih berupa prototype jadi dapat dikembangkan lagi oleh teman-teman. Adapun hasil notifikasinya seperti gambar dibawah ini :

notifikasi email dengan nodemcu

Yang diperlukan pada project kali ini sebagai berikut ;
Software
  1. Arduino IDE
  2. Menggunakan ifttt.com
ifttt sendiri merupakan sebuah aplikasi layanan otomatisasi yang dapat menggabungkan dua atau lebih layanan internet menjadi satu. IFTTT ini singkatan dari "if this, then that", jadi seperti pada logika if, jika ada kondisi ini maka lakukan itu.

Hardware :
  1. NodeMcu, saya pakai V3 Lolin
  2. Sensor Water Level
  3. Buzzer aktif 5v
  4. Kabel jumper
Rangkaian
- Data (s) dihubungkan ke pin D1 NodeMCU
- Vcc (+) dihubungkan ke 3.3 v NodeMCU
- GND (-) dihubungkan ke GND NodeMCU
- (+) Buzzer dihubungkan ke pin D2 NodeMCU
- (-) Buzzer dihubungkan ke GND NodeMCU

lihat rangkaian di sini.
Download part NodeMCU, Fritzing.

Langkah-langkah :
  1. Silahkan kunjungi ifttt.com sign up dengan google+ atau facebook. Setelah masuk, pilih 3 aplikasi yang akan dibuat misalnya android, gmail, fb. Kemudian masuk ke menu My Applets > New Applet
  2. Klik this
  3. Ketikkan Webhooks > dan klik Webhooks
  4. Klik Receive a web request
  5. ketikkan Event Name, misalnya kirim email > Create trigger.
  6. Klik that
  7. Ketikkan gmail > klik gmail
  8. Klik Send an email
  9. Masukkan email tujuan teman-teman atau memakai email google yang sama juga tidak apa-apa
  10. Scrool ke bawah ganti subjek dengan Value1 > cara ganti dengan klik add ingredient. Body dengan Value2 dan Value3 dengan cara yang sama > Create action > Finish.
  11. Klik icon
  12. klik documentation untuk mendapatkan Key > copy dan paste kan ke sketch arduino
Atau jika ingin jelas lihat gambar dibawah ini :


Upload sketch berikut ini, seperti biasa sebelum upload sketch pada Arduino IDE pastikan Board sesuai yang digunakan dan Port terceklis, misalnya COM20.
 
#include <ESP8266WiFi.h>

WiFiClient client;

String MakerIFTTT_Key;
String MakerIFTTT_Event;
char *append_str(char *here, String s) {
int i = 0;
while (*here++ = s[i]) {
i++;
}
return here - 1;
}
char *append_ul(char *here, unsigned long u) {
char buf[20];
return append_str(here, ultoa(u, buf, 10));
}
char post_rqst[256];
char *p;
char *content_length_here;
char *json_start;
int compi;

int pinWater = D1;
int pinBuzzer = D2;
void setup() {
Serial.begin(115200);
WiFi.disconnect();
delay(3000);
Serial.println("Start");
WiFi.begin("Who????", "housing4567"); // ssid, pass
while ((!(WiFi.status() == WL_CONNECTED))) {
delay(300);
}
pinMode(pinWater, INPUT);
pinMode(pinBuzzer, OUTPUT);
Serial.println(".................");
Serial.println("connected");
}

void loop() {
int waterState = digitalRead(pinWater);
Serial.println(waterState);

if (waterState == HIGH) {
if (client.connect("maker.ifttt.com", 80)) {
MakerIFTTT_Key = "pJAgkuoGZ5ozPphFyqgadsE"; //ganti key teman-teman ifttt.com
MakerIFTTT_Event = "kirim email";
p = post_rqst;
p = append_str(p, "POST /trigger/");
p = append_str(p, MakerIFTTT_Event);
p = append_str(p, "/with/key/");
p = append_str(p, MakerIFTTT_Key);
p = append_str(p, " HTTP/1.1\r\n");
p = append_str(p, "Host: maker.ifttt.com\r\n");
p = append_str(p, "Content-Type: application/json\r\n");
p = append_str(p, "Content-Length: ");
content_length_here = p;
p = append_str(p, "NN\r\n");
p = append_str(p, "\r\n");
json_start = p;
p = append_str(p, "{\"value1\":\"");
p = append_str(p, "Tinggi Air");
p = append_str(p, "\",\"value2\":\"");
p = append_str(p, "Mr.Symask..");
p = append_str(p, "\",\"value3\":\"");
p = append_str(p, "Waspada Banjir Datang!");
p = append_str(p, "\"}");

compi = strlen(json_start);
content_length_here[0] = '0' + (compi / 10);
content_length_here[1] = '0' + (compi % 10);
client.print(post_rqst);
}
Serial.println("Pesan Dikirim...............");
Serial.println("Waspada Banjir Datang!");
delay(5000);
digitalWrite(pinBuzzer, HIGH);
}
else
{
Serial.println("Aman Mr.Symask");
digitalWrite(pinBuzzer, LOW);
}
delay(10000);
}

Silahkan teman-teman ganti ssid, password wifi dan ganti key yang didapat dari ifttt.com pada langkah-langkah ke 12. Jangan lupa untuk men-sinkronkan email teman-teman pada samartphone. Untuk percobaan silahkan teman-teman memasukkan sensor water level ke segelas air. Hasilnya akan terdapat buzzer dan notifikasi pada email teman-teman.
Baca juga : NodeMCU, Cara Menyimpan Data ke Database MySql

Demikianlah pembahasan project kali ini, semoga bermanfaat. Jangan lupa untuk membagikan project ini agar teman-teman lainnya juga bisa mempraktikannya.
Terima kasih. Salam.

0 Response to "NodeMCU, Cara Membuat Notifikasi Email Alarm Kebanjiran"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel

Iklan Bawah Artikel