Tutorial Akses Pengiriman Multidata Sensor DHT11 ke Web Server ThingSpeak dengan NodeMCU




Halo sobat tekno, di tutorial ini kita akan membahas salah satu cara membuat IoT sederhana. Kali ini kita akan mengakses sensor DHT11 dengan NodeMCU, dan mengirimkan datanya ke ThingSpeak. Data yang dikirimkan dapat kita pantau ataupun baca kembali. Namun pada tutorial kali ini, kita akan fokus ke pengiriman data terlebih dahulu.

Sebelum memulai, kita perlu menyiapkan terlebih dahulum Komponen, Arduino IDE dan beberapa library untuk mengakses beberapa hal di program arduino nanti. Install Arduino dan beberapa library berikut:
Software Arduino IDE:
Library ThingSpeak:
Library DHT:
Komponen yang diperlukan
1. NodeMCU
2. Sensor DHT11
3. Breadboard
4. Kabel Jumper
5. Resistor (optional)
6. Kabel Micro USB (Kabel data hp) untuk downloader

Setelah semua bahan terkumpul, maka rangkai NodeMCU dan sensor DHT11 seperti gambar dibawah:




Membuat Channel di ThingSpeak

Masuk ke ThingSpeak.com. Jika belum memiliki akun, silahkan buat akun anda. Saya sarankan menggunakan akun gmail anda.

Setalah masuk, silahkan buat channel dengan cara mengklik New Channel. Beri nama channel anda sesuai dengan yang anda inginkan.

Pada bagian Channel settings, klik pada field 2 untuk menambahkan field 2. Beri nama field anda juga sesuai representasi data anda.

Jika sudah, masuk ke bagian API keys. Perhatikan tampilan gambar di bawah. Karena pada tutorial ini kita hanya berfokus pada pengiriman data, maka kita hanya menggunakan Channel ID dan Write API key. Simpan kode Write API Key dan Channel ID, untuk kita masukan pada program di NodeMCU nanti.


Membuat Program di Arduino

Buka Aplikasi Arduino IDE.

Masuk menu File, pilih submenu Preference. Perhatikan gambar berikut.

Dalam menu: “Additional Boards Manager URLs:” ketikkan:

http://arduino.esp8266.com/stable/package_esp8266com_index.json, 

kemudian klik OK

Klik menu Tools -> board -> Board Manager --> dan install paket esp8266 by ESP8266 Community

Setelah sukses proses instalasi library, sekarang masuk ke menu Tools lagi, kemudian pilih Board, pilih NodeMCU 1.0 (ESP-12E Module).

Install library ESP8266WiFi.h, WiFiClient.h, ThingSpeak.h, dan DHT.h

Setelah semua library terinstal, sekarang coba ketikkan cuplikan program berikut ini di Arduino IDE


/*www.Teknodika.com
Tutorial Akses Pengiriman Multidata Sensor DHT11 ke Web Server ThingSpeak dengan NodeMCU
*/

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ThingSpeak.h>
#include "DHT.h"
 
#define DHTTYPE DHT11

const char *ssid =  "Teknodika.com"; // Ganti dengan nama wifi anda
const char *pass =  "12346578";   // Ganti dengan password wifi anda
const char *host = "184.106.153.149"; // host Thingspeak, bisa gunakan juga api.thingspeak.com
int channelTS = 1043443; //Ganti dengan Channel ID anda
int i;

WiFiClient client;
const char *writeAPI = "20MUGOMICNSGY9QU"; //Ganti dengan Write API Key ThingSpeak Channel Anda 

const int DHTPin = 5;
DHT dht(DHTPin, DHTTYPE);
static char temperatureTemp[7];
static char humidityTemp[7];

void setup() { 
   Serial.begin(9600);
   dht.begin();
    delay(100);   
    Serial.print("Connecting to ");
    Serial.println(ssid);
    WiFi.begin(ssid, pass);
 
    while (WiFi.status() != WL_CONNECTED) 
    {
       delay(500);
       Serial.print(".");
    }
    Serial.println("");
    Serial.println("WiFi connected");
    ThingSpeak.begin(client);
}

