#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 ; }