ESP 8266 lolin 3 relay https://bintangterang.or.id/iot

Materi Pembahasan: ESP8266 Lolin untuk Kontrol 3 Relay via Server HTTPS

1. Pendahuluan

ESP8266 Lolin adalah modul mikrokontroler berbasis WiFi yang dapat diprogram menggunakan Arduino IDE. Dalam proyek ini, ESP8266 digunakan untuk mengendalikan 3 buah relay yang bisa menyalakan/mematikan perangkat listrik berdasarkan perintah dari server (PHP/JSON).

Proyek ini mendemonstrasikan:

  • IoT (Internet of Things) sederhana

  • Komunikasi data melalui protokol HTTPS

  • Parsing data JSON dari server

  • Kontrol output digital (relay)


2. Konfigurasi Jaringan

 
const char* ssid = "BINTANG TERANG"; const char* password = "1sampai8";

ESP8266 akan terhubung ke WiFi lokal dengan SSID dan password yang diberikan.

 
const char* serverName = "https://bintangterang.or.id/url/3/get.php";

Data perintah relay diambil dari server melalui URL tersebut.


3. Keamanan Koneksi (HTTPS)

 
WiFiClientSecure client; BearSSL::X509List cert(IRG_Root_X1); client.setTrustAnchors(&cert);

Agar koneksi HTTPS aman, digunakan sertifikat Root CA. Ini memastikan ESP8266 hanya percaya pada server yang valid.


4. Konfigurasi Relay

 
const int relayPins[3] = {D1, D2, D3};

Tiga pin digital digunakan untuk mengontrol relay.

  • Relay 1 → D1

  • Relay 2 → D2

  • Relay 3 → D3

Di awal program (setup()), semua relay diset OFF (LOW).


5. Sinkronisasi Waktu (NTP)

 
configTime(7*3600,0,"pool.ntp.org");

Digunakan untuk memastikan waktu di ESP8266 sesuai dengan server, penting untuk validasi SSL.


6. Loop Utama

 
void loop() { getDataFromServer(); delay(10000); // setiap 10 detik ambil data }

Setiap 10 detik, ESP8266 polling server untuk mengambil perintah relay terbaru.


7. Pengambilan Data dari Server

 
HTTPClient http; http.begin(client, serverName); int httpCode = http.GET();

Mengirim permintaan GET ke server. Jika berhasil, server mengirimkan data JSON.

Contoh data JSON:

 
[ {"id_perintah":"1", "data":"1"}, {"id_perintah":"2", "data":"0"}, {"id_perintah":"3", "data":"1"} ]

8. Parsing JSON

 
DynamicJsonDocument doc(1024); deserializeJson(doc, payload);

Data JSON diubah menjadi objek supaya bisa diakses dengan mudah.

Setiap objek JSON berisi:

  • id_perintah → nomor relay (1–3)

  • data → status relay (0 = OFF, 1 = ON)


9. Kontrol Relay

 
if(state == "1"){ digitalWrite(relayPin, HIGH); } else { digitalWrite(relayPin, LOW); }

Jika data = 1 → relay menyala
Jika data = 0 → relay mati


10. Alur Kerja Sistem

  1. ESP8266 nyala → sambung ke WiFi

  2. Validasi SSL dengan sertifikat

  3. Ambil perintah JSON dari server

  4. Parsing JSON → tentukan relay mana yang ON/OFF

  5. Relay aktif sesuai instruksi

  6. Ulangi setiap 10 detik


11. Manfaat & Aplikasi

Kendali jarak jauh perangkat listrik (lampu, pompa, kipas)
Sistem smart home berbasis web
Otomasi industri sederhana
Materi pembelajaran IoT (HTTPS, JSON, ESP8266)


Jadi, inti pembahasan kode ini adalah integrasi antara ESP8266, relay, WiFi, HTTPS, dan server JSON untuk membuat sistem IoT kendali jarak jauh yang aman.

#include
#include // Untuk HTTPS
#include
#include

// Konfigurasi WiFi
const char* ssid = "BINTANG TERANG"; // Ganti dengan nama WiFi Anda
const char* password = "1sampai8"; // Ganti dengan password WiFi Anda

// Alamat server PHP untuk mengambil data
const char* serverName = "https://bintangterang.or.id/url/3/get.php"; // Ganti dengan URL server Anda

// Sertifikat Root CA (Root certificate yang digunakan untuk validasi SSL)
const char IRG_Root_X1 [] PROGMEM = R"CERT(
-----BEGIN CERTIFICATE-----
MIIEPjCCA8SgAwIBAgIRAOHIN98BsMcN5I7LTfOUqjcwCgYIKoZIzj0EAwMwSzEL
MAkGA1UEBhMCQVQxEDAOBgNVBAoTB1plcm9TU0wxKjAoBgNVBAMTIVplcm9TU0wg
 
tFy4n697IP5fs1q7lA0VlCpaLF9v+ycCbG3s/BohzFTrkA==
-----END CERTIFICATE-----
)CERT";
// Relay pins
const int relayPins[3] = {D1, D2, D3}; // Relay 1, 2, 3

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

