Senin, 07 Desember 2020

Internet-Based Flood Detection System (IoT) and Telegram Messenger Using Mcu Node and Water Level Sensor

     Disusun Oleh :

     1. Pungky Rosalya Putri                  (20051204002)    

    2. Anggun Kurniatul Hidayah        (20051204006)

    3. Dean Sanjaya Surya Putra          (20051204082)

    4. Valdo Febrian                               (20051204010)

 

 

 

BAB I

PENDAHULUAN

   A. Latar Belakang

        Bencana banjir merupakan bencana alam yang sering terjadi di Indonesia setiap musim penghujan, seperti yang terjadi di Ibu Kota Indonesia yaitu Jakarta atau beberapa daerah lainnya di Indonesia. Pada Penelitian serupa yaitu mendeteksi ketinggian air dapat dilakukan dengan menggunakan radar Doppler, tetapi memerlukan rancangan perangkat keras yang rumit. Cara tersebut memerlukan biaya tinggi. Cara lain yang efektif dan ekonomis untuk mendeteksi ketinggian permukaan air dapat menggunakan Sensor Waterlevel berbasis mikrokontroler. Pada penelitian kali ini, Peneliti mengunakan Sensor water level. Ultrasonik sebagai alat pendeteksi yang digabungkan dengan mikrokontroler (Arduino uno) dan berbasis internet of thing (IoT). Oleh sebab itu, penulis membangun “Sistem Deteksi Banjir Berbasis Internet of Thing (IoT) dan Telegram messenger Menggunakan Node MCU Serta Sensor Waterlevel” yang dapat menjadi peringatan bagi penduduk setempat untuk di teliti.

 

B. Rumusan Masalah

1.      Apa yang dimaksud dengan IoT?

2.      Apa saja alat dan bahan yang dibutuhkan?

3.      Bagaimana proses pembuatan sensor tersebut?

 

C.  Tujuan Pengujian

1.      Untuk mengetahui definisi dari IoT

2.      Untuk mengetahui alat dan bahan yang dibutuhkan untuk membuat sensor Waterlevel           berbasis mikrokontroler

3.      Untuk mengetahui cara sensor mendeteksi banjir.

 


BAB II

PEMBAHASAN

A.    Internet of Thing (IoT)

IoT merupakan sebuah jaringan internet yang menyediakan, mengolah dan mentransfer informasi digital yang diperoleh dari peralatan sensor seperti identifikasi radio frekuensi, sensor infra merah, GPS, scanner dan smart meter, Dewi Surnati 2007. Sensor dalam jaringan IoT berfungsi untuk mendeteksi dan mengidentifikasi parameter sebuah peralatan melalui jaringan komunikasi kabel maupun nirkabel sehingga mampu untuk memperoleh data yang akurat serta proses arduino secara real time, Setiawan, A. 2006.

 

B.   Alat dan Bahan

1.       Node MCU

Node MCU merupakan sebuah platform IoT yang bersifat open source yang terdiri dari perangkat keras berupa sistem on chip, Istilah Node MCU sebenarnya mengacu pada firmware yang digunakan dari perangkat keras development kit, T Widiaman, 2016. Node MCU dianalogikan sebagai board arduinonya ESP8266. Dalam seri tutorial ESP8266

 



 

2.       Sensor Waterlevel

Water Level Sensor K-0135 merupakan suatu alat yang digunakan untuk memberikan signal kepada alarm panel bahwa permukaan air telah mencapai level tertentu. Sensor water level akan memberikan signal ke panel ketika didapat sensor menemukan air telah naik. Cara kerja Sensor ketika ketinggian air mencapai batas maksimal dari sensor, secara otomatis Bandul Magnet akan terangkat ketika magnet berada pada level sensor berikutnya sensor tersebut akan aktif menyalakan lampu peralatan lainya. Jarak jangkauan sensor water level yakni bisa mendeteksi tinggi air sampai dengan 1 - 4 cm, Achmad Muzakky, dkk, 2018.



3.       Gelas dan air

Gelas dan air ini digunakan untuk mengecek sensornya apakah bekerja atau tidak.


 

 


 

 

 


C.   Rancang Bangun Sistem

Gambaran rancang bangun perangkat deteksi banjir ini seperti pada gambar berikut.



  

 

D. Cara Kerja Sensor Water Level

1.       Koneksi Hotspot wifi

Pada pembangunan sistem deteksi banjir ini tahapan pertama yang dilakukan adalah koneksi hosport wifi (sebagai penyedia layanan internet) dengan mikrokontroler Node Mcu. Tahapan ini berfungsi supaya mikrokontroler. Node Mcu bisa menjalankan perannya sebagainya pengendali Internet of thing. Dari hasil percobaan ini didapatkan hasil berupa nomor IP addres dari mikrokontroler Node Mcu adalah 192.168.1.141. Berikut adalah coding untuk menghubungkan dengan wifi.

#include <ESP8266WiFi.h>

#include <WiFiClientSecure.h>

#include <UniversalTelegramBot.h>

 

// Initialize Wifi connection to the router

char ssid[] = "Ovi House";     // your network SSID (name)

char password[] = "isticomel0211"; // your network key

 

// Initialize Telegram BOT

#define BOTtoken "1574556187:AAEt_3pH58suLjDhuT5C4E0w1Coex_SHrps"  // your Bot Token (Get from Botfather)

#define idchat "1033898288"

WiFiClientSecure client;

UniversalTelegramBot bot(BOTtoken, client);

 

int pinSensor = A0;

float panjangSensor = 4.0 ;

int cek=0;

int Bot_mtbs = 10; //mean time between scan messages

long Bot_lasttime;   //last time messages' scan has been done

bool Start = false;

 

void handleNewMessages(int numNewMessages) {

  Serial.println("handleNewMessages");

  Serial.println(String(numNewMessages));

 

  for (int i=0; i<numNewMessages; i++) {

    String chat_id = String(bot.messages[i].chat_id);

    String text = bot.messages[i].text;

 

    String from_name = bot.messages[i].from_name;

    if (from_name == "") from_name = "Guest";

  

    if (text == "Ok") {

      cek=12;

       String welcome = "Terima kasih atas perhatiannya";

      bot.sendMessage(chat_id, welcome);

      Serial.println("Pesan telah direima");}

    

 

        if (text == "Cek") {

      cek=0;

       String welcome = "Kami akan mengeceknya lagi";

      bot.sendMessage(chat_id, welcome);

      Serial.println("Pesan telah direima");}

      }

    }

  

 

 

 

 

void setup() {

  Serial.begin(115200);

  // Set WiFi to station mode and disconnect from an AP if it was Previously

  // connected

  WiFi.mode(WIFI_STA);

 

  //WiFi.disconnect();

  //delay(100);

 

  // attempt to connect to Wifi network:

  Serial.print("Connecting Wifi: ");

  Serial.println(ssid);

  WiFi.begin(ssid, password);

 

  while (WiFi.status() != WL_CONNECTED) {

    Serial.print(".");

    delay(100);

  }

 

  Serial.println("");

  Serial.println("WiFi connected");

  Serial.print("IP address: ");

  Serial.println(WiFi.localIP());

}

 

void loop() {

 

int nilai = analogRead(pinSensor);

      float tinggiAir = nilai * panjangSensor / 1023;

      Serial.print("Tinggi Air = ");

      Serial.print(tinggiAir);

      Serial.println(" cm");

      delay(1000);

 

  if(tinggiAir<=0.1){

    if(cek==0){

  Serial.println("Tangki mulai kosong ");

  String welcome="Tangki air mulai kosong\n";

  welcome+="Mohon perhatiannya\n";

  welcome+="Untuk segera mengisinya";

  bot.sendMessage(idchat, welcome);

    }}

 

   if(tinggiAir>=2.00){

    if(cek==0){

  Serial.println("Tangki mulai penuh ");

  String welcome="Tangki air mulai penuh\n";

  welcome+="Mohon perhatiannya\n";

  welcome+="Untuk segera menonaktifkannya";

  bot.sendMessage(idchat, welcome);

    }}

 

  if (millis() > Bot_lasttime + Bot_mtbs)  {

    int numNewMessages = bot.getUpdates(bot.last_message_received + 1);

 

    while(numNewMessages) {

      Serial.println("got response");

      handleNewMessages(numNewMessages);

      numNewMessages = bot.getUpdates(bot.last_message_received + 1);

    }

 

    Bot_lasttime = millis();

  }

}

 

2.       Koneksi Node Mcu dengan Telegram Messeger

Tahapan kedua yang penulis lakukan disini adalah malakukan koneksi antara Node Mcu dengan server Telegram messenger. Node Mcu baru bisa berkomunikasi dengan dengan aplikasi telegram messenger setelah terhubung dengan koneksi internet. Dalam proses koneksi antara Node Mcu dengan Telegram messenger dibutuhkan perantara, yaitu hosting. Dalam penelitian ini penulis menggunakan hosting berbayar.

