-->

Menyimpan dan Menampilkan Data Dari Sensor IoT di Web Menggunakan ThingSpeak

Halo guys, kali ini kami akan membahas rancangan perangkat menggunakaan NodeMCU dan sensor DHT11. Rancangan perangkat/device yang akan dibuat di percobaan ini kami menggunakan NodeMCU sebanyak 1 buah sebagai kontroler, DHT11 sebanyak 2 buah (indoor dan outdoor) sebagai sensor suhu yang akan digunakan, Thingspeak untuk mengolah data, dimana data dikirim dulu ke server Thingspeak. Untuk pembuatan rangkaian kami menggunakan breadboard sebagai tempat untuk merangkai dan kabel jumper sebagai penghubung tambahan. Untuk coding kami sendiri menggunakan aplikasi bernama Arduino IDE untuk memprogram controller. Percobaan ini dibuat untuk memonitoring suhu yang ada di luar dan dalam ruangan untuk mengetahui perbandingan suhu yang ada.

Sistem IoT


Internet of things adalah suatu konsep atau program dimana sebuah objek memiliki kemampuan untuk mentransmisikan atau mengirimkan data melalui jaringan tanpa menggunakan bantuan perangkat komputer dan manusia. Internet of things atau sering disebut dengan IoT saat ini mengalami banyak perkembangan. Perkembangan IoT dapat dilihat mulai dari tingkat konvergensi teknologi nirkabel, microelectromechanical (MEMS), internet, dan QR (Quick Responses) Code. IoT juga sering diidentifikasi dengan RFID (Radio Frequency Identification) sebagai metode komunikasi. Ada 4 Komponen uaam dalam system IoT yaitu Sensor/perangkat, konektivitas, pengolahan data, dan antarmuka pengguna. 

    Sistem Sensor Temperatur (DHT11) 

 

     DHT11 adalah sensor suhu dan kelembaban udara, memiliki keluaran sinyal digital yang dikalibrasi dengan sensor suhu dan kelembaban yang kompleks. Teknologi memastikan keandalan yang tinggi dan stabilitas jangka panjang yang sangat baik. Mikrokontroler terhubung ke kinerja tinggi 8 bit. Sensor ini mencakup elemen resistif dan alat pengukur suhu NTC. DHT11 memiliki kualitas yang sangat baik, respon cepat, kemampuan anti-interferensi dan keunggulan kinerja biaya tinggi. Setiap sensor DHT11 memiliki fitur kalibrasi sangat akurat dari kelembaban ruang kalibrasi. Koefisien kalibrasi yang disimpan dalam memori program OTP, sensor internal mendeteksi sinyal dalam proses, kita harus menyebutnya koefisien kalibrasi. Sistem antarmuka tunggal-kabel serial terintegrasi untuk menjadi cepat dan mudah. Kecil ukuran, daya rendah, sinyal transmisi jarak hingga 20 meter, sehingga berbagai aplikasi dan bahkan aplikasi yang paling menuntut. Produk ini 4-pin pin baris paket tunggal. Koneksi nyaman, paket khusus dapat diberikan sesuai dengan kebutuhan pengguna.
 
Dengan Spesifikasi  
1.    Tegangan masukan : 5 Vdc 
2.    Rentang temperatur : 0-50°C kesalahan ± 2 ° C 
3.    Kelembaban 20-90% RH ± 5% RH error 
4.    Konsumsi arus : Measurement 0.3 mA, standby 60µA 
5.    Periode Sampling : lebih dari 2 detik
 

ThingSpeak 

ThingSpeak adalah platform yang menyediakan berbagai layanan yang secara eksklusif ditargetkan untuk membangun aplikasi IoT. Ini menawarkan kemampuan pengumpulan data waktu nyata, memvisualisasikan data yang dikumpulkan dalam bentuk grafik, kemampuan untuk membuat plug-in dan aplikasi untuk berkolaborasi dengan layanan web, jejaring sosial, dan API lainnya. 
 

 NodeMCU ESP8266

 

    NodeMCU adalah sebuah platform IoT opensource dengan biaya yang lebih rendah. Microcontroller ini juga sudah dilengkapi dengan module WIFI ESP8266. Istilah NodeMCU secara default sebenarnya mengacu pada firmware yang digunakan dari pada perangkat keras development kit NodeMCU bisa dianalogikan sebagai board arduino- nya.

 Blok Diagram


  Cara Kerja

