Sama halnya dengan BLE, LoRa tidak berjalan di atas TCP / IP. Setelah modul bekerja, diperlukan LoRa gateway yang bertugas meneruskan data dari node sensor ke message broker. Untuk modul LoRa dalam praktik digunakan HopeRF-RFM9x (Hoperf, 2019).
Adapun langkah-langkah untuk integrasi modul LoRa tersebut ke Raspberry Pi sebagai berikut :
1. Hubungkan pin antara modul LoRa dengan Raspberry Pi dengan ketentuan pada tabel di bawah ini, kemudian sambungkan dengan kabel GPIO antara kedua perangkat. Sebagai contoh pada kedua gambar di bawah ini.
2. Unduh library dari github dengan alamat :
https://github.com/Wei1234c/SX127x_driver_f_or_MicroPython_on_ESP8266
Library tersebut akan digunakan untuk beberapa fungsi pada program LoRa gateway. Pada gambar di bawah ini adalah struktur dari berkas yang digunakan pada Raspberry Pi.
3. Ada beberapa parameter yang perlu disesuaikan dalam library controller_rpi.py dan sx127x.py agar modul dapat bekerja pada Raspberry Pi. Untuk modifikasi berkas controller.py gunakan editor nano atau lainnya. Berikutnya hilangkan baris yang ditandai pada kode program 5. Program yang nantinya akan dicontohkan tidak memerlukan fungsi tersebut. Berikutnya sesuaikan pada parameter pengaturan pin yang digunakan PIN_ID_FOR_LORA_RESET = 17, PIN_ID_FOR_LORA_SS = 8, PIN_ID_SCK = 11. PIN_ID_MOSI = 10, PIN_ID_MISO = 9 dan PIN_ID_FOR_LORA_D100 = 25.
4. Berikutnya modifikasi berkas sx127x.py untuk menyesuaikan frekuensi yang digunakan yaitu 915MHz. Cari pada fungsi init dan ubah frekuensi 915E6.
LoRa Gateway
Seperti yang telah disampaikan sebelumnya, LoRa tidak berjalan di atas TCP / IP sehingga data dari node sensor tidak dapat langsung diterima oleh messaage broker. Solusinya adalah menyediakan fungsi untuk menerima data dan mengubah ke mekanisme publish-subscribe. Kode program ini bernama LoRa_gateway.py, dapat dilihat pada kode program 7.
Pada kode program 7 : baris kode 1-7 adalah inisialisasi library yang diperlukan. Pada baris 9-22 adalah inisialisasi dari parameter yang diterima dari node sensor. Parameter tersebut berisi topic, device, temp dan hum. Sedangkan isi parameter tersebut di dapat dari fungsi penerimaan data pada baris ke 38-40. Data-data device, temp dan hum selanjutnya diubah ke dalam format json pada baris ke 23-24. Berikutnya informasi topic dan data dalam bentuk json lain dikirim ke message broker pada alamat 192.168.1.1 port 1883 dengan fungsi pada baris 32-33.
0 on: "LoRa dalam Praktik Membangun IoT Middleware dengan Raspberry PI"