Mencatat Data ke Thingspeak

Dalam panduan ini, kalian akan mempelajari cara mengirim pembacaan sensor dengan board NodeMCU ESP8266 ke ThingSpeak. Kami akan menggunakan sensor DHT11, namun kalian dapat dengan mudah memodifikasinya menggunakan sensor lainnya. ThingSpeak memungkinkan kalian mempublikasikan pembacaan sensor kalian ke situs web mereka dan memplotnya dalam grafik dengan timestamps. Kemudian, kalian dapat mengakses pembacaan sensor kalian dari mana saja. Ada banyak cara untuk mengirim pembacaan sensor ke ThingSpeak. Dalam tutorial ini, kita akan menggunakan salah satu cara termudah dengan menggunakan library thingspeak-arduino. Library ini menyediakan metode untuk mempublikasikan pembacaan sensor dengan mudah. Sekarang mari sambungkan sensor ini ke ESP8266 kalian: Pertama, letakkan sensor pada bread board. Kemudian, sambungkan pin VCC dari sensor DHT11 ke pin 3V3 ESP8266, pin DATA dari sensor DHT11 ke pin 5 ESP8266, dan pin GND dari sensor ESP8266 ke pin GND ESP8266 menggunakan kabel jumper. Seperti pada gambar dibawah: Untuk membaca data dari sensor DHT, kita akan menggunakan library DHT dari Adafruit. Untuk menggunakan library ini kita juga perlu menginstall library Adafruit Unified Sensor. Ikuti langkah dibawah untuk menginstall library:  
  • Buka Arduino IDE kalian dan buka Sketch > Include Library > Manage Libraries. Library Manager akan terbuka.
  • Cari “DHT” di kotak Pencarian dan install library DHT dari Adafruit.
  • Setelah menginstall library DHT dari Adafruit, ketik “Adafruit Unified Sensor” di kotak pencarian. Pilih dan install.
  • Lalu Install library ThingSpeak by MathWorks
  • Setelah menginstall libraries, restart Arduino IDE kalian.
Membuat Akun ThingSpeak Buka ThingSpeak https://thingspeak.com/ dan klik tombol “Get Started For Free” untuk membuat akun baru. Akun ini ditautkan ke akun Mathworks. Jadi, jika kalian sudah memiliki akun Mathworks, sebaiknya login dengan akun tersebut. Kalian cukup copy baris kode diatas dan paste ke dalam Arduino IDE. Membuat Channel Setelah akun kalian siap, masuk, buka tab “Channels” dan pilih “My Channels”. Tekan tombol “New Channel” untuk membuat channel baru. Ketikkan nama untuk channel kalian dan tambahkan deskripsi. Dalam contoh ini, kami hanya akan mempublikasikan suhu. Jika kalian ingin mempublikasikan beberapa pembacaan (seperti kelembapan dan lainnya), kalian dapat mengaktifkan lebih banyak fields. Klik tombol “Save Channel” untuk membuat dan menyimpan channel kalian. Kalian juga dapat memberi judul pada chart kalian, menyesuaikan warna latar belakang, sumbu x dan y, dan banyak lagi. Jika sudah selesai klik tombol “Save”. API Key Untuk mengirim nilai dari ESP8266 ke ThingSpeak, kalian memerlukan Write API Key. Buka tab “API Key” dan salin Write API Key ke komputer kalian, kita akan membutuhkannya nanti.   Kemudian cukup copy baris kode dibawah dan paste ke dalam Arduino IDE.
				
					// Import libraries yang dibutuhkan
#include <ESP8266WiFi.h>
#include "ThingSpeak.h"
#include "DHT.h"
#include <Adafruit_Sensor.h>

// Tentukan digital pin yang terkoneksi ke DATA sensor DHT11
#define DHTPIN D1
// Tentukan sensor yang kita gunakan
#define DHTTYPE DHT11
// Inisialisai sensor DHT.
DHT dht(DHTPIN, DHTTYPE);

// Parameters WiFi
const char* ssid = "Nama WiFi";
const char* password = "Password WiFi";

WiFiClient  client;
// Kalian perlu memasukkan nomor channel kalian.
// Jika kalian hanya memiliki satu saluran yang dibuat di ThingSpeak,
// nomor channelnya adalah 1. Jika tidak, kalian dapat melihat nomor channel di tab Private View.
unsigned long nomorChannel = 1;
const char * WriteAPIKey = "XXXXXXXXXXXXXXXX";

// Variable waktu
unsigned long lastTime = 0;
unsigned long timerDelay = 30000;

void setup() {
  // Inisialisai Serial Monitoring
  Serial.begin(115200);

  // Menghubungkan sensor DHT
  dht.begin();
  WiFi.mode(WIFI_STA);

  // Inisialisasi ThingSpeak
  ThingSpeak.begin(client);
}

void loop() {
  if ((millis() - lastTime) > timerDelay) {
    
    // Menghubungkan ke jaringan WiFi
    if(WiFi.status() != WL_CONNECTED){
      Serial.print("Mencoba koneksi ke WiFi");
      while(WiFi.status() != WL_CONNECTED){
        WiFi.begin(ssid, password); 
        delay(5000);     
      } 
      Serial.println("\nWiFi Terhubung...");
    }

    // Membaca suhu dari sensor DHT
    float suhu = dht.readTemperature();
    Serial.print("Suhu(ºC): ");
    Serial.println(suhu);
    
    // Mengirim data ke ThingSpeak. Kita akan mengirim ke field 1.
    int x = ThingSpeak.writeField(nomorChannel, 1, suhu, WriteAPIKey);

    if(x == 200){
      Serial.println("Update Channel Berhasil...");
    }
    else{
      Serial.println("Update Channel Gagal. HTTP error code " + String(x));
    }
    lastTime = millis();
  }
}

				
			

Upload Sketch

Pilih Tools > Board > ESP8266 Boards > Lalu pilih jenis board yang kalian gunakan. (Dalam contoh ini saya menggunakan board ESP8266 NodeMCU.

Kalian harus memilih model board ESP8266 dan COM port. Dalam contoh ini, kami menggunakan papan NodeMCU 1.0. Klik OK setelah selesai.

Sekarang, kalian hanya perlu mengklik tombol Upload.

Setelah beberapa detik, upload akan selesai.

 

Serial Monitor

Kalian dapat mengklik ikon Serial Monitor untuk membuka tab Serial Monitor. Akan tampil pembacaan suhu dan status pengiriman data ke ThingSpeak.

 

Selamat… Kalian telah berhasil mengirimkan data suhu dari sensor DHT ke cloud platform ThingSpeak.

Like this article?

Share on Facebook
Share on Twitter
Share on Linkdin
Share on Pinterest
Share on WhatsApp
Share on Telegram

Related Posts

Leave a comment

Scroll to Top
×

 

Hello!

Click one of our contacts below to chat on WhatsApp

× Let's Chat