Lab

Selesai · 100%

Perancangan dan Analisis Sistem Pengukuran Unsur Hara Tanah pada Tanaman Cabai Berbasis Teknologi Radio Akses LPWAN LoRa

Untuk skripsi, gue bikin prototipe IoT buat membaca kadar nitrogen, fosfor, dan kalium di tanah. Project ini akhirnya bikin gue ngerjain hampir seluruh layer-nya sendiri: dari sensor dan rangkaian elektronik, ESP32, LoRaWAN, gateway, ANTARES, sampai aplikasi Android sederhana, lalu dites langsung di lapangan sampai jarak 3,47 km.

Gambaran umum

Status
Selesai
Kemajuan
100%
Tingkat kesulitan
Ambitious
Mulai
1 Agu 2019
Terakhir diperbarui
31 Okt 2020

Stack & alat

Perangkat lunak
ANTARES IoT PlatformArduino IDEC / C++JSONAndroid
Perangkat keras
ESP32ANTARES LR-ESP201RFM96 LoRa TransceiverAnalog NPK Soil ProbeLM39316×2 I2C LCD2400 mAh Lithium BatteryCustom PCB / ShieldLoRaLoRaWANLoRa.idAS920–923 MHzClass AABP

01 / MASALAH YANG DIEKSPLORASI

Apa yang ingin gue pahami atau selesaikan

Kalau ngomongin monitoring di area pertanian, problem-nya bukan cuma soal “sensornya bisa baca atau nggak”. Perangkatnya bisa aja dipasang cukup jauh dari bangunan atau koneksi internet terdekat. Wi-Fi masuk akal kalau jaraknya dekat, tapi mulai nggak praktis ketika sensor harus ditempatkan ratusan meter bahkan beberapa kilometer dari infrastrukturnya. Di sisi lain, data yang dikirim sebenarnya kecil. Kita nggak sedang streaming video. Paling cuma beberapa nilai sensor yang dikirim secara berkala. Nah, karakter seperti ini yang bikin LPWAN—dan dalam kasus gue, LoRaWAN—jadi menarik buat dieksplor. Jadi pertanyaan gue waktu itu cukup straightforward: Bisakah perangkat embedded sederhana mengubah pembacaan analog dari tanah menjadi data digital yang usable? Bisakah data itu dikirim dalam jarak yang cukup jauh? Dan ketika perangkatnya benar-benar dibawa keluar dari lab, seberapa banyak jarak dan obstacle mulai memengaruhi koneksinya?

02 / CATATAN LAPANGAN

What I Built

Pada akhirnya sistemnya gue bangun dalam empat layer utama.

Sensor & elektronik

Gue pakai probe NPK analog yang dihubungkan ke rangkaian signal conditioning berbasis LM393. Gue juga bikin custom shield sendiri supaya koneksi antara sensor, LCD, indikator, komponen pendukung, dan ESP32 nggak berantakan pakai jumper ke mana-mana.

Embedded system

Otak perangkatnya pakai ANTARES LR-ESP201 berbasis ESP32. Di sini gue ngolah pembacaan sensor, mapping nilainya menjadi data NPK, bikin payload yang akan dikirim, sekaligus ngatur LCD di perangkat.

Konektivitas LoRaWAN

Untuk radionya gue pakai LoRa transceiver kelas RFM96 di band AS920–923 MHz. Device-nya berjalan sebagai LoRaWAN Class A end device dan terhubung ke jaringan LoRa.id lewat gateway yang tersedia.

Cloud & aplikasi

Begitu paket diterima gateway, datanya diteruskan lewat network backend sampai ke ANTARES. Dari sana gue bisa lihat telemetry yang masuk dan kemudian menampilkannya lagi lewat aplikasi Android sederhana untuk monitoring tanah.

System Architecture

Alur lengkapnya kurang lebih seperti ini:

Tanah → Sensor NPK → Signal Conditioning → ESP32 → LoRa → Gateway LoRaWAN → Network → ANTARES → Android App

Justru bagian ini yang paling banyak ngajarin gue.

Karena setiap komponen bisa kelihatan “working” kalau dites sendiri-sendiri, tapi sistem secara keseluruhan belum tentu jalan.

Sensor bisa ngeluarin nilai, tapi voltage-nya belum tentu cocok buat ESP32. ESP32 bisa bikin payload dengan benar, tapi radionya belum tentu sampai ke gateway. Gateway bahkan bisa nangkep sebagian paket sementara paket lainnya hilang di perjalanan.

Akhirnya problem yang menarik buat gue bukan lagi satu komponen tertentu, tapi gimana caranya bikin seluruh rantai itu benar-benar bekerja sebagai satu sistem.

03 / PELAJARAN

Di akhir project, prototipenya berhasil menjalankan flow lengkap dari sensor sampai cloud.

