Materi IoT dengan ESP8266: Servo, DHT11, Relay, dan Hosting Database

 

Internet of Things (IoT) memungkinkan perangkat elektronik untuk saling terhubung dan berkomunikasi melalui jaringan internet. Dalam tutorial ini, kita akan mengintegrasikan beberapa komponen dasar IoT menggunakan ESP8266, antara lain servo motor, sensor DHT11, dan relay. Selain itu, kita juga akan belajar bagaimana cara mengirimkan data ke database yang dihosting di server PHP.

Berikut adalah materi dan langkah-langkah yang diperlukan untuk membuat proyek IoT ini.

Komponen yang Diperlukan:

  1. ESP8266 (Misalnya NodeMCU atau Wemos D1 mini)
  2. Servo motor (Untuk mengontrol posisi)
  3. Sensor DHT11 (Untuk membaca suhu dan kelembaban)
  4. Relay Module (Untuk mengontrol perangkat seperti lampu atau kipas)
  5. Koneksi Wi-Fi (Untuk menghubungkan ESP8266 ke internet)
  6. Database Hosting (Menggunakan MySQL yang dihosting di server PHP)

Langkah 1: Menyiapkan Hardware

  • ESP8266: Hubungkan ESP8266 ke komputer menggunakan kabel USB.
  • Servo Motor: Sambungkan kabel kontrol servo ke pin GPIO D2 pada ESP8266.
  • Sensor DHT11: Sambungkan pin VCC ke 3.3V, GND ke ground, dan Data ke pin GPIO D3 pada ESP8266.
  • Relay Module: Sambungkan pin IN pada relay ke GPIO D1 dan sambungkan perangkat yang ingin Anda kendalikan ke relay (misalnya, lampu).

