Pendahuluan

Pada tutorial ini, kita akan membahas cara mengirimkan data dari sensor suhu dan kelembapan DHT11 menggunakan ESP32 ke platform Thingspeak. Thingspeak adalah platform IoT yang memungkinkan kita menyimpan dan menganalisis data sensor secara real-time. Proyek ini cocok bagi pemula yang ingin memulai eksplorasi di dunia IoT dengan sistem otomatisasi.

Komponen Yang Digunakan

Berikut adalah daftar komponen yang digunakan dalam proyek ini beserta link pembelian di Golite Store:

  1. ESP32 – Beli Disini
  2. Sensor DHT11 – Beli Disini
  3. Kabel Jumper – Beli Disini
  4. Breadboard – Beli Disini (Opsional)

 

Konfigurasi Thingspeak

Memulai dengan ThingSpeak

  1. Buka ThingSpeak dan klik tombol “Get Started For Free” untuk membuat akun baru. Akun ini terhubung dengan akun Mathworks. Jika Anda sudah memiliki akun Mathworks, masuklah dengan akun tersebut.

Membuat Kanal Baru

  1. Setelah akun Anda siap, masuk dan buka tab “Channels” lalu pilih “My Channels”.
  2. Klik tombol “New Channel” untuk membuat kanal baru.
  3. Ketik nama untuk kanal Anda dan tambahkan deskripsi. Aktifkan lebih banyak bidang jika Anda ingin mengirimkan beberapa data seperti suhu dan kelembapan.
  4. Klik tombol “Save Channel” untuk membuat dan menyimpan kanal Anda.

Menyesuaikan Grafik

  1. Pergi ke tab “Private View” dan klik ikon edit pada grafik.
  2. Berikan judul untuk grafik Anda, sesuaikan warna latar belakang, sumbu x dan y, serta lainnya.
  3. Setelah selesai, tekan tombol “Save”.

 

API Key

  1. Untuk mengirim data dari ESP32 ke ThingSpeak, Anda memerlukan Write API Key. Buka tab “API Keys” dan salin Write API Key ke tempat yang aman karena Anda akan membutuhkannya nanti.

 

Skema Sistem

 

Konfigurasi Pinout

  • DHT11-> ESP32
    • VCC -> 3.3V
    • GND -> GND
    • Data -> GPIO 5

Penjelasan

Sensor DHT11 membaca data suhu dan kelembapan dari lingkungan sekitar. ESP32 memproses data tersebut dan mengirimkannya ke Thingspeak menggunakan protokol HTTP. Setiap 30 detik, data terbaru akan dikirimkan ke kanal Thingspeak untuk dianalisis dan divisualisasikan.

 

Program ESP32

#include <WiFi.h>
#include "ThingSpeak.h"
#include "DHT.h"

#define DHTPIN 5
#define DHTTYPE DHT11

const char* ssid = "xxxxx";            // Ganti dengan Nama WiFi
const char* password = "xxxxx";  // Ganti dengan Password WiFi

WiFiClient client;
unsigned long myChannelNumber = 1;               // ThingSpeak Channel Number
const char* myWriteAPIKey = "xxxxx";  // ganti dengan ThingSpeak Write API Key

DHT dht(DHTPIN, DHTTYPE);

// Batas Waktu Pengiriman Data Ke Thingspeak
unsigned long lastTime = 0;
unsigned long timerDelay = 30000;  // dalam milidetik

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

  dht.begin();

  WiFi.begin(ssid, password);
  Serial.print("Connecting to Wi-Fi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }
  Serial.println("\nWi-Fi connected!");

  ThingSpeak.begin(client);
}

void loop() {
  float temperature = dht.readTemperature();
  float humidity = dht.readHumidity();

  if (isnan(temperature) || isnan(humidity)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.print(" °C, Humidity: ");
  Serial.print(humidity);
  Serial.println(" %");

  if ((millis() - lastTime) > timerDelay) {
    // Send data to ThingSpeak
    ThingSpeak.setField(1, temperature);
    ThingSpeak.setField(2, humidity);

    int response = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);

    if (response == 200) {
      Serial.println("Channel update successful.");
    } else {
      Serial.println("Problem updating channel. HTTP error code: " + String(response));
    }

    // Update the timer
    lastTime = millis();
  }

  delay(100);
}

Penjelasan Program

  1. Memasukan Library
    • Menggunakan library WiFi.h untuk koneksi WiFi, ThingSpeak.h untuk mengirim data ke Thingspeak, dan DHT.h untuk membaca data dari sensor DHT11.
  2. Variable Global
    • ssid dan password: Informasi koneksi WiFi.
    • myChannelNumber dan myWriteAPIKey: Informasi autentikasi Thingspeak.
  3. Setup Function
    • Menghubungkan ESP32 ke WiFi.
    • Menginisialisasi sensor DHT11.
  4. Loop Function
    • Membaca suhu dan kelembapan dari sensor DHT11.
    • Mengirim data ke Thingspeak setiap 30 detik.

Pengujian

Penjelasan

Pengujian dilakukan dengan memantau output serial dari ESP32 untuk memastikan data suhu dan kelembapan berhasil dikirim ke Thingspeak. Data yang diterima akan divisualisasikan dalam bentuk grafik di dashboard Thingspeak.

 

Kesimpulan

Proyek ini menunjukkan cara sederhana untuk mengirimkan data suhu dan kelembapan ke Thingspeak menggunakan ESP32. Dengan konfigurasi sederhana ini, sistem dapat dikembangkan lebih lanjut, seperti menambahkan sensor lain atau fitur notifikasi untuk pemantauan yang lebih baik. Jangan lupa untuk menjaga keamanan data dengan mengamankan API key Anda.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *






Hubungi Kami

Hubungi Kami

Kami menyediakan jasa proyek Arduino, Electrical, dan IoT (Internet of Things):
- Penyediaan komponen.
- Perancangan hardware dan software.
- Pemrograman.
- Hingga deploy server.


Cocok untuk hobi, edukasi (skripsi atau tugas akhir), dan industri.
Serahkan kepada kami, Anda tinggal terima hasil jadi!



Hubungi via WhatsApp



Ikuti Kami di TikTok (Inspirasi Project IoT)



Kunjungi YouTube Kami (Tutorial Project IoT)



Temukan Kami di Facebook



Beli Komponen Di GoLite Store