// Set relay pins as OUTPUT and OFF
for(int i=0;i<3;i++) {
pinMode(relayPins[i], OUTPUT);
digitalWrite(relayPins[i], LOW);
}

// Connect WiFi
WiFi.begin(ssid, password);
Serial.print("Connecting WiFi");
while(WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi connected!");
Serial.println("IP: " + WiFi.localIP().toString());

// Set NTP time
configTime(7*3600,0,"pool.ntp.org");
time_t now = time(nullptr);
while(now < 24*3600){ delay(500); now = time(nullptr); }
}

void loop() {
getDataFromServer();
delay(10000); // polling setiap 10 detik
}

void getDataFromServer() {
WiFiClientSecure client;
BearSSL::X509List cert(IRG_Root_X1);
client.setTrustAnchors(&cert);

HTTPClient http;
http.begin(client, serverName);
int httpCode = http.GET();
Serial.print("HTTP Response code: ");
Serial.println(httpCode);

if(httpCode > 0){
String payload = http.getString();
Serial.println("Data received: " + payload);

DynamicJsonDocument doc(1024);
DeserializationError error = deserializeJson(doc, payload);
if(error){
Serial.println("Error parsing JSON!");
return;
}

if(doc.is()){
for(JsonObject obj : doc.as()){
String id_perintah = obj["id_perintah"];
String data = obj["data"];

Serial.print("ID: "); Serial.print(id_perintah);
Serial.print(" Data: "); Serial.println(data);

// ID perintah sesuai relay index (1,2,3)
int relayIndex = id_perintah.toInt() - 1;
if(relayIndex >= 0 && relayIndex < 3){
controlRelay(relayPins[relayIndex], data);
}
}
} else {
Serial.println("JSON kosong atau format salah!");
}
} else {
Serial.println("Failed to connect server");
}

http.end();
}

void controlRelay(int relayPin, String state){
if(state == "1"){
digitalWrite(relayPin,HIGH);
Serial.print("Relay "); Serial.print(relayPin); Serial.println(" ON");
} else {
digitalWrite(relayPin,LOW);
Serial.print("Relay "); Serial.print(relayPin); Serial.println(" OFF");
}
}

 

MATERI......

RENCANA......

VIDEO....

Komentari Tulisan Ini
Tulisan Lainnya
“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 92 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 71 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 562 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 56 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 541 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 98 kali
SMART FARMING ESP32 - FULL AUTOMATIC

  Kelompok 1 – Water & Irrigation (4 relay) Relay Fungsi Pin ESP32 RELAY_AIR Isi air tandon 25 RELAY_POMPA_HARIAN

18/10/2025 18:51 - Oleh Admin - Dilihat 81 kali
PENJELASAN STATUS SISTEM HIDROPONIK

    Bagian Kode Nilai Parameter Arti H 1 1 Hari Tanam (Hari ke-) Tanaman Anda sedang berada di Hari ke-1 fase pertumbuhan.

14/10/2025 22:07 - Oleh Admin - Dilihat 135 kali
PRAKTIK RANGKAIAN LAMPU FLIP FLOP

kami akan melaksanakan praktik rangkaian lampu flip-flop, yaitu rangkaian sederhana yang menunjukkan prinsip kerja sistem penyalaan lampu bergantian secara otomatis. Tujuan dari prak

13/10/2025 14:11 - Oleh Admin - Dilihat 83 kali
PEMBUKAAN PELATIHAN SMART FARMING PROJECT BASED LEARING (PBL)

Pelatihan Smart Farming berbasis Internet of Things (IoT) ini merupakan langkah nyata dalam menghadapi tantangan era digital di sektor pertanian. Dengan penerapan teknologi, diharapk

13/10/2025 12:17 - Oleh Admin - Dilihat 79 kali