Regulasi suhu ruangan tertutup dengan algoritma kontrol PID, sensor presisi BME280, output pendingin/pemanas, dan multi-speed fan control.
- FreeRTOS Dual-Core Multitasking:
- Core 1 (Sensors & Actuation Task): Menjalankan loop kontrol tertutup (closed-loop control), sampling sensor berkecepatan tinggi, dan aktuasi hardware tanpa terganggu latensi koneksi.
- Core 0 (Network & Telemetry Task): Menangani konektivitas Wi-Fi, MQTT broker publish/subscribe, streaming data WebSockets, dan handler ArduinoOTA.
- Thread Safety & Data Synchronization: Sinkronisasi data antar-core menggunakan Mutex Semaphore (
SemaphoreHandle_t) dan FreeRTOS Queue untuk mencegah race condition. - Digital Filtering & Kalman DSP: Dilengkapi filter digital peredam derau (noise reduction) dan filter Kalman untuk akurasi data sensor analog.
- Penyimpanan Non-Volatil NVS (Preferences): Nilai konfigurasi, kalibrasi sensor, dan status aktuator tersimpan aman di flash internal ESP32.
- Sistem Pengaman Mandiri (Hardware Failsafe): Interlock proteksi perangkat keras otomatis saat terdeteksi anomali.
- Over-The-Air (OTA) Updates & NTP Time: Pembaruan firmware nirkabel via
ArduinoOTAdan sinkronisasi waktu presisi via server NTP.
Lihat definisi pin lengkap dan konfigurasi pada file config.h.example.
- Buka file
esp32-smart-thermostat-hvac.inomenggunakan Arduino IDE 2.0+ atau PlatformIO. - Salin template konfigurasi:
cp config.h.example config.h- Buka
config.hdan sesuaikan kredensial Wi-Fi, MQTT broker, dan parameter sensor. - Pilih board: Tools > Board > ESP32 Arduino > ESP32 Dev Module.
- Pilih skema partisi: Tools > Partition Scheme > "Default 4MB with ffat" atau "Minimal SPIFFS".
- Klik Upload untuk mem-flash firmware ke perangkat ESP32 Anda.
Didistribusikan di bawah lisensi open-source MIT License. Dibuat dengan ❤️ oleh Muhammad Fikri Dev.