Telegram messenger memilki server yang disebut BotFather, jadi Node Mcu akan tersambung ke BotFather. Setelah pembuatan akun Telegram messenger dan mendapatkan ID akun beserta Token API penulis membuat Grup Banjir di Telegram messenger. Grup ini merupakan wadah penerima informasi kepada penerima yang dituju. Hasil dari koneksi Node MCU dengan Telegram messenger.

 

3.       Sinkronisasi Node MCU dengan Sensor Waterlevel

Tahapan pengujian terakhir yang penulis lakukan sebelum mengabungkan semua perangkat menjadi satu sistem adalah ujicoba sinkronisasi Node Mcu dengan sensor Waterlevel. Ujicoba ini untuk memastikan sensor bisa berkomunikasi dengan Node Mcu dan untuk mendapatkan nilai output dari sensor. Nilai output ini nantinya akan menjadi nilai yang akan bisa dibaca oleh sistem. Dari hasil ujicoba didapatkan nilai terkecil dari ujung sensor yaitu 360 dan terbesar 550.

 

4.       Sistem Deteksi Banjir dan Hasil Penelitian

Setelah sistem deteksi banjir selesai dirakit dan diprogramkan selanjutnya dilakukan pengujian. Pengujian sistem ini dilakukan di Laboratorium Teknik Informatika Universitas Samudra. Hasil dari pengujian sistem deteksi ini adalah jika sensor waterlevel tersentuh oleh air maka mikrokontroler Node Mcu akan mengirim akan mengirimkan pesan Telegram messenger dengan isi pesan “Debit air semakin meingkat, waspada banjir!”. Pesan ini akan terus terkirim selama masih tersentuh oleh air. Pesan telegram messenger tidak akan terkirim jika sensor waterlevel tidak tersentuh oleh air. Berikut adalah hasil sensor saat tidak terdapat air.




Berikut adalah gambar hasil sensor ketika terdapat air didalamnya

 

Pada penelitian ini penulis membangun sistem yang dapat mengirim pesan banjir ke grup pada Telegram messenger dengan nama grup “Grup Banjir”. Jika sensor terus tersentuh oleh air maka pengiriman pesannya akan terus berlanjut selama 5000 sekon sekali pengiriman.

 

Pada pengujian sistem deteksi di kawasan rawan banjir di desa Asam Petik, Kota Langsa, penulis meletakkan peralatan ini pada ketinggian 40 cm dari atas permukaan air sungai. Dikawasan tersebut banjir akan terjadi jika air sungai meninggi mencapai 50 cm. Jika deteksi banjir ini telah mengirim pesan telegram messenger dan terkirim terus-menerus dalam waktu 30 menit maka banjir besar akan terjadi. Jika terjadi banjir maka pesan melalui Telegram Messenger akan terkirim kepada nomor yang terdaftaf yang merupakan warga sekitar lokasi banjir yang kemungkinan akan dilanda banjir.

 

 

 

 

BAB III

Penutup

A.     Kesimpulan

            Dari pengujian yang telah dilakukan di Laboratorium Teknik Informatika Universitas Samudra                mendapatkan kesimpulan sebagai berikut:

1.   Mikrokontroler Node MCU dapat bekerja dalam mengkoordinir semua perangkat yang terhubung.

2.   Sensor waterlevel hanya bisa mendeteksi jika tercelup kedalam air, tidak bisa mendeteksi jika hanya terkenal percikan air setetes.

3.   Telegram messenger responsive dalam sistem Internet of Thing (IoT).

Sistem berbasis Internet of Thing (IoT) sangat bergantung pada jaringan telekomunikasi global (internet). Alat deteksi ini tidak dapat bekerja jika tidak terkoneksi ke jaringan internet dan juga tidak bisa mengirim pesan telegram messenger secara realtime jika koneksi internetnya lambat untuk paramater cepat lambat pada sistem Internet of Thing (IoT).





DAFTAR PUSTAKA


 Dewi Surinati, “Pasang Surut Dan Energinya” Oseana, Volume XXXII, Nomor 1, Tahun 2007: 15-22

Setiawan, A. 2006. Energi dari Laut dan Pasang-surut Laut http://oseanojgrafi.blogspot.com (diakses pada tanggal 13 September 2006)

T. Widiyaman, “Pengertian Modul Wifi ESP8266 – Warriornux,” Warriornux, 2016. [Daring]. Tersedia pada: http://www.warriornux.com/pengertianmodul-wifi-esp8266/.

Achmad Muzakky, dkk “Perancangan sistem deteksi banjir berbasis IoT”. Conference on innovation and application of Science and Technology (CIASTECH 2018)

Abdul Kadir “Pemprograman Arduino & Processing” PT Elex Media Komputindo, Jakarta, 2007


Lampiran









Tidak ada komentar:

Posting Komentar