Langkah 2: Membuat Server PHP dan Database

  1. Membuat Database MySQL:

    • Di server hosting Anda, buat database baru (misalnya iot_devices).
    • Buat tabel untuk menyimpan status perangkat:
    sql
    CREATE TABLE devices ( id INT AUTO_INCREMENT PRIMARY KEY, device_id INT, status INT, temperature FLOAT, humidity FLOAT, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
  2. Membuat Skrip PHP:

    • Buat file PHP (update_device_status.php) untuk menerima dan menyimpan data perangkat ke database.
    php
  3. Meng-hosting PHP dan MySQL:

    • Upload file PHP dan pastikan server Anda mendukung PHP dan MySQL.
    • Pastikan URL server PHP dapat diakses oleh ESP8266.

Langkah 3: Menulis Kode untuk ESP8266

Berikut adalah kode Arduino untuk ESP8266 yang mengontrol servo motor, membaca data dari DHT11, dan mengirim status perangkat ke database MySQL melalui server PHP.

cpp
#include #include // Untuk HTTPS #include #include // Untuk parsing JSON #include // Untuk kontrol servo #include // Untuk membaca DHT11 // WiFi credentials const char* ssid = "BINTANG TERANG"; // Ganti dengan nama WiFi Anda const char* password = "1sampai8"; // Ganti dengan password WiFi Anda // URL server PHP const char* serverUrl = "http://bintangterang.or.id/url/6/device/update_device_status.php"; // URL server int device_id = 4; // ID perangkat dalam database // Pin untuk Relay, Servo, dan DHT11 const int RELAY_PIN = D1; // Relay connected to GPIO D1 const int SERVO_PIN = D2; // Servo connected to GPIO D2 #define DHTPIN D3 // Pin untuk DHT11 #define DHTTYPE DHT11 // Tipe sensor DHT11 DHT dht(DHTPIN, DHTTYPE); // Inisialisasi sensor DHT11 Servo myServo; // Inisialisasi objek servo void setup() { Serial.begin(115200); // Connect to WiFi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to WiFi"); // Initialize relay pin pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // Turn off relay initially // Initialize servo myServo.attach(SERVO_PIN); myServo.write(90); // Set initial servo position // Initialize DHT sensor dht.begin(); } void loop() { // Read temperature and humidity from DHT11 float temperature = dht.readTemperature(); float humidity = dht.readHumidity(); if (isnan(temperature) || isnan(humidity)) { Serial.println("Failed to read from DHT sensor!"); return; } // Send device status to the server sendDeviceStatus(1, temperature, humidity); // 1 is status (active) // Control relay and servo based on conditions (you can modify logic here) if (temperature > 30) { // Example condition for activating relay digitalWrite(RELAY_PIN, HIGH); // Turn on relay myServo.write(0); // Move servo to position 0 } else { digitalWrite(RELAY_PIN, LOW); // Turn off relay myServo.write(90); // Set servo to 90 degrees } delay(10000); // Wait for 10 seconds before sending the next status } void sendDeviceStatus(int status, float temperature, float humidity) { if (WiFi.status() == WL_CONNECTED) { HTTPClient http; WiFiClient client; // Prepare POST data String postData = "id_device=" + String(device_id) + "&status=" + String(status) + "&temperature=" + String(temperature) + "&humidity=" + String(humidity); // Send POST request to server http.begin(client, serverUrl); http.addHeader("Content-Type", "application/x-www-form-urlencoded"); int httpCode = http.POST(postData); if (httpCode > 0) { Serial.println("Device status sent successfully!"); } else { Serial.println("Failed to send device status!"); } http.end(); // Close the connection } else { Serial.println("WiFi Disconnected"); } }

Penjelasan Kode:

  • Servo Motor: Servo dikendalikan dengan menggunakan library Servo dan dipasang di pin D2. Posisi servo diatur dengan myServo.write(angle);.
  • Sensor DHT11: Membaca data suhu dan kelembaban dari sensor DHT11 yang terhubung ke pin D3 menggunakan library DHT.
  • Relay: Relay dikendalikan dengan menulis status ke pin D1. Diatur untuk menghidupkan atau mematikan perangkat berdasarkan kondisi yang ditentukan (misalnya suhu > 30°C).
  • Kirim Data ke Server: Menggunakan HTTPClient untuk mengirim data suhu, kelembaban, dan status perangkat ke server menggunakan metode POST.

Langkah 4: Menampilkan Data di Database

Setelah data berhasil dikirim ke server PHP, data status perangkat akan disimpan di database MySQL pada server Anda. Anda dapat menampilkan atau memanipulasi data ini dengan menggunakan alat seperti phpMyAdmin atau dengan menulis halaman PHP untuk menampilkan data perangkat.


Kesimpulan:

Dengan mengintegrasikan ESP8266, servo motor, sensor DHT11, dan relay, Anda dapat membuat sistem IoT yang mengontrol perangkat fisik berdasarkan kondisi lingkungan yang terdeteksi. Selain itu, data perangkat dapat disimpan di database dan diakses melalui server PHP untuk pemantauan jarak jauh

Komentari Tulisan Ini
Tulisan Lainnya
Kunjungan Mentor GreenHouse

Kehadiran mentor di greenhouse hari ini memberi pandangan dan ilmu baru serta menginspirasikan untuk terus memperbaiki proses budidayaan tanaman pakcoy di greenhouse. Bimbingan mentor

17/11/2025 16:32 - Oleh Admin - Dilihat 41 kali
Kedatangan Asestor Dari BBPVP Bandung

Ciamis 15 November 2025, Jalan Panumbangan No.444 Dusun Sukamanah (LPK Bintang Terang), Kedatangan Asesor dari BBPVP Bandung untuk memverifikasi alat yang akan digunakan untuk melaksa

17/11/2025 16:19 - Oleh Admin - Dilihat 27 kali
Bertemu Sang Melon Premium: Kisah dari Greenhouse

“Kunjungan edukatif ke Greenhouse Melon hari ini membuka wawasan kami tentang proses budidaya modern yang sehat dan berkelanjutan. Banyak ilmu baru, banyak inspirasi baru.&rdquo

17/11/2025 09:10 - Oleh Admin - Dilihat 85 kali
PELATIHAN IoT (INTERNET OF THINGS)

Pelatihan IoT (Internet of Things) Terlengkap – LPK Bintang Terang Di era digital seperti sekarang, teknologi berkembang sangat cepat. Hampir semua bidang kehidupan mulai memanfa

16/11/2025 21:38 - Oleh Admin - Dilihat 90 kali
“Efisiensi Pertanian Modern: Monitoring Tanaman dalam Greenhouse”

  Di era pertanian modern, teknologi menjadi kunci untuk menciptakan sistem tanam yang efisien, produktif, dan ramah lingkungan. Dengan bantuan berbagai sensor canggih seperti

05/11/2025 16:31 - Oleh Admin - Dilihat 177 kali
“Belajar Peduli Lingkungan Melalui Kegiatan Merakit Tong Sampah Otomatisi”

 Panumbangan, 5 November 2025 — Siswa LPK Bintang Terang kembali menorehkan prestasi membanggakan. Kali ini, mereka berhasil merakit tong sampah pintar (smart trash bin) ya

05/11/2025 15:42 - Oleh Admin - Dilihat 127 kali
Kabid PNF Disdik Ciamis Beri Motivasi di LPK Bintang Terang

Ciamis, 01 November 2025 — Kepala Bidang Pendidikan Nonformal (PNF) Dinas Pendidikan Kabupaten Ciamis, Bapak Eka Yudha Katresna, S.Sos., M.M., berkunjung ke LPK/LKP Bintang Terang

01/11/2025 15:05 - Oleh Admin - Dilihat 601 kali
SMART FARMING (IoT Berbasis ESP32)

/******************************************************* Program   : SMART FARMING (IoT Berbasis ESP32) Chip      : ESP32 Website   : https://bintangterang

01/11/2025 08:11 - Oleh Admin - Dilihat 74 kali
CAMAT PANUMBANGAN KUNJUNGI LPK BINTANG TERANG

Camat Panumbangan Kunjungi LPK Bintang Terang, Beri Motivasi untuk Peserta Pelatihan Smart Farming Panumbangan, 31 Oktober 2025 — LPK Bintang Terang mendapat kunjungan istimewa

01/11/2025 02:06 - Oleh Admin - Dilihat 598 kali
Green Tech Farm Mini Lab Smart Farming Innovation Center

  Istilah “Green Tech Farm Mini Lab Smart Farming Innovation Center” terdiri dari beberapa konsep yang saling terkait — semuanya berhubungan dengan inovasi tekno

27/10/2025 07:48 - Oleh Admin - Dilihat 113 kali