1. Pengenalan LoRaWAN
LoRaWAN (Long Range Wide Area Network) adalah protokol komunikasi LPWAN (Low Power Wide Area Network) yang dirancang untuk menghubungkan perangkat IoT baterai rendah ke internet secara nirkabel pada jarak yang sangat jauh. LoRaWAN dibangun di atas teknologi modulasi LoRa yang dikembangkan oleh Semtech Corporation.
LoRaWAN beroperasi di frekuensi ISM (Industrial, Scientific, and Medical) yang tidak memerlukan lisensi, menjadikannya solusi yang sangat ekonomis untuk deployment IoT skala besar. Di Indonesia, frekuensi yang umum digunakan adalah 920-923 MHz sesuai regulasi dari KOMINFO.
Perbedaan LoRa dan LoRaWAN
| Aspek | LoRa | LoRaWAN |
|---|---|---|
| Definisi | Teknik modulasi radio (PHY layer) | Protokol jaringan lengkap (MAC layer + arsitektur) |
| Layer OSI | Physical Layer (Layer 1) | MAC Layer (Layer 2) dan Network Layer |
| Pengembang | Semtech Corporation | LoRa Alliance |
| Fungsi | Mengubah sinyal menjadi chirp spread spectrum | Menentukan bagaimana perangkat berkomunikasi dalam jaringan |
| Topologi | Point-to-point | Star-of-stars (hierarchical) |
| Keamanan | Tidak ada enkripsi built-in | AES-128 encryption end-to-end |
Karakteristik Utama LoRaWAN
| Parameter | Spesifikasi |
|---|---|
| Jangkauan | 2-15 km (urban), hingga 30+ km (rural/line-of-sight) |
| Data Rate | 0.3 kbps - 50 kbps (tergantung Spreading Factor) |
| Payload | Hingga 243 bytes per transmisi |
| Konsumsi Daya | Sangat rendah, baterai bisa bertahan 5-10 tahun |
| Frekuensi | ISM band: 868 MHz (EU), 915 MHz (US), 920-923 MHz (ID) |
| Topologi | Star-of-stars |
| Enkripsi | AES-128 |
| Duplex | Half-duplex |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β PERBANDINGAN TEKNOLOGI LPWAN β β β β Teknologi β Range β Data Rate β Daya β Biaya β β ββββββββββββββΌββββββββββββΌββββββββββββΌβββββββββΌββββββββββ β β LoRaWAN β 2-15 km β 0.3-50 kbpsβ Rendahβ Rendah β β NB-IoT β 1-10 km β 200 kbps β Sedang β Sedang β β Sigfox β 3-50 km β 0.1 kbps β Rendahβ Berlangganan β β Zigbee β 100m β 250 kbps β Rendahβ Rendah β β WiFi β 50m β Mbps β Tinggi β Rendah β β BLE β 30m β 1 Mbps β Rendahβ Rendah β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
LoRaWAN ideal untuk aplikasi yang membutuhkan jangkauan jauh, konsumsi daya rendah, dan data rate kecil β seperti sensor pertanian, smart city, monitoring lingkungan, dan asset tracking. Jika Anda butuh bandwidth tinggi atau latency rendah, gunakan WiFi atau cellular.
2. Arsitektur Jaringan LoRaWAN
Arsitektur LoRaWAN menggunakan topologi star-of-stars yang terdiri dari empat komponen utama: End Devices, Gateway, Network Server, dan Application Server. Setiap komponen memiliki peran spesifik dalam rantai komunikasi data.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β ARSITEKTUR LoRaWAN β β β β ββββββββββββ LoRa ββββββββββββ IP βββββββββββββββββ β β β End βββββββββββ Gateway ββββββββββ Network Serverβ β β β Device 1 β Radio β (GW-1) β TCP/ β β β β ββββββββββββ ββββββββββββ MQTT β βββββββββββ β β β β β ADR β β β β ββββββββββββ LoRa ββββββββββββ IP β β Engine β β β β β End βββββββββββ Gateway ββββββββββ βββββββββββ β β β β Device 2 β Radio β (GW-2) β TCP/ β β β β ββββββββββββ ββββββββββββ MQTT βββββββββ¬ββββββββ β β β β β ββββββββββββ LoRa ββββββββββββ β β β β End βββββββββββ Gateway β βΌ β β β Device 3 β Radio β (GW-3) β βββββββββββββββββ β β ββββββββββββ ββββββββββββ β Application β β β β Server β β β β (Dashboard, β β β β Database) β β β βββββββββββββββββ β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Komponen Utama Arsitektur
| Komponen | Fungsi | Protokol |
|---|---|---|
| End Device | Sensor/aktuator yang mengirim data via LoRa radio | LoRa (PHY) |
| Gateway | Meneruskan data dari end device ke network server via IP backhaul | LoRa + TCP/IP |
| Network Server | Manajemen jaringan, deduplikasi, ADR, routing | TCP/IP, MQTT |
| Application Server | Memproses data aplikasi, penyimpanan, visualisasi | HTTP, MQTT, WebSocket |
Alur Komunikasi Uplink
- End Device mengirim data via radio LoRa pada channel tertentu
- Satu atau lebih Gateway menerima sinyal LoRa
- Gateway meneruskan paket ke Network Server via IP backhaul (Ethernet, WiFi, atau cellular)
- Network Server melakukan deduplikasi (jika beberapa gateway menerima paket yang sama), verifikasi integritas, dan meneruskan ke Application Server
- Application Server memproses data sesuai logika bisnis
Alur Komunikasi Downlink
- Application Server mengirim perintah ke Network Server
- Network Server memilih gateway terbaik dan menjadwalkan transmisi
- Gateway mengirim data ke end device pada window penerimaan yang tepat
- End Device menerima data dan mengeksekusi perintah
3. Gateway LoRaWAN
Gateway LoRaWAN berfungsi sebagai jembatan antara jaringan LoRa (radio) dan jaringan IP (internet). Gateway menerima paket LoRa dari end device dan meneruskannya ke network server menggunakan protokol berbasis IP.
Jenis Gateway
| Tipe | Kapasitas | Contoh Hardware | Cocok Untuk |
|---|---|---|---|
| Indoor (Single Channel) | 1-8 channel | Raspberry Pi + RAK2245 | Development, testing |
| Indoor (Multi Channel) | 8 channel | Kerlink iFemtoCell | Indoor coverage kecil |
| Outdoor (Standard) | 8 channel | RAK7249, Kerlink Wirnet | Area coverage menengah |
| Outdoor (Macro) | 16-64 channel | Multitech Conduit | Coverage luas, high density |
Setup Gateway dengan Raspberry Pi
Berikut adalah cara membuat LoRa gateway menggunakan Raspberry Pi dan module RAK2245:
# ============================================
# Setup LoRaWAN Gateway dengan Raspberry Pi
# Hardware: Raspberry Pi 4 + RAK2245 HAT
# ============================================
# 1. Update sistem Raspberry Pi
sudo apt update && sudo apt upgrade -y
# 2. Enable SPI interface
sudo raspi-config
# Pilih: Interface Options β SPI β Enable
# 3. Install dependencies
sudo apt install git cmake liblgpio-dev -y
# 4. Clone packet forwarder dari RAK
git clone https://github.com/RAKWireless/rak_common_for_gateway.git
cd rak_common_for_gateway
# 5. Install untuk RAK2245
sudo ./install.sh
# 6. Edit konfigurasi gateway
sudo nano /opt/ttn-gateway/packet_forwarder/lora_pkt_fwd/global_conf.json
# Konfigurasi umum:
{
"gateway_conf": {
"gateway_ID": "AABBCCDD11223344",
"server_address": "eu1.cloud.thethings.network",
"serv_port_up": 1700,
"serv_port_down": 1700,
"fake_gps": false,
"ref_latitude": -6.2088,
"ref_longitude": 106.8456,
"ref_altitude": 10
}
}
# 7. Jalankan packet forwarder
cd /opt/ttn-gateway/packet_forwarder/lora_pkt_fwd
sudo ./lora_pkt_fwd
# 8. Buat service agar otomatis start
sudo systemctl enable ttn-gateway
sudo systemctl start ttn-gateway
Di Indonesia, LoRaWAN menggunakan frekuensi 920-923 MHz sesuai KOMINFO. Pastikan konfigurasi gateway menggunakan region AS923 (sub-band yang sesuai). Penggunaan frekuensi yang salah dapat melanggar regulasi dan mengganggu komunikasi lain.
Gateway Placement Best Practices
- Tinggi antenna: Semakin tinggi, semakin jauh jangkauan. Idealnya di rooftop gedung tinggi
- Line of Sight: Hindari penghalang besar seperti gedung tinggi di antara gateway dan area target
- Koaksial kabel: Gunakan kabel berkualitas tinggi dengan loss minimal untuk mengurangi attenuasi
- Antenna gain: Gunakan antenna omni-directional 5-8 dBi untuk coverage area
- Grounding: Untuk outdoor, gunakan lightning arrester dan proper grounding
4. End Device / Node
End device (atau node) adalah perangkat ujung yang berisi sensor atau aktuator dan berkomunikasi dengan gateway melalui radio LoRa. End device umumnya memiliki konsumsi daya sangat rendah sehingga bisa bertahan bertahun-tahun dengan baterai.
Modul LoRa Populer
| Modul | Chipset | Freq | Interface | Harga (est.) |
|---|---|---|---|---|
| SX1276 (Ra-02) | Semtech SX1276 | 433/868/915 MHz | SPI | Rp 35.000 |
| RFM95W | Semtech SX1276 | 868/915 MHz | SPI | Rp 50.000 |
| RAK4200 | STM32 + SX1276 | 868/915 MHz | UART | Rp 120.000 |
| RAK4631 | nRF52840 + SX1262 | 868/915 MHz | SPI | Rp 250.000 |
| Heltec WiFi LoRa 32 | ESP32 + SX1276 | 868/915 MHz | SPI + WiFi | Rp 180.000 |
Contoh: End Device dengan ESP32 + LoRa
// ============================================
// LoRaWAN End Device - ESP32 + SX1276
// Library: MCCI LoRaWAN LMIC library
// ============================================
#include <lmic.h>
#include <hal/hal.h>
#include <SPI.h>
// LoRaWAN keys dari TTN (The Things Network)
static const u1_t PROGMEM APPEUI[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
static const u1_t PROGMEM DEVEUI[8] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };
static const u1_t PROGMEM APPKEY[16] = { /* 16 bytes dari TTN console */ };
void os_getArtEui(u1_t* buf) { memcpy_P(buf, APPEUI, 8); }
void os_getDevEui(u1_t* buf) { memcpy_P(buf, DEVEUI, 8); }
void os_getDevKey(u1_t* buf) { memcpy_P(buf, APPKEY, 16); }
// Pin mapping untuk ESP32 + LoRa
const lmic_pinmap lmic_pins = {
.nss = 5,
.rxtx = LMIC_UNUSED_PIN,
.rst = 14,
.dio = {26, 33, 32},
};
void onEvent(ev_t ev) {
switch(ev) {
case EV_JOINED:
Serial.println("Device joined network!");
LMIC_setLinkCheckMode(0);
break;
case EV_TXCOMPLETE:
Serial.println("Transmit complete");
if (LMIC.txrxFlags & TXRX_ACK) {
Serial.println("Received ACK");
}
if (LMIC.dataLen > 0) {
Serial.printf("Received %d bytes\n", LMIC.dataLen);
}
break;
}
}
void setup() {
Serial.begin(115200);
os_init();
LMIC_reset();
LMIC_startJoining();
}
void loop() {
// Kirim data sensor setiap 60 detik
static unsigned long lastSend = 0;
if (millis() - lastSend > 60000) {
// Baca sensor
float temperature = readTemperature();
float humidity = readHumidity();
// Encode payload (2 bytes suhu + 2 bytes kelembaban)
uint8_t payload[4];
int16_t tempInt = (int16_t)(temperature * 100);
uint16_t humInt = (uint16_t)(humidity * 100);
payload[0] = tempInt >> 8;
payload[1] = tempInt & 0xFF;
payload[2] = humInt >> 8;
payload[3] = humInt & 0xFF;
// Kirim pada port 1
LMIC_setTxData2(1, payload, sizeof(payload), 0);
lastSend = millis();
}
os_runloop_once();
}
5. Kelas LoRaWAN: A, B, dan C
LoRaWAN mendefinisikan tiga kelas operasi yang berbeda untuk menyeimbangkan antara konsumsi daya dan latensi. Pemilihan kelas sangat bergantung pada kebutuhan aplikasi.
Class A β Bi-directional (Lowest Power)
Class A adalah kelas default dan paling hemat daya. Setelah mengirim data (uplink), device membuka dua window penerimaan singkat (RX1 dan RX2) untuk menerima downlink. Di luar window ini, device dalam mode sleep.
Class A - Bi-directional
βββββββββββββββββββββββ
End Device Gateway
β β
β ββ Uplink βββββββββ β β Device mengirim data
β β
β (RX1 Delay: 1 detik) β
β βββ Downlink βββββββ β β Window penerimaan #1
β β
β (RX2 Delay: 2 detik) β
β βββ Downlink βββββββ β β Window penerimaan #2
β β
β ββ SLEEP βββββββββββ β β Device sleep sampai
β ββ (sangat hemat) ββ β transmisi berikutnya
β β
β ββ Uplink βββββββββ β β Siklus berulang
β ... β
β
Konsumsi daya paling rendah
β Downlink hanya setelah uplink
β Latensi tinggi untuk downlink
Class B β Scheduled Receive Windows
Class B menambahkan beacon dan ping slots terjadwal sehingga device secara periodik membuka jendela penerimaan. Ini memungkinkan network server mengirim downlink kapan saja dalam slot yang dijadwalkan.
Class B - Scheduled Receive
ββββββββββββββββββββββββββ
End Device Gateway
β β
β βββ Beacon ββββββββ β β Beacon periodik (setiap 128s)
β β
β ββ Uplink βββββββββ β
β β
β βββ Ping Slot 1 ββ β β Jendela penerimaan terjadwal
β βββ Ping Slot 2 ββ β
β βββ Ping Slot 3 ββ β
β βββ Ping Slot N ββ β
β β
β (sleep di antara slot)β
β β
β
Downlink dapat dijadwalkan
β
Latensi lebih rendah dari Class A
β Konsumsi daya lebih tinggi
β Membutuhkan sinkronisasi beacon
Class C β Always Listening
Class C adalah kelas dengan latensi terendah. Device selalu membuka jendela penerimaan kecuali saat mengirim data. Cocok untuk perangkat yang memiliki pasokan listrik terus-menerus.
Class C - Always Listening
ββββββββββββββββββββββββββ
End Device Gateway
β β
β ββ RX WINDOW OPEN ββ β β Selalu mendengarkan
β βββββββββββββββββββββ β
β βββ Downlink βββββββ β β Kapan saja gateway kirim
β βββββββββββββββββββββ β
β ββ Uplink βββββββββ β β Hanya saat perlu kirim
β βββββββββββββββββββββ β
β βββ Downlink βββββββ β
β βββββββββββββββββββββ β
β
Latensi sangat rendah
β
Downlink kapan saja
β Konsumsi daya sangat tinggi
β Tidak cocok untuk baterai
Perbandingan Ketiga Kelas
| Fitur | Class A | Class B | Class C |
|---|---|---|---|
| Downlink latency | Tinggi (setelah uplink) | Sedang (menunggu ping slot) | Rendah (kapan saja) |
| Konsumsi daya | π’ Paling rendah | π‘ Sedang | π΄ Paling tinggi |
| Uplink | Kapan saja | Kapan saja | Kapan saja |
| Downlink | Setelah uplink saja | Di ping slot terjadwal | Kapan saja |
| Contoh aplikasi | Sensor suhu, smart agriculture | Smart metering, lamp control | Actuator, industrial control |
| Baterai? | β Ideal | β Bisa | β Butuh power supply |
6. Adaptive Data Rate (ADR)
Adaptive Data Rate (ADR) adalah mekanisme LoRaWAN yang secara otomatis mengoptimalkan data rate dan power output end device berdasarkan kualitas link antara device dan gateway. Tujuannya untuk memaksimalkan kapasitas jaringan dan menghemat daya.
Cara Kerja ADR
- Pengumpulan Data: Network server menerima informasi RSSI (Received Signal Strength Indicator) dan SNR (Signal-to-Noise Ratio) dari setiap transmisi uplink
- Evaluasi Link: Server menghitung apakah data rate bisa dioptimalkan β jika sinyal sangat kuat, data rate bisa dinaikkan atau power diturunkan
- Perintah ADR: Server mengirim perintah ke end device melalui downlink untuk mengubah SF (Spreading Factor), bandwidth, atau TX power
- Adaptasi: Device menerapkan parameter baru pada transmisi berikutnya
ADR - Adaptive Data Rate ββββββββββββββββββββββββ Scenario: Device dekat gateway (sinyal kuat) ββββββββββββββββββββββββββββββββββββββββββββββ Awal: SF12 (250 bps) β BW 125kHz β TX Power 14 dBm ADR ON: SF7 (5470 bps) β BW 125kHz β TX Power 2 dBm ββββββββββββββββββββββββββββββββββββββββββββββ Result: 22x lebih cepat! Daya hemat 12 dBm! Scenario: Device jauh dari gateway (sinyal lemah) ββββββββββββββββββββββββββββββββββββββββββββββ Awal: SF7 (5470 bps) β Sering lost ADR ON: SF12 (250 bps) β BW 125kHz β TX Power 14 dBm ββββββββββββββββββββββββββββββββββββββββββββββ Result: Jangkauan meningkat, reliability naik βββββββββββββββββββββββββββββββββββββββββββ β Spreading Factor β Data Rate β Range β β SF7 β 5470 bps β Pendek β β SF8 β 3125 bps β β β β SF9 β 1760 bps β β β β SF10 β 980 bps β β β β SF11 β 440 bps β β β β SF12 β 250 bps β Terjauh β βββββββββββββββββββββββββββββββββββββββββββ
Kapan ADR Aktif vs Nonaktif?
| Kondisi | ADR | Alasan |
|---|---|---|
| Device posisi tetap (static) | β ON | Channel conditions stabil, bisa dioptimasi |
| Device bergerak (mobile) | β OFF | Channel berubah terus, perlu SF tinggi untuk reliability |
| Dekat gateway (<1 km) | β ON | Bisa menggunakan SF rendah, hemat daya |
| Jauh dari gateway (>5 km) | β OFF | Perlu TX power maksimum dan SF tinggi |
| High density network | β ON | Mengoptimalkan penggunaan channel, hindari collision |
7. Keamanan LoRaWAN
Keamanan adalah aspek kritis dalam LoRaWAN. Protokol ini menggunakan AES-128 bit encryption pada dua level untuk memastikan kerahasiaan dan integritas data dari end device hingga application server.
Dua Tingkat Enkripsi
| Level | Key | Fungsi | Lokasi |
|---|---|---|---|
| Network Level | NwkSKey | Memverifikasi integritas pesan (MIC) dan autentikasi jaringan | End Device β Network Server |
| Application Level | AppSKey | Mengenkripsi payload data aplikasi (kerahasiaan) | End Device β Application Server |
LoRaWAN Security Layers ββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββ β Application Payload β β Data sensor β (encrypted dengan AppSKey) β β Kerahasiaan βββββββββββββββββββββββββββββββββββββββββββ€ β LoRaWAN MAC Header β β Metadata βββββββββββββββββββββββββββββββββββββββββββ€ β MIC (Message Integrity Code) β β Integritas β (generated dengan NwkSKey) β β Autentikasi βββββββββββββββββββββββββββββββββββββββββββ€ β LoRa PHY Header β β Radio info βββββββββββββββββββββββββββββββββββββββββββ OTAA Join Process: ββββββββββββ ββββββββββββ βEnd Deviceβ βNetwork β β βββJoinReqβββServer β β β β β β ββJoinAcceptβ β β β β β β Derive: NwkSKey, AppSKey β ββββββββββββ ββββββββββββ
OTAA vs ABP Activation
| Metode | OTAA (Over-The-Air Activation) | ABP (Activation By Personalization) |
|---|---|---|
| Keamanan | π’ Lebih aman β keys diturunkan setiap join | π‘ Kurang aman β keys statis |
| Proses | Device mengirim JoinReq, server membalas JoinAccept | Keys dikonfigurasi langsung di device |
| Key | AppKey β derive NwkSKey & AppSKey | NwkSKey & AppSKey langsung di-set |
| Re-join | Bisa re-join ke server berbeda | Tidak bisa pindah server tanpa re-flash |
| Rekomendasi | β Untuk production | β οΈ Untuk testing/development saja |
- Selalu gunakan OTAA untuk deployment production
- Jangan pernah menyimpan AppKey di source code yang bisa diakses publik
- Gunakan LoRaWAN 1.1 untuk keamanan yang lebih baik (separate keys untuk join dan session)
- Rotasi keys secara berkala untuk perangkat kritis
- Monitor network server untuk aktivitas mencurigakan
8. Implementasi LoRaWAN
Langkah-langkah Deployment LoRaWAN
1. Pilih Network Server
| Platform | Tipe | Gratis? | Fitur |
|---|---|---|---|
| The Things Network (TTN) | Cloud (shared) | β Ya (fair use) | Komunitas besar, integrasi banyak |
| The Things Industries (TTI) | Cloud (dedicated) | π° Berbayar | SLA, multi-tenant, enterprise |
| ChirpStack | Self-hosted | β Open Source | Fleksibel, full control, MQTT/HTTP integration |
| Actility ThingPark | Cloud/Hybrid | π° Berbayar | Enterprise, carrier-grade |
2. Register Device di TTN
# Langkah-langkah registrasi di The Things Network:
# 1. Buat akun di https://console.cloud.thethings.network
# 2. Buat Application baru
# 3. Generate DevEUI (atau gunakan dari hardware)
# 4. Register End Device:
# - Frequency plan: AS923 (for Indonesia)
# - LoRaWAN version: 1.0.3 (atau 1.1)
# - Activation: OTAA
# - Generate AppEUI dan AppKey
# 5. Copy keys ke firmware device
# TTN MQTT Configuration untuk menerima data:
# Broker: eu1.cloud.thethings.network
# Port: 1883 (MQTT) / 8883 (MQTTS)
# Username: your-app-name@ttn
# Password: NNSXS.XXXXXXXXXXX (API key dari TTN console)
# Topic: v3/your-app-name@ttn/devices/your-device-id/up
3. Integrasi dengan Application Server
// ============================================
// Node.js: Menerima data LoRaWAN dari TTN via MQTT
// ============================================
const mqtt = require('mqtt');
// Koneksi ke TTN MQTT broker
const client = mqtt.connect('mqtts://eu1.cloud.thethings.network:8883', {
username: 'my-app@ttn',
password: 'NNSXS.XXXXXXXXXXXXXXX'
});
client.on('connect', () => {
console.log('Connected to TTN MQTT broker');
// Subscribe ke uplink topic
client.subscribe('v3/my-app@ttn/devices/+/up');
});
client.on('message', (topic, message) => {
const data = JSON.parse(message.toString());
const deviceId = data.end_device_ids.device_id;
// Decode payload
const rawPayload = Buffer.from(data.uplink_message.frm_payload, 'base64');
// Parse sensor data (contoh: 2 byte suhu + 2 byte kelembaban)
const temperature = rawPayload.readInt16BE(0) / 100;
const humidity = rawPayload.readUInt16BE(2) / 100;
console.log(`Device: ${deviceId}`);
console.log(`Suhu: ${temperature}Β°C`);
console.log(`Kelembaban: ${humidity}%`);
console.log(`RSSI: ${data.uplink_message.rx_metadata[0].rssi} dBm`);
console.log(`SNR: ${data.uplink_message.rx_metadata[0].snr} dB`);
console.log('---');
// Simpan ke database
saveToDatabase({
device: deviceId,
temperature,
humidity,
timestamp: new Date(),
rssi: data.uplink_message.rx_metadata[0].rssi,
snr: data.uplink_message.rx_metadata[0].snr
});
});
9. Troubleshooting Umum
| Masalah | Penyebab | Solusi |
|---|---|---|
| Device tidak bisa join | Keys salah, frekuensi beda | Periksa AppEUI, AppKey, DevEUI di TTN console. Pastikan frequency plan AS923 |
| Packet loss tinggi | Jarak terlalu jauh, obstacle | Tambah gateway, gunakan SF lebih tinggi, naikkan antenna |
| Data corrupt | Encoding/decoding salah | Pastikan payload format dan decoder di TTN cocok dengan firmware |
| Duty cycle exceeded | Terlalu sering kirim | Tambah interval transmisi minimal 60 detik, cek regulasi region |
| Gateway offline | Internet putus, power issue | Cek backhaul internet, pastikan power supply stabil, cek log gateway |
| RSSI rendah | Jarak jauh, interference | Gunakan antenna external, naikkan posisi antenna, kurangi kabel coax |
Gunakan fitur Live Data di TTN Console untuk memantau traffic real-time. Perhatikan RSSI (idealnya > -100 dBm) dan SNR (idealnya > 0 dB) untuk mengevaluasi kualitas link. Data yang hilang di uplink tapi diterima gateway biasanya masalah network server, bukan radio.
10. Quiz: Uji Pemahamanmu!
Setelah membaca tutorial di atas, jawablah 5 pertanyaan berikut untuk menguji pemahamanmu tentang LoRaWAN Protocol: