From 76feeaae59199adedf15ffb33ef9dfdecc1f6765 Mon Sep 17 00:00:00 2001 From: rezainalvito Date: Tue, 11 Jun 2024 12:15:46 +0700 Subject: [PATCH] first commit --- Notifikasi_Whatsapp.ino | 126 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 Notifikasi_Whatsapp.ino diff --git a/Notifikasi_Whatsapp.ino b/Notifikasi_Whatsapp.ino new file mode 100644 index 0000000..00144de --- /dev/null +++ b/Notifikasi_Whatsapp.ino @@ -0,0 +1,126 @@ +#include +#include + +const char* ssid = "SG"; +const char* password = "12121212"; + +#define pinSensor D1 +#define Led D0 +#define Pompa D2 + +int pompa_air; + +String url; + +// siapkan variable untuk WIFI Client +WiFiClient client; + + +void setup(){ + Serial.begin(9600); + pinMode (pinSensor, INPUT); + pinMode (Led, OUTPUT); + pinMode (Pompa, OUTPUT); + + digitalWrite(Pompa, LOW); + + // koneksi wifi + WiFi.hostname ("ESP8266"); + WiFi.begin(ssid, password); + // Uji koneksi ke wifi + while(WiFi.status() != WL_CONNECTED) + { + digitalWrite(Led, LOW); + delay (500); + } + digitalWrite(Led, HIGH); + +} + +void loop() { + pompa_air = digitalRead(Pompa); + int api = digitalRead (pinSensor); + if (api==0) + { + // Tidak ada api + //digitalWrite(Pompa, LOW); + Serial.println("Tidak Ada Api"); + } + else + { + //digitalWrite(Pompa, HIGH); + Serial.println("Ada Api"); + + // Kirim Pesan Via Whatsapp + kirim_wa("Kepada yang terhormat,\n\nKami mendeteksi titik api di sekitar lingkungan Rumah Anda. Mohon segera evakuasi keluarga Anda ke tempat yang aman.\n\n1. Tetap tenang.\n2. Evakuasi diri dan keluarga.\n3. Hubungi layanan darurat pemadam kebakaran.\n\nKeselamatan Anda adalah prioritas utama. Mohon tindakan segera.\n\nTerima kasih atas perhatiannya."); + } + delay (1000); +} + +void kirim_wa (String pesan) +{ + url = "http://api.callmebot.com/whatsapp.php?phone=6281331285356&text="+ urluncode(pesan) +"&apikey=6955011"; + // kirim pesan + postData(); +} + +void postData() +{ + // Siapkan variable untuk menampung pesan status pesan terkirim atau tidak + int httpCode; + // Siapkan variable untuk protokol http yg akan terkoneksi ke server callmebot + HTTPClient http; + //eksekusi link URL + http.begin(client, url); + httpCode = http.POST(url); + // Uji nilai variable httpCode + if(httpCode==200) + { + Serial.println("Notifikasi Pesan telah berhasil Terkirim"); + } + else + { + Serial.println("Notifikasi Pesan Gagal Terkirim"); + } + http.end(); +} + +String urluncode(String str) +{ + String encodedString=""; + char c; + char code0, code1, code2; + for(int i=0; i 9) { + code1 = (c & 0xf) - 10 + 'A' ; + } + c = (c>>4)&0xf; + code0 = c+'0'; + if (c > 9) { + code0 = c - 10 + 'A' ; + } + code2 = '\0'; + encodedString += '%'; + encodedString += code0; + encodedString += code1; + } + yield(); + } + Serial.println(encodedString); + return encodedString ; +} + +