Bir LoRaWAN sensörü birkaç bayt gönderir, örneğin 01 0A 2B 64. Bir codec, bu baytların o sensör için ne anlama geldiğini bilir ve bunları temperature: 26.1 ve humidity: 50 gibi adlandırılmış değerlere dönüştürür. Hermetry, her uplink’i akışlarınıza ulaşmadan önce bir codec ile çözer.
Dört seçenek
| Seçenek | Görünen ad | Ne olur |
|---|---|---|
| Otomatik | Otomatik (üretici ve porta göre) | Hermetry, cihazın üreticisini ve çerçevenin FPort değerini talep eden codec’i seçer. Kendi codec’leriniz, kütüphanedekilere tercih edilir. |
| Yok | Yok (ham yük akışlara) | Çözme yapılmaz. Yük, raw anahtarı altında hex olarak gelir. Bir akışta kendiniz çözün. |
| Bir kütüphane codec’i | Adı | Hermetry ile birlikte gelen 106 codec’ten biri. Bkz. Codec kütüphanesi. |
| Kendi codec’iniz | Adı, Sizin olarak işaretli | Yayımladığınız bir codec, kimlik t.<name>. Bkz. Kendi codec’inizi yazın. |
Bir cihazın hangi codec’i kullandığı
Hem cihazın hem de profilinin bir codec ayarı vardır. Etkin codec şu sırayla belirlenir:
- Cihazın kendi seçimi, Otomatik değilse.
- Aksi halde profilin codec’i, Otomatik değilse.
- Aksi halde otomatik seçim.
Tüm cihazları aynı sensör olduğunda codec’i profilde ayarlayın; cihazda yalnızca istisnalar için ayarlayın.
Otomatik seçim nasıl çalışır
Bir DevEUI’nin ilk üç baytı, cihazın üreticisini (OUI’si) belirler. Her codec, işlediği üreticileri (OUI) ve FPort’ları listeler. Otomatik seçim, üretici listesinde cihazın OUI’sini bulunduran ve FPort listesinde çerçevenin FPort’unu içeren ilk codec’i alır (FPort listesi olmayan bir codec her portu alır). Önce kendi codec’leriniz, sonra kütüphane denenir.
Hiçbir codec cihazı talep etmezse, Yok durumunda olduğu gibi hiçbir şey çözülmez ve yük raw olarak gelir.
Çözülmüş bir mesajın görünümü
Bir codec tarafından çözülen bir uplink, şuna benzer bir cihaz mesajı olur:
{
"temperature": 26.1,
"humidity": 50,
"battery": 3012,
"lora.rssi": -97,
"lora.snr": 7.5,
"lora.gw_count": 2,
"lora.dr": 5,
"lora.freq": 868100000,
"lora.fcnt_up": 1342
}
lora.* anahtarları, profilin Radyo değerlerini ekle seçeneği açıkken eklenir. İç içe değerler noktalarla düzleştirilir (probe.temperature), en fazla 4 seviye derinlikte ve mesaj başına en fazla 64 anahtar. Adı lora.… olan bir codec değeri, ağ sunucusunun anahtarlarıyla çakışmaması için dev.lora.… olarak yeniden adlandırılır. Codec’in bildirdiği birimler, mesajın meta verileriyle birlikte taşınır.
Çözme başarısız olduğunda
Bir uplink, bir codec yüzünden asla başarısız olmaz:
| Durum | Sonuç |
|---|---|
| Hiçbir codec cihazı talep etmiyor | Yük raw (hex) olarak gelir. |
| Codec bu çerçeveyi tanımıyor | Yük raw olarak gelir. |
| Codec bir kısmını çözdü ve hata bildirdi | Çözülmüş değerler ve raw birlikte gelir. |
| Seçilen codec geri çekildi veya silindi | Cihaz otomatik seçime döner. |
raw, yükün en fazla 4.096 baytını hex olarak tutar.
Bir codec seçin
- Bir profil için: profilin LoRaWAN sekmesi, Codec, ardından Kaydet.
- Bir cihaz için: cihazın LoRaWAN sekmesi, Codec, ardından Kaydet.
- API ile eklerken:
codecId(auto,none, bir kütüphane kimliği veyat.kimliğiniz).
Hermetry, seçimi kaydettiğinizde denetler. Var olmayan veya geri çekilmiş bir codec reddedilir: Bu codec mevcut değil veya geri çekildi. Başka bir codec seçin ya da Otomatik seçin. (codec_choice_unknown).
Çözülmüş değerlerin gittiği yer
Çözülmüş anahtarlar, herhangi bir cihaz telemetrisi gibi akışlarınıza girer. Yalnızca bir akışın kaydettiği yerlerde saklanırlar; varsayılan kök akış her anahtarı saklar. Codec çıktı anahtarları çoğu zaman cihaz üreticisinin adlandırdığı biçimdedir. Bunları yeniden adlandırmak veya dönüştürmek için bkz. Çözülmüş değerleri düzenleme.
Codec’leri bulun
Cihazlar‘ı, ardından ⋯ menüsünü ve LoRaWAN codec’leri‘ni açın. Çekmece kütüphane codec’lerini ve sizinkileri listeler; herhangi bir codec’i bir yük ile sınamanıza olanak tanır. LoRaWAN codec’lerini görüntüleme iznine ihtiyacınız vardır.