NodeMCU mendapat arus, kemudian memberikan perintah kepada Sensor DHT 11 baik di Indoor maupun Outdoor, kemudian sensor mendeteksi suhu dan kelembaban di sekitar sensor, dan mengirimkan data ke NodeMCU yang kemudian diolah untuk dikirmkan ke Web Thingspeak.

Wiring diagram

 

 CODING

#include <DHT.h>  // Untuk memuat library dht yang sudah di download

#include <ESP8266WiFi.h>

String apiKey = "6CQ40O8UJB9ECAXF";     //  Memasukkan API key dari profil ThingSpeak

 

const char *ssid =  "DIMAS";     // Memasukkan nama router WiFi yang akan digunakan

const char *pass =  "dimas321"; // Memasukkan password router WiFi yang akan digunakan

const char* server = "api.thingspeak.com";

 

#define DHTPIN D3          //PIN DHT yang akan digunakan (indoor)

#define DHTPIN D1          //PIN DHT yang akan digunakan (outdoor)

 

DHT dht(DHTPIN, DHT11);

 

WiFiClient client;

 

void setup()

{

       Serial.begin(115200);

       delay(10);

       dht.begin();

 

       Serial.println("Connecting to ");

       Serial.println(ssid);

       WiFi.begin(ssid, pass);

      while (WiFi.status() != WL_CONNECTED)

     {

            delay(500);

            Serial.print(".");

     }

      Serial.println("");

      Serial.println("WiFi connected");

 

}

 

void loop()

{

 

      float h = dht.readHumidity();

      float t = dht.readTemperature();

     

              if (isnan(h) || isnan(t))

                 {

                     Serial.println("Failed to read from DHT sensor!");

                      return;

                 }

 

                         if (client.connect(server,80))   //   "184.106.153.149" or api.thingspeak.com

                      { 

                           

                             String postStr = apiKey;

                             postStr +="&field1="; //Temperature indoor 1

                             postStr += String(t);

                             postStr +="&field2=";//Kelembaban indoor 1

                             postStr += String(h);

                             postStr +="&field3=";//Temperature outdoor 2

                             postStr += String(t);

                             postStr +="&field4=";//Kelembaban outdoor 2

                             postStr += String(h);

                             postStr += "\r\n\r\n";

 

                             client.print("POST /update HTTP/1.1\n");

                             client.print("Host: api.thingspeak.com\n");

                             client.print("Connection: close\n");

                             client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");

                             client.print("Content-Type: application/x-www-form-urlencoded\n");

                             client.print("Content-Length: ");

                             client.print(postStr.length());

                             client.print("\n\n");

                             client.print(postStr);

 

                             Serial.print("Temperature: ");

                             Serial.print(t);

                             Serial.print(" degrees Celcius, Humidity: ");

                             Serial.print(h);

                             Serial.println("%. Send to Thingspeak.");

                        }

          client.stop();

 

          Serial.println("Waiting...");

 

  // thingspeak needs minimum 15 sec delay between updates

  delay(1000);

}

 

 OUTPUT

Output dari percobaan ini adalah nilai temperatur suhu dan kelembaban yang diukur oleh sensor DHT 11 baik di Indoor maupun Outdoor. Juga pada web Thingspeak tercatat nilai suhu dan kelembaban dari awal sensor itu mendeteksi hingga saat ini, sehingga bisa diketahui perubahan suhu dan kelembaban pada sekitar sensor di Indoor dan Outdoor. Untuk lebih jelasnya, berikut tampilan perubahan suhu dan kelembaban menggunakan web Thingspeak :

 Sekian pembahasan kali ini terkait percobaan menggunakan Nodemcu dan DHT 11 untuk membaca nilai suhu dan kelembaban. Mungkin dari kalian yang ingin belajar elektronika, bisa langsung klik Belajar Elektronika

 

 

 

 

Subscribe to receive free email updates:

0 Response to "Menyimpan dan Menampilkan Data Dari Sensor IoT di Web Menggunakan ThingSpeak"

Post a Comment