Embedded Systems IoT

Belajar Flutter × ESP32 dari Nol — USB Serial → Bluetooth → WiFi

Flutter USB Bluetooth WiFi ESP32 DevKit V1 DHT11 LED Relay

📚 Roadmap 16 Minggu

Fase 1 — Fondasi (Minggu 1–4)

Minggu 1

Setup Environment

Install Flutter, Arduino IDE, driver ESP32. Hello World di kedua sisi.

Mulai Belajar →
Minggu 2

Dasar Dart & Flutter UI

Widget, StatefulWidget, layout dasar, membuat tombol ON/OFF.

Mulai Belajar →
Minggu 3

Dasar ESP32 & Arduino

GPIO, digitalRead/Write, sensor sederhana, Serial Monitor.

Mulai Belajar →
Minggu 4

Komunikasi Data & JSON

Serial communication, JSON format, ArduinoJson & dart:convert.

Mulai Belajar →

Fase 2 — Koneksi USB Serial (Minggu 5–6)

Minggu 5

Flutter ↔ ESP32 via USB

USB OTG, package usb_serial, kontrol LED via kabel.

Mulai Belajar →
Minggu 6

Dashboard Sensor via USB

Baca sensor real-time, visualisasi chart, protocol sederhana.

Mulai Belajar →

Fase 3 — Koneksi Bluetooth (Minggu 7–10)

Minggu 7

Pengenalan Bluetooth

Bluetooth Classic vs BLE, ESP32 BluetoothSerial, pairing.

Mulai Belajar →
Minggu 8

Flutter Bluetooth Classic

Scan, pair, connect, kirim & terima data via Bluetooth.

Mulai Belajar →
Minggu 9

Bluetooth Low Energy (BLE)

GATT, Services, Characteristics, flutter_blue_plus.

Mulai Belajar →
Minggu 10

Proyek Smart Home BLE

Bi-directional comm, relay + DHT sensor, error handling.

Mulai Belajar →

Fase 4 — Koneksi WiFi / Access Point (Minggu 11–14)

Minggu 11

ESP32 Web Server & AP

WiFi modes, ESPAsyncWebServer, REST API di ESP32.

Mulai Belajar →
Minggu 12

Flutter HTTP ↔ ESP32

HTTP GET/POST, JSON API, kontrol perangkat via WiFi.

Mulai Belajar →
Minggu 13

WebSocket Real-time

AsyncWebSocket, streaming data sensor, dashboard real-time.

Mulai Belajar →
Minggu 14

MQTT & IoT Protocol

Broker, publish/subscribe, Mosquitto, multi-device system.

Mulai Belajar →

Fase 5 — Proyek Akhir (Minggu 15–16)

Minggu 15

Proyek Hybrid IoT

Multi-connection system: USB + Bluetooth + WiFi, state management.

Mulai Belajar →
Minggu 16

Polish, Testing & Demo

Testing end-to-end, UI polish, dokumentasi, presentasi.

Mulai Belajar →

🔧 Hardware & Software

Hardware

  • ESP32 DevKit V1
  • Kabel USB Micro/Type-C + OTG adapter
  • Breadboard + jumper wires
  • LED (merah, hijau, biru) + resistor 220Ω
  • Push button × 2
  • Sensor DHT11 (suhu & kelembaban)
  • Sensor LDR (cahaya)
  • Relay module 1-ch (opsional)
  • Smartphone Android (USB OTG support)

Software

  • Flutter SDK (latest stable)
  • VS Code / Android Studio
  • Arduino IDE / PlatformIO
  • Serial Bluetooth Terminal (Android app)
  • MQTT Explorer (desktop)
  • Mosquitto MQTT Broker

Flutter Packages

usb_serial · flutter_bluetooth_serial · flutter_blue_plus · http · dio · web_socket_channel · mqtt_client · fl_chart · provider