Downlink, ağdan bir cihaza giden bir çerçevedir: örneğin bir sensör için yeni bir raporlama aralığı veya bir vana için “open”. Hermetry’de bir uygulama downlink’ini lora.downlink yöntemiyle bir komut olarak gönderirsiniz. Baytları cihaz üreticisinin belgelediği biçimde kendiniz sağlarsınız; Hermetry bunları adlandırılmış komutlardan oluşturmaz.
lora.downlink komutu
| Parametre | Zorunlu | Anlamı |
|---|---|---|
fPort | Evet | Uygulama portu, 1–223; cihaz üreticisinin belirttiği gibi |
data | Evet | Veri yükü onaltılık ("0100003C") veya base64 ("AQAAPA==") olarak; ikisi de aynı baytları verir. En fazla 1.024 karakter. |
confirmed | Hayır | true, cihazdan onay istemesi anlamına gelir. Varsayılan false. |
{
"method": "lora.downlink",
"params": { "fPort": 10, "data": "0100003C", "confirmed": false }
}
Eksik veya hatalı parametreli bir komut gönderilmez; kuyrukta süresi dolmuş olarak kalır.
Gönderin
lora.downlink diğer komutlar gibi bir komuttur, bu nedenle Cihazlara komut gönderme sayfasındaki genel kurallar geçerlidir.
Cihaz sayfasından: lora.downlink komutunu, cihazın LoRaWAN profilinin Commands kataloğuna sabit veya düzenlenebilir parametrelerle ve kimin gönderebileceğini belirleyen bir katmanla ekleyin. Ardından cihazın Commands sekmesinden gönderin. Eylem başına bir katalog girdisi (örneğin sabit baytlarıyla “Her 10 dakikada bir rapor ver”) ekibiniz için ham baytlardan daha kolaydır.
Ham yöntem olarak: katalog girdisi olmadan yalnızca sahipler bunu gönderebilir.
API üzerinden:
POST /tenant/<tenantId>/api/iot/devices/<deviceId>/rpc
Content-Type: application/json
{ "method": "lora.downlink", "params": { "fPort": 10, "data": "0100003C" }, "oneway": true, "persistent": true, "expiresInS": 86400 }
Bir akıştan: Send command bloğu, bir katalog komutunu mesajın cihazına gönderir.
Önerilen seçenekler:
- Tek yönlü: LoRaWAN cihazı bir komuta yanıt vermez; çift yönlü bir komut hiç gelmeyecek bir yanıtı bekler ve TIMEOUT ile sonuçlanır.
- Kalıcı, son kullanma tarihiyle: Class A cihaz bir süre gönderemeyebilir ve komut kuyrukta beklemelidir.
Ne zaman gider
| Sınıf | Zamanlama |
|---|---|
| A | Cihazın bir sonraki uplink’inde, RX1 veya RX2 penceresinde. Saatte bir rapor veren bir cihaz bunu en fazla bir saat sonra alır. |
| C | Hemen, RX2 kanalında, cihazı en son duyan ağ geçidi üzerinden; son uplink’i 15 dakikadan yeniyse. Aksi halde bir sonraki uplink’inde. |
Class A cihazın her uplink’inde yalnızca bir uygulama downlink’i gönderilir. Daha fazlası kuyrukta olduğunda, ağ sunucusu birçok cihazı kısa sürede yeniden göndermeye çağıran “more data pending” bayrağını ayarlar. Bkz. Cihaz sınıfları A ve C.
Boyut
Veri yükü, çıktığı penceredeki veri hızına ve cihaz için bekleyen tüm MAC komutlarıyla birlikte sığmalıdır:
| Veri hızı | Azami veri yükü |
|---|---|
| DR0–DR2 | 51 bayt |
| DR3 | 115 bayt |
| DR4–DR7 | 222 bayt |
- Class A: bu seferde sığmazsa, daha hızlı bir veri hızındaki bir uplink’i bekler. 222 bayttan büyük bir veri yükü hiç gönderilemez ve kuyrukta süresi dolmuş olarak kalır (
payload_too_large). - Class C: RX2 veri hızında (varsayılan DR0) gönderilir, dolayısıyla en fazla 51 bayt. Daha büyüğü kuyrukta süresi dolmuş olarak kalır.
Onaylı downlink’ler
"confirmed": true ile cihaz bir sonraki uplink’inde onaylar.
- Class A: ağ sunucusu, onay gelene kadar sonraki uplink’lerde yeniden gönderir; toplamda en fazla 3 gönderim (profil ayarı
maxRetries). - Class C: profilin Confirmed downlink: wait for the acknowledgement (seconds) süresini (varsayılan 60 sn) bekler, ardından yeni bir çerçeve sayacıyla yeniden gönderir; toplamda en fazla 3 gönderim.
- Son gönderimden sonra onay gelmezse, komut kuyrukta süresi dolmuş olarak kalır (
no_ack).
Onaylı downlink’leri yalnızca önemli eylemler için kullanın. Her gönderim ağ geçidinin görev döngüsünü kullanır.
Sonuçlar
| Ne oldu | Komut durumu |
|---|---|
| Bir ağ geçidi downlink’i iletti | DELIVERED; tek yönlü bir komut ardından SUCCESSFUL olur |
| Gönderilmeden önce komutun son kullanma tarihi geçti | EXPIRED |
| Hatalı parametreler veya çok büyük veri yükü, hiç gönderilmeden önce | EXPIRED |
Onaylı bir downlink için komutun durumu ilk iletimi izler. Onayın kendisi ve yeniden gönderimler çerçeve günlüğünde görünür.
Çerçeve günlüğü her downlink’i Downlink, Sent via gateway olarak, penceresi (RX1, RX2 veya RXC) ve FPort’uyla gösterir. Basics Station ağ geçidi başarısız iletimleri bildirmez; ağ geçidinin lora.gw.dn_unknown sayacı sonucu olmayan downlink’leri gösterir.
Sizin kendiniz göndermediğiniz downlink’ler
Ağ sunucusu ayrıca onaylı uplink’lerin onaylarını, join accept mesajlarını ve MAC komutlarını (ADR ve radyo ayarları) gönderir. Bunlar komut olarak görünmez. Bkz. ADR, veri hızları ve MAC komutları.