void bacaSensor(){
  float h = dht.readHumidity(); //untuk kelembaban
  float t = dht.readTemperature(); //untuk suhu dalam bentuk celcius
  
  //mengecek pembacaan sensor dht11
  if (isnan(h) || isnan(t)) {
    Serial.println("Gagal pembacaan data DHT11!");
    strcpy(temperatureTemp,"GAGAL");
    strcpy(humidityTemp, "GAGAL");
    return;    
  }
 
  else {
    float hic = dht.computeHeatIndex(t, h, false);    
    dtostrf(hic, 6, 2, temperatureTemp);
    dtostrf(h, 6, 2, humidityTemp);
    Serial.print("Kelembaban: ");
    Serial.print(h);
    Serial.println(" %");
    Serial.print("Suhu      : ");
    Serial.print(t);
    Serial.println(" *C ");
  }
}

void loop() {
 bacaSensor();
 delay(100);
 ThingSpeak.writeField(channelTS,1,temperatureTemp,writeAPI);  // field 1 (Suhu)
 ThingSpeak.writeField(channelTS,2,humidityTemp,writeAPI);    // field 2 (Kelembapan)
 delay(3000);
} 

Simpan dan jalankan dengan mengupload di NodeMCU.

Jika sukses terupload lalu, buka jendela Serial Monitor, atur baud rate menjadi 9600. Serial monitor akan menampilkan pembacaan sensor DHT11.


Untuk mengetahui apakah data sudah terkirim ke ThingSpeak, buka ThingSpeak dan login dengan akun yang anda gunakan. 

Pilih Channel yang telah anda buat tadi, lalu masuk ke Private View channel anda. Jika sukses, data anda akan ditampilkan dalam bentuk grafik di field masing-masing. Grafik akan berubah seiring dengan penambahan data dari sensor.

Untuk pengiriman multidata, sintaks yang digunakan sama seperti 1 data. Kita hanya perlu membuat sintaks yang sama, dengan nomor field yang berbeda. Struktur sintaks untuk pengiriman data ke ThingSpeak adalah sebagai berikut:


ThingSpeak.writeField(channelTS,noField,Data,writeAPI);

channelTS : Nomor Channel ID ThingSpeak anda
noField      : Nomor field tempat data anda ditampilkan
Data           : Data yang akan dikirimkan
writeAPI    : Write API Key ThingSpeak

Jangan lupa share dan cantumkan sumber sobat tekno! Terimakasih


Daftar Pustaka
Ardis Bany Sutrisno. 2017. Monitoring Parameter Pembangkit Listrik Tenaga Surya Dengan Pendekatan Konsep Internet of Things. Proyek Akhir Prodi Teknik Elektro, JPTE FT UNY.

Cuno Pfister. 2011. Getting Started with the Internet of Things. O’Reilly.

Huansheng Ning. 2013. Unit and Ubiquitous Internet of Things. CRC Press Taylor & Francis Group.

M. Athar & R. Asnawi. 2017. Monitoring Kecepatan dan Arah Angin Pada Pembangkit Listrik Tenaga Bayu dengan Konsep Internet of Things. Seminar Nasional Pendidikan Teknik Elektro X.

Salsabillan Ulfa Tian & R. Asnawi. 2017. Prototipe Sistem Monitoring Parameter Pembangkit Listrik Tenaga Surya Berbasis Internet of Things. Proyek Akhir Program Studi Teknik Elektro, Jurusan Pendidikan Teknik Elektro, FT UNY

Shivangi Vashi et.al.2017. Internet of Things: A Vision, Architectural Elements and Security Issues. International Conference on I-SMAC, 2017.

Saputro, T.T. (2018). Berikut Daftar Platform Yang Berguna Untuk Membangun Project IoT (Bagian 1). https://embeddednesia.com/v1/berikut-daftar-platform-yang-berguna-untuk-membangun-project-iot-bagian-1/ . Diakses pada 23 Maret 2020 Pukul 21.36 WIB.

Somayya M.,et al. 2015. Internet of Things (IoT): A Literature Review. Journal of Computer and Communications, 3,164-173

Tutorialspoint. 2016. Internet of Things, Simple Easy Learning. Tutorials Point (I) Pvt.Ltd.

Zeinab Kamal, et.al. 2017. Internet of Thing Challenges and Related Future Technologies. World Scientific News.



Berlangganan update artikel terbaru via email:

1 Response to "Tutorial Akses Pengiriman Multidata Sensor DHT11 ke Web Server ThingSpeak dengan NodeMCU"

  1. Tutorialnya bermanfaat buat anak mahasiswa jurusan teknik informasi seperti saya, yang penulis kosngosan juga. terimakasih bang.

    ReplyDelete

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel