Jumat, 06 Desember 2019

INTERNET OF THINGS “WEATHER MONITORING”



Disusun Oleh :
1. Abdullah Azizi Akbar                     (19051204071)
2. Udkhul Rogodan Chalata D           (19051204072)
3. M. Arif Rahman Hakim                  (19051204085)
4. Ingwer Ludwig B N                        (19051204104)
5. Haifa’ Syadza ‘Adilah                    (19051204106)



BAB I
PENDAHULUAN

      1.1  Latar Belakang

     Internet of Things adalah suatu konsep dimana objek tertentu punya kemampuan untuk mentransfer data lewat jaringan tanpa memerlukan adanya interaksi dari manusia ke manusia ataupun dari manusia ke perangkat komputer. Internet of Things lebih sering disebut dengan singkatannya yaitu IoT. IoT ini sudah berkembang pesat mulai dari konvergensi teknologi nirkabel, micro-electromechanical systems (MEMS), dan juga Internet. IoT ini juga kerap diidentifikasikan dengan RFID sebagai metode komunikasi. Walaupun begitu, IoT juga bisa mencakup teknologi-teknologi sensor lainnya, semacam teknologi nirkabel maupun kode QR yang sering kita temukan di sekitar kita.

Salah satu bentuk pengembangan dari teknologi IoT ini adalah monitoring cuaca. Alat ini berfungsi sebagai pemantau cuaca. Dalam kasus ini, alat ini tidak hanya menampilkan temperatur cuaca saja, namun juga tekanan udara, kelembaban udara, dan deteksi hujan. Kelebihan dari alat ini yaitu informasi bisa didapatkan dari jarak jauh melalui browser.


      1.2  Rumusan Masalah
          Dalam pembahasan di latar belakang, dapat ditarik pernyataan apa saja yang timbul dari projek kami, yaitu :
          a.  Apa yang dimaksud dengan Weather Monitoring ?
          b.  Apa saja alat dan bahan yang diperlukan dalam membuat Weather Monitoring ?
          c.  Bagaimana cara kerja dari Weather Monitoring ?
          d.  Bagaimana cara pembuatan Weather Monitoring ?

      1.3  Tujuan
       Adapun tujuan dardi pembuatan projek Weather Monitoring ini, yaitu :
         a.  Untuk menambah wawasan kita tentang penggunaaan IoT
         b.  Pemahaman praktek dari mata kuliah Sistem Digital dan Pengantar Teknologi Informasi



BAB II
PEMBAHASAN


2.1 Pengertian Weather Monitoring

 Weather Monitoring adalah perangkat yang kami buat untuk mengetahui informasi tentang temperatur udara, tekanan udara, kelembaban, dan deteksi hujan. Perangkat ini mengumpulkan informasi-informasi tersebut dari sensor yang bersangkutan. Kemudian sensor-sensor tersebut mengirim informasi ke NodeMCU dan diteruskan ke perangkat pengguna. Pengguna dapat melihat informasi melalui browser secara realtime.


2.2 Alat dan Bahan

        Alat :
No.
Alat
Spesifikasi
Jumlah barang
Harga
1.
Laptop
RAM 8GB
1
Rp 16.500.000
2.
Smartphone Android
RAM 3GB
1
Rp 1.600.000
3.
Aplikasi Arduino
Versi 1.8.3
1
Rp -
4.
Library ESP8266-12E
2.6.0
1
Rp -
5.
Library DHT11
-
1
Rp -
6.
Kabel Data
USB to Android
1
Rp -

       Bahan :

No.
Nama bahan
Harga satuan
Jumlah barang
Harga
1.
NodeMCU v.3
Rp40.000
1
Rp40.000
2.
Kabel Jumper male to female
Rp500
10
Rp5.000
3.
Kabel  Jumper male to male
Rp500
10
Rp5.000
4.
BreadBoard
Rp20.000
1
Rp20.000
5.
Rain Sensor
Rp15.000
1
Rp15.000
6.
Sensor BMP180
Rp12.000
1
Rp12.000
7.
Sensor DHT11
Rp12.000
1
Rp12.000
8.
Resistor
Rp.100
10
Rp1.000
TOTAL
Rp117.000


Untuk tempat pembelian bahan-bahan tersebut kami lakukan secara offline di toko Akhishop yang terletak di jalan Keputih Raya Timur no.6, Surabaya.


2.3 Analisis Bahan

1.      Modul ESP8266-12E
Modul ESP8266 ini merupakan modul chip WiFi dan AP sekaligus.Oleh karena itu, perangkat IoT kita bisa terhubung dengan WiFi dikarenakan menggunakan alat ini. Modul ini kami manfaatkan sebagai komunkasi melalui koneksi internet pada jaringan WiFi.

2.      Sensor BMP180
               BMP180 adalah sensor tekanan barometrik (digital barometric pressure sensor) dari Bosch Sensortec yang berkinerja sangat tinggi yang dapat diaplikasikan pada berbagai perangkat bergerak seperti smartphone, komputer tablet, dan peralatan olahraga portabel. Sensor ini bekerja dengan menghubungkan antara mikro dengna sensor adalah mealui jaluar SCL dan SDA pada kedua komponen.

3.      Sensor DHT11
Merupakan sensor yang bekerja dengan sistem saklar dan magnetic. Cara kerjanya dengan menempelkan alat pada pintu atau jendela. Alat ini memiliki dua sisi yaitu sisi saklar sendiri dan sisi pemicu yang berupa magnet. Saat sisi magnet berpisah karena pergeseran pintu atau jendela, maka sensor ini akan mengubah kondisi dan memicu sinyal ke sistem.

4.    Rain Sensor
            Sensor DHT11 adalah module sensor yang berfungsi untuk mensensing objek suhu dan kelembaban yang memiliki output tegangan analog yang dapat diolah lebih lanjut menggunakan mikrokontroler.

Module sensor ini tergolong kedalam elemen resistif seperti perangkat pengukur suhu seperti contohnya yaitu NTC. Kelebihan dari module sensor ini dibanding module sensor lainnya yaitu dari segi kualitas pembacaan data yang lebih responsif yang memliki kecepatan dalam hal sensing objek suhu dan kelembaban, dan data yang terbaca tidak mudah terinterverensi.


2.4 Cara Kerja

1.     NodeMCU akan mencoba untuk melakukan koneksi internet dari access point dengan modul WiFi ESP8266 milik NodeMCU.
2.     Setelah terhubung, setiap sensor akan bekerja dan mengirimkan informasi ke NodeMCU.
3.     Kemudian NodeMCU akan mengirimkan informasi dari setiap sensor ke internet, kemudian ditangkap oleh perangkat.
4.     Perangkat akan menampilkan informasi dari sensor tadi.

2.5 Metode Pembuatan
Dalam proyek pembuatan IoT ini kami melakukan beberapa tahap. Tidak hanya itu kami juga   melakukan pencarian beberapa referensi tentang cara pembuatan IoT. Adapun tahap – tahapannya yaitu:
  
1. Mengumpulkan Referensi
Pada tahap ini kami mengumpulkan informasi dan referensi tentang IoT. Adapun sumber yang kami dapatkan yaitu channel Youtube How To Electroincs dan beberapa blog terpercaya lain seperti https://arduino.cc sebagai pedoman teori.

2. Memprogram Mikrokontroller
Tahap memprogram mikrokontroller ini adalah tahap merealisasikan perintah kita ke dalam otak rangkaian. Pada tahap ini, kami memprogram mikrokontroller menggunkan software Arduino IDE dengan bahasa C++. Adapun syntax programnya yaitu :

Code Program Untuk NodeMCU ESP8266-12E
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <SFE_BMP180.h>
#include <Wire.h>

#include "index.h" //Our HTML webpage contents with javascripts
#include "DHTesp.h" //DHT11 Library for ESP

#define LED 2 //On board LED
#define DHTpin 14 //D5 of NodeMCU is GPIO14

SFE_BMP180 pressure;

#define ALTITUDE 1655.0 // Altitude in meters

DHTesp dht;

//SSID and Password of your WiFi router
const char* ssid = "ASUS-X00TD";
const char* password = "hngzhowxiantan";

ESP8266WebServer server(80); //Server on port 80

void handleRoot() {
String s = MAIN_page; //Read HTML contents
server.send(200, "text/html", s); //Send web page
}

float humidity, temperature;

