Capaian Pembelajaran

  • Memahami arsitektur sistem IoT
  • Mengimplementasikan komunikasi WiFi dengan ESP8266/ESP32
  • Membuat dashboard monitoring sederhana
  • Mengintegrasikan sensor dan aktuator dengan cloud
  • Membuat prototipe smart home system

1. Internet of Things (IoT) Overview

Internet of Things (IoT) adalah konsep dimana objek-objek fisik memiliki kemampuan untuk mentransfer data melalui jaringan tanpa memerlukan interaksi manusia ke manusia atau manusia ke komputer.

Karakteristik IoT

  • Connectivity: Terhubung ke internet
  • Sensing: Mengumpulkan data dari lingkungan
  • Intelligence: Pemrosesan data dan pengambilan keputusan
  • Actuation: Mengontrol perangkat fisik
  • Energy Efficiency: Optimasi penggunaan daya

Arsitektur Sistem IoT

Device Layer

  • Sensor & Aktuator
  • Mikrokontroler
  • Modul Komunikasi
  • Power Management

Network Layer

  • WiFi/Bluetooth
  • LoRa/NB-IoT
  • Gateway
  • Protocol (MQTT/HTTP)

Cloud Layer

  • Data Storage
  • Processing
  • Analytics
  • API Services

Application Layer

  • Dashboard
  • Mobile App
  • Notification
  • Control Interface

2. Komunikasi WiFi dengan ESP8266

ESP8266 adalah system-on-chip (SoC) yang terkenal untuk aplikasi IoT karena memiliki WiFi integrated dan harga yang terjangkau.

wifi_connect.ino - Koneksi WiFi

#include 

const char* ssid = "NAMA_WIFI_ANDA";
const char* password = "PASSWORD_WIFI";

void setup() {
    Serial.begin(115200);
    delay(1000);
    
    // Mulai koneksi WiFi
    WiFi.begin(ssid, password);
    Serial.print("Menghubungkan ke WiFi");
    
    // Tunggu hingga terhubung
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }
    
    Serial.println("\nTerhubung ke WiFi!");
    Serial.print("IP Address: ");
    Serial.println(WiFi.localIP());
}

void loop() {
    // Status koneksi
    if (WiFi.status() == WL_CONNECTED) {
        Serial.println("WiFi Terhubung");
    } else {
        Serial.println("WiFi Terputus");
    }
    delay(5000);
}
                        

Konfigurasi ESP8266

  • Mode Station (STA): Terhubung ke jaringan WiFi existing
  • Mode Access Point (AP): Membuat hotspot sendiri
  • Power Management: Deep sleep untuk hemat energi
  • OTA Update: Update firmware melalui WiFi

Smart Home Simulator

Simulasi sistem IoT untuk smart home dengan monitoring real-time

🛋️ Ruang Tamu

25°C
💡 Lampu Utama
❄️ AC
🌡️ Sensor Suhu

🍳 Dapur

22°C
💡 Lampu Dapur
🔥 Sensor Asap

🚪 Teras

28°C
💡 Lampu Teras
👁️ Sensor Gerak

📊 Dashboard Monitoring

Suhu Ruang Tamu: 25°C
Kelembaban: 65%
Kualitas Udara: Baik
Status Keamanan: Aman

3. MQTT Protocol untuk IoT

MQTT (Message Queuing Telemetry Transport) adalah protocol lightweight yang ideal untuk aplikasi IoT dengan bandwidth terbatas.

mqtt_publish.ino - Publish Data

#include 
#include 

const char* mqtt_server = "broker.hivemq.com";
const char* topic = "home/sensor/temperature";

WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
    Serial.begin(115200);
    setup_wifi();
    client.setServer(mqtt_server, 1883);
}

void setup_wifi() {
    // Kode koneksi WiFi sama seperti sebelumnya
}

void reconnect() {
    while (!client.connected()) {
        if (client.connect("ESP8266Client")) {
            Serial.println("Terhubung ke MQTT Broker");
        } else {
            delay(5000);
        }
    }
}

void loop() {
    if (!client.connected()) {
        reconnect();
    }
    client.loop();
    
    // Publish data suhu
    float temperature = readTemperature();
    String tempString = String(temperature);
    client.publish(topic, tempString.c_str());
    
    delay(10000); // Kirim setiap 10 detik
}

float readTemperature() {
    // Simulasi pembacaan sensor suhu
    return 25.0 + random(-5, 5) / 10.0;
}
                        

Konsep MQTT

  • Publisher: Mengirim data ke topic
  • Subscriber: Menerima data dari topic
  • Broker: Server yang mengatur komunikasi
  • Topic: Channel komunikasi (string hierarkis)
  • QoS: Quality of Service (0, 1, 2)

4. Contoh Implementasi IoT

Smart Weather Station

Stasiun cuaca mini dengan monitoring suhu, kelembaban, dan tekanan udara

  • Sensor DHT22 & BMP180
  • ESP8266 WiFi
  • Web dashboard
  • Data logging

Smart Home Automation

Sistem otomasi rumah dengan kontrol lampu, suhu, dan keamanan

  • Relay control
  • Motion sensor
  • Mobile app
  • Voice control

Smart Agriculture

Sistem monitoring tanaman dengan kontrol irigasi otomatis

  • Soil moisture sensor
  • Water pump control
  • Solar powered
  • LoRa communication

5. Membuat Web Dashboard Sederhana

Dashboard web untuk monitoring dan kontrol perangkat IoT dapat dibuat menggunakan HTML, CSS, JavaScript dan WebSocket.

dashboard.html - Template Dashboard




    IoT Dashboard
    


    

Smart Home Dashboard

Suhu Ruangan

25°C

Kontrol Lampu

Mati

Project Akhir: Smart Home System

Implementasikan sistem IoT untuk smart home dengan fitur lengkap

Requirements

  • Minimum 3 sensor (suhu, kelembaban, gerak)
  • Minimum 2 aktuator (lampu, relay)
  • Koneksi WiFi dengan ESP8266/ESP32
  • Web dashboard untuk monitoring
  • Mobile notification (opsional)
  • Data logging ke cloud

Deliverables

  • Diagram sistem dan wiring
  • Source code lengkap
  • Video demonstrasi
  • Laporan project
  • Presentasi akhir