Komputasi lokal, kendali penuh — monitoring udara tanpa bergantung cloud.
Abstrak
Ketergantungan sistem IoT pada infrastruktur cloud menimbulkan risiko nyata: ketika koneksi internet terganggu, seluruh pipeline data lumpuh. Penelitian ini merancang dan mengevaluasi sistem monitoring kualitas udara multi-node berbasis pure edge computing yang memindahkan seluruh proses komputasi ke sisi lokal tanpa keterlibatan server eksternal. Sistem dibangun menggunakan lima node sensor virtual berbasis Python yang mempublikasikan data konsentrasi gas dan suhu melalui protokol MQTT ke broker Mosquitto yang berjalan di Raspberry Pi. Data diterima oleh edge processor yang melakukan serangkaian analitik secara real-time: parsing JSON, perhitungan delay, moving average, klasifikasi status udara, deteksi packet loss berbasis sequence number, dan perhitungan throughput. Hasil pemrosesan disimpan ke database SQLite lokal dan disajikan melalui web dashboard berbasis Flask API yang dapat diakses secara remote menggunakan Tailscale VPN. Evaluasi sistem mencakup pengukuran kuantitatif terhadap latensi end-to-end, packet loss, throughput, dan akurasi klasifikasi kualitas udara. Hasil menunjukkan bahwa arsitektur edge computing mampu mempertahankan fungsionalitas sistem secara penuh meski tanpa konektivitas internet, dengan latensi yang lebih rendah dibandingkan pendekatan berbasis cloud. Penelitian ini berkontribusi pada pengembangan solusi IoT yang hemat biaya, privat, dan resilien — khususnya untuk skenario monitoring lingkungan skala kecil hingga menengah dengan keterbatasan infrastruktur.
Kata kunci: edge computing, MQTT, Raspberry Pi, monitoring kualitas udara, IoT, Tailscale VPN, Flask API, SQLite.
Pendahuluan: Masalah yang Sering Diabaikan
Bayangkan skenario sederhana ini: kamu punya sistem pemantauan kualitas udara di sebuah gudang bahan kimia. Sensor-sensor tertancap rapi, koneksi internet stabil, dan dashboard cloud-mu berjalan mulus. Lalu suatu pagi, ISP mengalami gangguan. Koneksi internet putus total selama empat jam.
Selama empat jam itu, kamu buta. Data tidak dikirim, tidak diproses, tidak tampil. Padahal di lapangan, kondisi udara bisa berubah kapan saja.
Inilah titik lemah yang sering luput dari perhatian dalam desain sistem IoT konvensional: ketergantungan penuh pada konektivitas cloud. Dan penelitian ini hadir sebagai jawaban atas masalah itu — sebuah arsitektur monitoring kualitas udara berbasis pure edge computing yang tetap berfungsi penuh meskipun jalur internet terputus, karena semua komputasi terjadi di sisi lokal, di atas sebuah Raspberry Pi yang mungkin ukurannya lebih kecil dari dompet kamu.
Apa Sebenarnya yang Diteliti?
Secara garis besar, penelitian ini membangun dan mengevaluasi sistem monitoring kualitas udara multi-node yang bekerja sepenuhnya di sisi edge — tanpa ketergantungan pada server cloud eksternal. Data dihasilkan oleh node-node sensor virtual berbasis Python, dikirim lewat protokol MQTT, diproses oleh Raspberry Pi, disimpan lokal di SQLite, dan akhirnya ditampilkan melalui web dashboard yang bisa diakses secara remote berkat Tailscale VPN.
Yang menarik: sistem ini bukan sekadar memindahkan proses dari cloud ke lokal. Ia juga mengukur sesuatu yang sering dilupakan — seberapa baik performa sistem itu sendiri. Delay, packet loss, throughput, dan akurasi klasifikasi status udara semuanya dipantau dan dievaluasi secara kuantitatif.
Arsitektur Sistem: Lima Lapisan yang Saling Melengkapi
Lapisan 1 — Device Layer: Node Sensor Virtual
Tidak menggunakan sensor fisik, penelitian ini menjalankan lima node sensor berbasis Python di atas Kali Linux. Setiap node mensimulasikan pembacaan dua parameter utama: konsentrasi gas dan suhu. Data yang dihasilkan dikemas dalam format JSON yang rapi, berisi:
node_id— identitas nodearea— lokasi logis sensorgas— nilai konsentrasi gas (ppm)suhu— nilai suhu (°C)timestamp— waktu pengirimansequence_number— nomor urut paket, kunci untuk menghitung packet loss
Setiap node mempublikasikan data ini ke MQTT broker menggunakan topic air/sensor/# — format wildcard yang memungkinkan satu subscriber menerima data dari semua node sekaligus.
Pilihan menggunakan node virtual (bukan sensor fisik) adalah keputusan desain yang disengaja. Ini memungkinkan pengujian terkontrol dengan variabel yang bisa diatur secara presisi — sesuatu yang sulit dilakukan dengan sensor fisik yang perilakunya bergantung pada kondisi lingkungan nyata.
Lapisan 2 — Network Layer: Tailscale VPN sebagai Jembatan Antar Jaringan
Salah satu tantangan klasik dalam sistem IoT terdistribusi adalah bagaimana node di satu jaringan berkomunikasi dengan edge processor di jaringan lain tanpa harus membuka port publik atau konfigurasi firewall yang kompleks.
Solusi di sini elegan: Tailscale VPN, berbasis WireGuard, yang membangun jaringan virtual dengan ruang alamat 100.x.x.x. Dengan Tailscale, node sensor di Jaringan A dan dashboard di Jaringan B bisa saling terhubung seolah-olah berada di jaringan yang sama — semua traffic terenkripsi end-to-end secara otomatis, tanpa setup manual yang menyusahkan.
Keputusan ini punya implikasi menarik: sistem ini bisa di-deploy di lokasi yang berjauhan secara fisik, selama masing-masing titik terhubung ke internet dan bergabung dalam jaringan Tailscale yang sama. Gudang di Jakarta, server edge di Bandung, dan dashboard yang dibuka dari Surabaya — semuanya bisa jalan.
Lapisan 3 — Edge Layer: Raspberry Pi sebagai Otak Sistem
Inilah inti dari seluruh arsitektur: Raspberry Pi yang menjalankan dua komponen utama.
Mosquitto berperan sebagai MQTT broker — ia menerima semua pesan dari node sensor dan meneruskannya ke subscriber yang tepat. Sebagai software open source yang ringan, Mosquitto sangat cocok berjalan di hardware terbatas seperti Raspberry Pi tanpa menguras resources.
Edge Processor adalah script Python yang melakukan pekerjaan analitik sesungguhnya. Setelah menerima data dari Mosquitto, ia menjalankan serangkaian proses secara berurutan:
- Parsing JSON — membaca payload yang masuk dan mengekstrak setiap field
- Perhitungan delay — menghitung selisih antara timestamp pengiriman node dan waktu penerimaan di edge, sebagai indikator latensi jaringan
- Moving average — menerapkan rata-rata bergerak untuk mereduksi noise pada nilai sensor dan menghasilkan tren yang lebih stabil
- Klasifikasi status udara — menentukan apakah kondisi udara "Baik", "Sedang", atau "Berbahaya" berdasarkan ambang batas konsentrasi gas yang telah ditetapkan
- Packet loss — mendeteksi paket yang hilang dengan membandingkan sequence number yang diterima dengan yang seharusnya diterima
- Throughput — menghitung kecepatan efektif transfer data berdasarkan ukuran payload dan interval waktu
Semua hasil ini kemudian disimpan ke database SQLite lokal — sebuah pilihan pragmatis yang masuk akal untuk skala sistem ini.
Lapisan 4 — Backend Layer: Flask API sebagai Jembatan Data
Hasil pemrosesan edge tidak langsung diakses dashboard secara mentah. Ada lapisan abstraksi di antaranya: REST API berbasis Flask yang menyediakan endpoint untuk menyimpan (POST) dan mengambil (GET) data dari SQLite.
Pemisahan ini bukan sekadar gaya arsitektur. Ia menerapkan prinsip single responsibility — edge processor fokus pada komputasi, Flask API fokus pada manajemen data, dan dashboard fokus pada presentasi. Hasilnya: sistem yang lebih mudah dikembangkan dan dipelihara secara independen.
Lapisan 5 — Presentation Layer: Web Dashboard
Dashboard dibangun menggunakan HTML dan JavaScript murni — tanpa framework berat, tanpa dependensi eksternal yang rumit. Ia mengambil data dari Flask API melalui Tailscale, lalu menampilkan tiga komponen utama:
- Kartu informasi — nilai sensor terkini, status udara, delay, dan packet loss per node
- Grafik time-series — visualisasi tren gas, suhu, dan moving average dari waktu ke waktu
- Tabel status node — ringkasan kondisi semua node dalam satu tampilan, lengkap dengan indikator warna
Cara Kerja Keseluruhan: Perjalanan Satu Paket Data
Untuk memahami sistem ini secara holistik, ikuti perjalanan satu paket data dari titik lahir hingga tampilannya di layar:
- Node sensor virtual menghasilkan nilai gas dan suhu, mengemasnya dalam JSON dengan sequence number yang bertambah setiap pengiriman
- JSON dikirim ke MQTT broker (Mosquitto di Raspberry Pi) via jaringan Tailscale
- Edge Processor menerima paket, langsung menghitung delay, menerapkan moving average, mengklasifikasikan status udara, memvalidasi sequence number, dan menghitung throughput
- Hasil analitik dikirim via HTTP POST ke Flask API dan disimpan ke SQLite
- Dashboard melakukan polling ke Flask API via HTTP GET, mengambil data terbaru, dan memperbarui tampilan
Seluruh proses ini berlangsung di infrastruktur lokal. Internet hanya digunakan sebagai "terowongan" Tailscale — bukan sebagai tempat pemrosesan data. Jika internet putus tapi jaringan lokal tetap aktif, seluruh pipeline dari sensor ke database tetap berjalan normal. Hanya akses remote ke dashboard yang terganggu.
Keunggulan: Mengapa Ini Layak Dipertimbangkan
Latensi yang jauh lebih rendah. Ketika komputasi terjadi di edge — bukan di server cloud yang mungkin berjarak ribuan kilometer — waktu respons sistem berkurang signifikan. Ini krusial untuk aplikasi monitoring yang membutuhkan deteksi anomali real-time.
Kedaulatan data penuh. Data sensor tidak pernah meninggalkan infrastruktur internal. Tidak ada pihak ketiga yang menyentuh data tersebut. Untuk aplikasi yang melibatkan data sensitif — lingkungan industri, fasilitas kesehatan, laboratorium riset — ini bukan sekadar keunggulan teknis, melainkan kebutuhan hukum dan etika.
Efisiensi biaya yang signifikan. Tidak ada biaya langganan cloud yang berjalan terus-menerus. Raspberry Pi, Mosquitto, Flask, SQLite, dan Tailscale (untuk skala kecil) semuanya tersedia gratis atau dengan biaya hardware one-time yang terjangkau.
Resiliensi terhadap gangguan koneksi. Ini mungkin keunggulan paling kritis: sistem tetap mengumpulkan, memproses, dan menyimpan data meskipun koneksi internet putus. Data tidak hilang, tidak tertunda — ia aman tersimpan di SQLite lokal, siap diambil ketika koneksi pulih.
Skalabilitas horizontal yang mudah. Menambahkan node sensor baru hanya memerlukan dua langkah: instal Tailscale di node baru dan hubungkan ke jaringan yang sama. Tidak ada perubahan konfigurasi di sisi edge atau backend.
Keterbatasan: Kejujuran yang Membuat Penelitian Ini Kredibel
Tidak ada arsitektur yang sempurna, dan penelitian ini cukup jujur untuk mengakuinya.
Single point of failure yang nyata. Jika Raspberry Pi mengalami kerusakan hardware atau kegagalan sistem, seluruh pipeline berhenti. Untuk lingkungan dengan kebutuhan ketersediaan tinggi, ini adalah risiko yang tidak bisa diabaikan — dibutuhkan mekanisme redundansi atau failover yang belum ada dalam desain saat ini.
SQLite bukan untuk semua skenario. SQLite adalah pilihan tepat untuk skala penelitian ini. Namun untuk deployment dengan ratusan node dan frekuensi pengiriman data yang tinggi, keterbatasan SQLite pada concurrent write operations bisa menjadi bottleneck. PostgreSQL atau time-series database seperti InfluxDB akan lebih tepat untuk skala tersebut.
Ketergantungan pada control plane Tailscale. Meski traffic data terenkripsi end-to-end, koneksi awal antar node tetap bergantung pada server koordinasi Tailscale yang dikelola pihak ketiga. Untuk kemandirian infrastruktur penuh, solusi self-hosted seperti Headscale bisa menjadi alternatif — namun dengan kompleksitas deployment yang lebih tinggi.
Keamanan MQTT yang masih bisa diperkuat. Traffic MQTT sudah berada di dalam jaringan privat Tailscale, yang secara signifikan mengurangi permukaan serangan. Namun menambahkan autentikasi username/password dan TLS pada level MQTT sendiri akan memberikan lapisan keamanan tambahan — prinsip defense in depth yang selalu baik untuk diterapkan.
Node virtual vs. sensor fisik. Penggunaan node virtual memungkinkan pengujian terkontrol, tetapi hasilnya tidak sepenuhnya merepresentasikan kondisi deployment nyata. Sensor fisik menghadapi noise elektrikal, drift kalibrasi, dan ketidakpastian lingkungan yang tidak ada dalam simulasi. Validasi dengan hardware nyata tetap diperlukan sebelum sistem ini diterapkan di lingkungan produksi.
Kontribusi dan Relevansi
Apa yang membuat penelitian ini lebih dari sekadar "menyambung sensor ke Raspberry Pi"?
Pertama, pendekatan pengukuran yang komprehensif. Penelitian ini tidak hanya membangun sistem — ia mengukur performanya secara kuantitatif: delay end-to-end, packet loss berdasarkan sequence number, throughput berdasarkan ukuran payload, dan akurasi klasifikasi status udara. Pendekatan ini mengubah prototype menjadi sesuatu yang bisa dievaluasi dan dibandingkan.
Kedua, relevansi praktis yang tinggi. Stack teknologi yang digunakan — Python, MQTT, Raspberry Pi, SQLite, Flask — semuanya open source, terdokumentasi dengan baik, dan terjangkau. Ini bukan penelitian yang hanya bisa direplikasi di laboratorium dengan peralatan mahal. Seorang mahasiswa dengan Raspberry Pi dan beberapa puluh ribu rupiah bisa membangun versi sederhananya.
Ketiga, positioning yang tepat. Sistem ini secara eksplisit menargetkan skenario monitoring skala kecil hingga menengah di lingkungan dengan keterbatasan anggaran dan/atau kebutuhan privasi data yang tinggi — sebuah ceruk yang sangat relevan untuk konteks Indonesia, di mana banyak industri kecil dan menengah belum memiliki infrastruktur cloud yang matang.
Penutup
Pure edge computing bukan ideologi anti-cloud. Ia adalah pilihan arsitektur yang tepat untuk konteks yang tepat. Ketika latensi rendah, privasi data, dan ketahanan terhadap gangguan koneksi menjadi prioritas — dan ketika budget tidak mendukung langganan cloud jangka panjang — pendekatan seperti yang diteliti di sini menjadi sangat masuk akal.
Raspberry Pi di sudut ruang server mungkin terlihat sederhana. Tapi ketika ia bisa menerima data dari lima node sensor, menghitung moving average, mengklasifikasikan status udara, memantau packet loss, dan menyajikan semuanya lewat web dashboard yang bisa diakses dari mana saja — semuanya tanpa menyentuh cloud — itu bukan lagi sederhana. Itu elegan.
Dan keeleganan dalam desain sistem, pada akhirnya, adalah sesuatu yang layak diapresiasi — baik oleh praktisi industri yang butuh solusi pragmatis, maupun oleh komunitas akademik yang mencari kontribusi yang bermakna.
Artikel ini disusun berdasarkan penelitian sistem monitoring kualitas udara berbasis pure edge computing menggunakan MQTT, Raspberry Pi, Tailscale VPN, dan web dashboard dengan Flask API.
.jpeg)

