Netwerk sunucusu, her cihazın radyo ayarlarını MAC komutlarıyla yönetir: alt bağlantılarda (downlink) taşınan kısa talimatlar ve üst bağlantılarda (uplink) taşınan yanıtlar. En önemlisi uyarlanabilir veri hızı (ADR). Bu sayfa, netwerk sunucusunun kendiliğinden ne yaptığını ve profilden bunu nasıl etkileyebileceğinizi açıklar.
Uyarlanabilir veri hızı (ADR)
Bir ağ geçidine yakın olan bir cihazın en yavaş, en uzun menzilli veri hızına ihtiyacı yoktur. ADR, onu daha hızlı bir veri hızına ve daha düşük bir iletim gücüne geçirir; bu, pilden ve hava süresinden tasarruf sağlar ve diğer cihazlar için yer açar.
ADR, aşağıdaki iki koşul da doğru olduğunda çalışır:
- Cihazın profilinde Uyarlanabilir veri hızı (ADR) açıktır (varsayılan olarak açıktır).
- Cihaz kendisi uplink mesajlarında ADR ister (çoğu cihaz ister).
Bir değişikliğin nasıl karar verildiği
- Her uplink için netwerk sunucusu, onu duyan tüm ağ geçitleri arasındaki en iyi SNR değerini not eder.
- 20 uplink biriktiğinde, bu 20 uplink arasındaki en iyi SNR değerini alır.
- Marj = o SNR − mevcut veri hızının gerektirdiği SNR − kurulum marjı (varsayılan 10 dB, API ayarı
installationMarginDb, 0–30). - Her tam 3 dB marj bir adımdır. Adımlar önce veri hızını artırır, profilin En yüksek veri hızı (DR) değerine kadar; kalan adımlar her biri 2 dB olmak üzere iletim gücünü düşürür.
- Netwerk sunucusu bir cihazın gücünü asla artırmaz ve veri hızını bulunduğu değerin altına asla düşürmez.
- Değişiklik bir LinkADRReq olarak gönderilir. Cihaz kabul ettiğinde geçmiş sıfırlanır ve sonraki 20 uplink için yeni bir değişiklik yapılmaz.
Bir değişiklik kabul edildiğinde, cihazın lora.dr ve lora.txPower öznitelikleri güncellenir.
Profil ayarları
| Alan | Varsayılan | Etkisi |
|---|---|---|
| Uyarlanabilir veri hızı (ADR) | Açık | Kapalı: netwerk sunucusu hiçbir zaman ADR değişikliği göndermez. |
| En düşük veri hızı (DR) | DR0 | ADR’nin koruduğu alt sınır. |
| En yüksek veri hızı (DR) | DR5 | ADR’nin cihazları ulaştırdığı üst sınır. |
Hareket eden cihazlar (izleyiciler) için ADR’yi kapatın: sinyalleri 20 uplinkten daha hızlı değişir.
Netwerk sunucusunun kendiliğinden yaptığı diğer işlemler
| İşlem | Ne zaman |
|---|---|
| RX1 gecikmesini ayarlar (RXTimingSetupReq) | Cihazın RX1 gecikmesi profildekinden farklı olduğunda, örneğin 1 s ile başlayan bir ABP cihazında. Cihaz onaylayana kadar tekrarlanır. |
| RX1 ofsetini ve RX2’yi ayarlar (RXParamSetupReq) | Cihazın değerleri profildekilerden farklı olduğunda. |
| Pil ve bağlantı marjını ister (DevStatusReq) | Her katılımdan sonra ve ardından her 24 saatte bir (API ayarı devStatusIntervalH, 0 = hiçbir zaman). |
| Toplu görev döngüsü sınırı ayarlar (DutyCycleReq) | Yalnızca API ayarı maxDutyCycle 0’ın üzerindeyse. |
| Bağlantı kontrollerini yanıtlar (LinkCheckAns) | Cihaz istediğinde; ona marjı ve kaç ağ geçidinin duyduğunu bildirir. |
| Zaman isteklerini yanıtlar (DeviceTimeAns) | Cihaz ağ zamanını istediğinde. |
Radyo değerlerini ekle açık olduğunda, cihazın pil ve marj bilgisi bir sonraki mesajla telemetri olarak gelir: lora.battery_level (0–100 %, harici güçle çalışan cihazlar için veya bilinmediğinde yoktur) ve lora.margin_db (cihazın ölçtüğü bağlantı marjı, −32 ile 31 dB arası).
MAC komutları nasıl iletilir
- Önce yanıtlar, ardından bekleyen istekler, alt bağlantının başlığında gönderilir (en fazla 15 bayt). Sığandan fazlası bekliyorsa komutlar bunun yerine FPort 0 üzerinden gider ve uygulama alt bağlantınız bir sonraki pencereye kadar bekler.
- Bekleyen bir istek, cihaz yanıt verene kadar her alt bağlantıyla yeniden gönderilir; en fazla 3 kez, sonra düşürülür.
- Bir MAC yanıtı gerektiğinde veya cihaz ADR için onay istediğinde (ADRACKReq), netwerk sunucusu uygulama verisi olmasa bile bir uplinki yanıtlar.
- MAC komutları uygulama alt bağlantısını uzun süre engellemez: ikisi de sığdığında ikisi de gönderilir.
Desteklenen MAC komutları (LoRaWAN 1.0.x)
| Komut | Yön | Destekleniyor |
|---|---|---|
| LinkCheckReq / LinkCheckAns | Cihaz sorar, ağ yanıtlar | Evet |
| LinkADRReq / LinkADRAns | Ağ sorar, cihaz yanıtlar | Evet |
| DutyCycleReq / DutyCycleAns | Ağ sorar | Evet (yalnızca maxDutyCycle > 0 ise) |
| RXParamSetupReq / RXParamSetupAns | Ağ sorar | Evet |
| DevStatusReq / DevStatusAns | Ağ sorar | Evet |
| NewChannelReq / NewChannelAns | Ağ sorar | Yanıtlar anlaşılır |
| RXTimingSetupReq / RXTimingSetupAns | Ağ sorar | Evet |
| DlChannelReq / DlChannelAns | Ağ sorar | Yanıtlar anlaşılır |
| DeviceTimeReq / DeviceTimeAns | Cihaz sorar, ağ yanıtlar | Evet |
| TxParamSetupReq | Ağ sorar | EU868’de kullanılmaz |
| Sınıf B komutları (PingSlot, Beacon) | — | Desteklenmiyor |
| LoRaWAN 1.1 komutları (Rekey, Rejoin, ResetInd) | — | Desteklenmiyor |
Bir uplinkte bilinmeyen bir komut, LoRaWAN belirtiminin gerektirdiği gibi, o uplinkteki kalan MAC komutlarının okunmasını durdurur.