Pembacaan sensor elektronik punya tingkat kesesuaian lebih dari 90% dibandingkan NPK meter analog yang gue pakai sebagai reference selama testing. Untuk paket yang berhasil sampai ke platform, value yang tersimpan di ANTARES juga konsisten dengan data yang dikirim device.

Dengan baterai lithium 2400 mAh, prototipenya bisa hidup sekitar lima jam saat LCD digunakan dan sekitar tujuh jam kalau LCD dimatikan.

Tapi menurut gue hasil yang lebih menarik justru datang dari testing LoRaWAN-nya.

Bisa sampai ke gateway sejauh 3,47 km jelas menarik. Tapi di saat yang sama, datanya nunjukin trade-off yang cukup jelas: makin jauh jaraknya dan makin jelek kondisi propagasinya, RSSI dan SNR ikut turun sementara packet loss naik cukup signifikan.

Jadi kesimpulannya bukan sekadar “wah LoRa bisa jauh”.

Yang lebih penting justru gue jadi ngerti bahwa coverage dan reliability itu dua hal yang berbeda. LoRaWAN memang bisa membawa data kecil dalam jarak jauh dengan sangat efisien, tapi itu nggak otomatis membuatnya cocok untuk komunikasi real-time atau aplikasi yang nggak boleh kehilangan paket.

Experiment & Testing

Setelah prototipenya jalan di meja, bagian serunya justru dimulai waktu gue bawa keluar.

Dari sisi sensor, gue bandingkan hasil pembacaan prototipe dengan NPK meter analog yang gue jadikan reference selama eksperimen.

Gue juga ukur konsumsi dayanya di beberapa konfigurasi, termasuk ngebandingin penggunaan baterai saat LCD nyala dan saat LCD dimatikan.

Tapi bagian yang paling menarik buat gue tetap pengujian radionya.

Gue manfaatin gateway LoRa yang tersedia di sekitar Bandung Digital Valley dan STO Cimahi, lalu kirim data berulang kali dari beberapa titik dengan jarak yang berbeda.

Dua titik utama yang gue uji:

712 meter dari gateway
Average RSSI: −96,9 dBm
Average SNR: 7,28 dB
Average delay: 0,012 detik
Packet loss: 20%

3,47 kilometer dari gateway
Average RSSI: −113,3 dBm
Average SNR: −9,69 dB
Average delay: 0,065 detik
Packet loss: 61%

Selama testing, device ngirim data setiap 20 detik selama kurang lebih 30 menit.

Ada juga beberapa percobaan indoor yang sama sekali nggak berhasil connect. Dari sini lumayan kebayang secara langsung kalau istilah “long range” bukan berarti tembok, gedung, dan obstacle lain tiba-tiba nggak relevan.

04 / BERIKUTNYA

What I Learned

Sebelum project ini, gampang banget buat gue ngejelasin IoT sebagai “sensor disambung ke microcontroller, terus datanya dikirim ke internet”.

Setelah benar-benar bikin sendiri, definisi itu terasa terlalu simpel.

Problem yang justru menarik banyak muncul di antara layer-layernya.

Sensornya punya karakteristik listrik sendiri. ESP32 punya requirement input sendiri. Radio punya constraint lain lagi. Setelah itu masih ada coverage jaringan, gateway, packet loss, ingestion ke cloud, sampai aplikasi yang akhirnya consume datanya.

Semuanya saling ngaruh.

Dan mungkin itu lesson paling besar yang gue bawa dari project ini: kalau mau benar-benar ngerti sebuah sistem IoT, nggak cukup cuma ngerti masing-masing komponennya. Gue harus ngerti juga bagaimana semuanya nyambung dari ujung ke ujung.

Project ini juga jadi semacam jembatan antara hal-hal yang sebelumnya gue pelajari dan lihat di dunia IoT dengan pengalaman membangun satu sistem lengkap punya gue sendiri.

Limitations

This was still an undergraduate prototype, so I would not treat every number in the thesis as production-grade validation.

The NPK measurements were compared against an analog commercial meter rather than laboratory soil analysis. Because of that, the reported >90% result is better understood as measurement agreement with that reference device, not absolute sensor accuracy.

The LoRaWAN tests were also limited to a small number of locations, gateways, environmental conditions, and device configurations.

A more rigorous version of the experiment would repeat the tests across different rural, suburban, and urban environments, use multiple gateways and antenna configurations, test more spreading factors and network settings, and gather significantly more packets.

The value of this project was therefore not proving that the prototype was ready to be deployed on a farm.

It was proving that the architecture could work, then using the prototype to understand where its limits started to appear.

NGOBROL YUK

Ada yang menarik untuk dibahas?

Soal product, system, sesuatu yang lagi lo bangun, atau sekadar pengen tukar pikiran? boleh banget diobrolin.