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.
#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🍳 Dapur
22°C🚪 Teras
28°C📊 Dashboard Monitoring
3. MQTT Protocol untuk IoT
MQTT (Message Queuing Telemetry Transport) adalah protocol lightweight yang ideal untuk aplikasi IoT dengan bandwidth terbatas.
#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.
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