void handleADC() {
char status;
double T,P,p0,a;
double Tdeg, Tfar, phg, pmb;

status = pressure.startTemperature();
if (status != 0)
{
// Wait for the measurement to complete:
delay(status);
status = pressure.getTemperature(T);
if (status != 0)
{
// Print out the measurement:
Serial.print("temperature: ");
Serial.print(T,2);
Tdeg = T;
Serial.print(" deg C, ");
Tfar = (9.0/5.0)*T+32.0;
Serial.print((9.0/5.0)*T+32.0,2);
Serial.println(" deg F");

status = pressure.startPressure(3);
if (status != 0)
{
// Wait for the measurement to complete:
delay(status);
status = pressure.getPressure(P,T);
if (status != 0)
{
// Print out the measurement:
Serial.print("absolute pressure: ");
Serial.print(P,2);
pmb = P;
Serial.print(" mb, ");
phg = P*0.0295333727;
Serial.print(P*0.0295333727,2);
Serial.println(" inHg");

p0 = pressure.sealevel(P,ALTITUDE); // we're at 1655 meters (Boulder, CO)
Serial.print("relative (sea-level) pressure: ");
Serial.print(p0,2);
Serial.print(" mb, ");
Serial.print(p0*0.0295333727,2);
Serial.println(" inHg");

a = pressure.altitude(P,p0);
Serial.print("computed altitude: ");
Serial.print(a,0);
Serial.print(" meters, ");
Serial.print(a*3.28084,0);
Serial.println(" feet");
}
else Serial.println("error retrieving pressure measurement\n");
}
else Serial.println("error starting pressure measurement\n");
}
else Serial.println("error retrieving temperature measurement\n");
}
else Serial.println("error starting temperature measurement\n");


int rain = analogRead(A0);

//Create JSON data
String data = "{\"Rain\":\""+String(rain)+"\",\"Pressuremb\":\""+String(pmb)+"\",\"Pressurehg\":\""+String(phg)+"\", \"Temperature\":\""+ String(temperature) +"\", \"Humidity\":\""+ String(humidity) +"\"}";

digitalWrite(LED,!digitalRead(LED)); //Toggle LED on data request ajax
server.send(200, "text/plane", data); //Send ADC value, temperature and humidity JSON to client ajax request

delay(dht.getMinimumSamplingPeriod());

humidity = dht.getHumidity();
temperature = dht.getTemperature();

Serial.print("H:");
Serial.println(humidity);
Serial.print("T:");
Serial.println(temperature); //dht.toFahrenheit(temperature));
Serial.print("R:");
Serial.println(rain);
}

void setup()
{
Serial.begin(115200);
Serial.println();

// dht11 Sensor

dht.setup(DHTpin, DHTesp::DHT11); //for DHT11 Connect DHT sensor to GPIO 17
pinMode(LED,OUTPUT);

//BMP180 Sensor
if (pressure.begin())
Serial.println("BMP180 init success");
else
{
Serial.println("BMP180 init fail\n\n");
while(1); // Pause forever.
}

WiFi.begin(ssid, password); //Connect to your WiFi router
Serial.println("");

// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}

//If connection successful show IP address in serial monitor
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); //IP address assigned to your ESP

server.on("/", handleRoot); //Which routine to handle at root location. This is display page
server.on("/readADC", handleADC); //This page is called by java Script AJAX

server.begin(); //Start server
Serial.println("HTTP server started");
}

void loop()
{
server.handleClient(); //Handle client requests
}


3. Pengerjaan Projek




Selanjutnya yaitu tahap perakitan, semua rangkaian disusun sesuai dengan diagram diatas tadi. Setiap komponen seperti sensor DHT11, sensor BMP180, dan Rain sensor dihubungkan ke NodeMCU ESP8266-12E sesuai dengan port-port yang sudah ditentukan. Setelah semua dihubungkan, langkah selanjutnya yaitu mengunggah coding dari program yang telah ditentukan sebelumnya. Namun sebelum itu, pastikan library dari perangkat ESP8266 dan library sesnsor DHT11 sudah terpasang pada software arduino. Di bagian coding, user perlu memodifikasi bagian ssid dan password supaya NodeMCU supaya bisa terhubung dengan hotspot / access point yang telah disediakan. Selanjutnya, tekan tombol upload hingga proses upload selesai. Jika di bagian system monitor sudah muncul IP, maka NodeMCU sudah terhubung dengan internet.



BAB III
PENUTUP

3.1 Kesimpulan
IoT ini merupakan suatu alat yang terdiri dari modul WiFi atau Modul SIM Card yang berfungsi untuk menghubungkan atau bisa juga diartikan sebagai suatu konsep dimana objek tertentu punya kemampuan untuk mentransfer data lewat jaringan tanpa memerlukan adanya interaksi dari manusia ke manusia ataupun dari manusia ke perangkat komputer.

IoT yang kami buat adalah IoT Weather Monitoring dengan 4 fungsi, yaitu monitoring temperatur udara, tekanan udara, kelembaban, dan hujan. Cara kerja dari alat ini sangat mudah, kita tinggal menghubungkan NodeMCU ke internet, kemudian informasi cuaca yang dari NodeMCU bisa dibuka melalui browser.



LAMPIRAN

Gambar 1 : IoT Weather Monitoring

Gambar 2 : Informasi dari Weather Monitoring

Gambar 3 : NodeMCU v3 (Mikrokontroller yang telah terpasang modul wifi)


Gambar 4 : Kabel Jumper Male to Female


Gambar 5 : Kabel Jumper Male to Male


Gambar 6 : BreadBoard


Gambar 7 : Rain Sensor (Sensor hujan)


Gambar 8 : Sensor BMP180 (Sensor tekanan udara)


Gambar 9 : Sensor DHT11 (Sensor suhu dan kelembaban)


Gambar 10 : Resistor

Gambar 11 : Foto Kelompok


Tidak ada komentar:

Posting Komentar