Memulai dengan IoT dan MQTT: Tutorial ESP8266 Tanpa Kode
MQTT adalah tulang punggung pesan ringan dari sebagian besar solusi IoT. Panduan ini menunjukkan cara meluncurkan alur kerja lengkap tanpa kode: sensor ESP8266 mempublikasikan data ke Raspberry Pi yang menjalankan Node-RED, di mana pembacaan muncul dalam dasbor langsung.
Mengapa MQTT Penting untuk IoT
Model publish/subscribe MQTT menjaga lalu lintas jaringan tetap minimal dan dirancang untuk koneksi yang tidak andal atau bandwidth rendah—tepat yang dibutuhkan sebagian besar penerapan IoT. Dengan memanfaatkan standar terbuka seperti Arduino, MQTT, dan Node-RED, Anda dapat membuat prototipe cepat tanpa menulis satu baris kode pun.
Yang Anda Butuhkan
- Modul ESP8266 (disebut di sini sebagai “IoT Octopus”) dengan sensor Bosch BME280 (suhu, tekanan, kelembaban)
- Raspberry Pi dengan Raspbian (diuji pada rilis 2018-06-27)
- Node-RED (terpasang sebelumnya pada gambar Raspbian yang lebih baru, jika tidak instal secara manual)
- Broker Mosquitto MQTT – https://mosquitto.org
- Arduino IDE 1.8.5 (versi portable termasuk dalam paket IoT Werkstatt)
- Ardublock – editor blok visual yang menghasilkan kode Arduino secara otomatis
Langkah 1: Unduh Paket IoT Werkstatt
Ambil ZIP IoT Werkstatt. Ini membundel Arduino 1.8.5 portable, semua perpustakaan yang diperlukan, dan Ardublock, yang menyediakan “superblok” yang sudah dibuat untuk tugas IoT umum.
Langkah 2: Siapkan ESP8266
Buka Ardublock dan muat proyek XML yang disediakan. Konfigurasikan SSID/sandi Wi-Fi Anda dan arahkan pengaturan MQTT ke alamat broker Raspberry Pi Anda. Pilih sensor Bosch BME280 dan buat topik yang berbeda untuk setiap pengukuran (misalnya, home/room1/temperature).
Klik Upload to Octopus—Arduino IDE mengkompilasi skets yang dihasilkan dan memflashnya ke ESP8266. Setelah berjalan, perangkat mempublikasikan data sensor ke broker MQTT.
Langkah 3: Siapkan Broker MQTT di Raspberry Pi
Di Pi, instal Mosquitto:
sudo apt-get update sudo apt-get install mosquitto mosquitto-clients
Mulai broker (berjalan otomatis saat boot). Tidak ada konfigurasi tambahan yang diperlukan untuk pengaturan lokal dasar.
Langkah 4: Impor Alur Node-RED
Buka Node-RED (https://localhost:1880) dan tempel alur JSON yang disediakan. Klik dua kali setiap node input MQTT untuk mengatur alamat dan kredensial broker.
Panel debug di kanan akan menampilkan pesan masuk setelah ESP8266 mulai mempublikasikan.
Langkah 5: Tambahkan Dasbor
Di Node-RED, instal node palet node-red-dashboard. Alur sudah berisi konfigurasi untuk UI dasbor.
Setelah instalasi, dasbor dapat diakses di https://localhost:1880/ui dan akan menampilkan grafik langsung suhu, tekanan, dan kelembaban.
Opsional: Amankan Dasbor
Untuk melindungi UI, aktifkan httpNodeAuth dalam settings.js seperti yang dijelaskan dalam dokumentasi keamanan Node-RED.
Daftar Periksa Cepat Raspberry Pi
- Unduh Raspbian dari situs resmi Raspberry Pi dan flash ke kartu SD 32 GB.
- Aktifkan Wi-Fi dan SSH untuk pengaturan tanpa monitor:
- Buat file kosong bernama
ssh di partisi /boot. - Tempatkan file
wpa_supplicant.conf dengan detail jaringan Anda:
country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="YourNetworkSSID" psk="YourNetworkPassphrase" key_mgmt=WPA-PSK } - Boot Pi, lalu tingkatkan OS:
sudo apt-get update sudo apt-get upgrade
- Instal Mosquitto (lihat Langkah 3).
- Jika Node-RED tidak terpasang sebelumnya, jalankan:
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
- Aktifkan Node-RED untuk mulai saat boot:
sudo systemctl enable nodered.service
- Instal node dasbor Node-RED:
sudo apt-get install npm sudo npm install -g npm hash -r cd ~/.node-red npm i node-red-dashboard node-red-start
Setelah berjalan, akses Node-RED di https://localhost:1880 dan dasbor di https://localhost:1880/ui.
Mengelola Node-RED
node-red-start – meluncurkan Node-RED node-red-stop – menghentikan Node-RED sudo systemctl – mengontrol layanan sudo journalctl -f -u nodered -o cat – menampilkan log secara real-time
Langkah Selanjutnya?
Perluas proyek Anda dengan pembelajaran mesin: instal TensorFlow di Pi (pip3 install tensorflow) dan tambahkan palet node-red-contrib-machine-learning untuk membawa kemampuan AI ke dasbor Anda.
Referensi
— SELESAI —