Saat ini kita banyak mendengar tentang pemanfaatan IoT (internet of things), dimana banyak perangkat perangkat (devices) disekitar kita yang dapat terhubung ke internet. Kelebihan perangkat perangkat dapat terhubung ke internet antara lain adalah kita dapat melakukan pengawasan (monitoring) dan kontrol dari jarak jauh sehingga bisa kita tambahkan pula fitur otomasi pada perangkat perangkat yang kita miliki untuk meningkatkan produktivitasnya. Contohnya perangkat IoT sederhana seperti alat pertanian untuk menyiram air otomatis yang memiliki sensor kelembapan tanah dimana waktu penyiraman tanaman dapat dijadwalkan secara periodik. Untuk melakukan penyiraman secara periodik pada waktu waktu yang telah ditentukan maka perangkat dapat dilengkapi dengan RTC (real time clock) dimana RTC perlu kita set terlebih dahulu (jam, menit, detik, tanggal) sesuai dengan waktu yang ada. Contohnya kita dapat menset waktu penyiraman di pagi dan sore hari, ketika RTC menunjukkan pukul tertentu maka RTC dapat mentrigger aktuator seperti relay yang terhubung ke pompa dan sprayer untuk melakukan penyiraman. Kita juga dapat menambahkan sensor kelembapan tanah untuk memonitor tingkat kandungan air di dalam tanah sehingga dapat diatur tingkat penyiraman tanaman yang optimum.
LoRa (Long Range) memanfaatkan modulasi gelombang radio untuk menerima dan mengirimkan data yang dikembangkan oleh Semtech. LoRa memiliki beberapa kelebihan antara lain seperti berbiaya rendah, penggunaan energi yang sangat efisien (dapat bertahan hingga diatas 5 tahun dengan penggunaan baterai coin) dan memiliki jangkauan area yang relatif jauh (hingga beberapa km di area terbuka) sehingga sesuai untuk beberapa aplikasi seperti smart city & building, pertanian, perikanan, pengawasan aset dll. Dibanding BLE (bluetooth Low Energy) dan Wifi, LoRa memiliki bandwidth yang kecil sehingga tidak cocok untuk pengiriman data yang relatif besar seperti video streaming akan tetapi memiliki kelebihan pada penggunaan daya yang rendah dan cakupan area yang luas. Untuk dapat terhubung ke internet dan jaringan yang lebih besar maka perangkat perangkat LoRa memerlukan gateway. Kita dapat memanfaatkan publik LoRaWAN (Long Range Wide Area Network) yang banyak disediakan oleh penyedia jasa telekomunikasi / operator seluler atau membangun private gateway sendiri.
Kali ini penulis akan menceritakan pengalamannya dalam mengembangkan perangkat berbasis LoRa dengan menggunakan private gateway. Dalam pengalamannya, penulis pernah mengembangkan perangkat (client) untuk smart city lamp dengan memanfaatkan modem selular sebagai private gatewaynya. Masing masing perangkat menggunakan module (murata) yang berbasis pada STM32L0 dan dilengkapi dengan LoRa. Tiap tiap perangkat LoRa yang dikembangkan penulis disini memiliki ID yang unik dan berbeda beda dan tersimpan di dalam EEPROM sehingga tiap tiap perangkat dapat dikenali dan dikontrol secara individual. Private gateway yang dikembangkan oleh penulis menggunakan module yang sama dengan client hanya saja ditambahkan modem celluar melalui serial (uart) untuk dapat terhubung dengan server dengan protokol MQTT.
LoRa development kit yang digunakan disini adalah B-L072Z-LRWAN1. Development kit ini dapat digunakan untuk menerapkan teknologi LoRa®, Sigfox™, atau FSK/OOK. Dev Kit ini menggunakan modul yang diproduksi oleh murata yang terdiri atas mikrokontrol STM32 seri L yang terkenal hemat daya dan dilengkapi dengan SX1276 transceiver.
STM32 menyediakan tool dan library gratis yang dapat digunakan untuk mengembangkan LoRa pada dev kit ini. Disini tool yang akan kita gunakan adalah STM32CubeMX dan STM32CubeIDE. Ketika halaman STM32CubeMX terbuka maka kita dapat memilih opsi ACCESS TO BOARD SELECTOR dan memilih B-L072Z-LRWAN1. Dobel klik pada B-L072Z-LRWAN1kemudian akan muncul pemberitahuan “Initialize all peripherals with their default mode?” klik yes saja untuk memudahkan (di lain waktu kita akan coba membahas set cube mx dari scratch). Pada project manager, inputkan nama project dan pilih STM32CubeIDE pada toolchain yang digunakan kemudian generate code. Dengan menggunakan pilihan default mode diatas maka kode yang dihasilkan akan termasuk inisialisasi untuk driver SPI, UART, GPIO, dan RTC.
BERSAMBUNG>>