Cihazlar ve profiller
Cihaz, tek bir fiziksel nesnedir
Hangi ağlarda konuşursa konuşsun, bir cihazı bir kez oluşturursunuz. Hem Sigfox hem LoRaWAN modülü olan bir sayaç, tek bir cihazdır ve iki teknoloji bağlaması taşır — adı benzeşen iki ayrı cihaz değil.
Bu önemlidir, çünkü sonraki her şey cihaza bağlıdır: onu hangi profilin çözdüğü, hangi ölçümlerin birbirine ait olduğu, hangi geçmişin kime ait olduğu.
Teknoloji bağlamaları
Her bağlama, bir ağın cihazı tanıdığı kimliği tutar.
| Ağ | Tanımlayıcılar |
|---|---|
| Sigfox | Cihaz ID, PAC, cihaz tipi ID |
| LoRaWAN | DevEUI, AppKey |
Gelen mesaj cihazınıza bu tanımlayıcı üzerinden bağlanır; bu yüzden ağın kendi kayıtlarıyla birebir aynı olmalıdır. Bir yazım hatası hata vermez — mesaj yalnızca eşleşmeden gelir ve çözülemez.
Bağlamalar ayrıca gizli bilgiler tutar — şifreleme anahtarları, AppKey'ler. Bunlar şifrelenerek saklanır ve kaydettikten sonra bir daha gösterilmez. Bir bağlamayı düzenlerken gizli alanı boş bırakmak saklı değeri korur; yalnızca değiştirmek için yeniden yazarsınız.
Profiller üniteyi değil modeli tanımlar
Cihaz profili bir cihaz türünü tanımlar — üretici, model ve verisinin neye benzediği. Birbirinin aynı iki bin su sayacınız tek bir profili paylaşır.
Bir profil şunları taşır:
- Model alanları — bu modelin her ünitesinde, hangi radyo olursa olsun gereken anahtarlar.
- Teknolojiler — bu modelin konuştuğu radyolar; her biri kendi çözücüsü, kendi ayarları ve kendi gerekli anahtarlarıyla.
Böylece bir profil "bu sayacın bir Sigfox, bir de LoRaWAN sürümü var ve her biri şöyle çözülür" diyebilirken, ikisinde ortak olan alanlar bir kez tanımlanır.
Alan şeması
Her profil, üzerindeki bir cihazın hangi anahtarları doldurmak zorunda olduğunu, hangilerinin isteğe bağlı olduğunu ve her anahtarın düz bir öznitelik mi yoksa şifreli bir gizli bilgi mi olduğunu tanımlar.
Cihaz oluşturmayı denetlenebilir kılan şey budur. Bir Sigfox cihazını PAC'siz kaydetmeye çalışırsanız, sessizce hiç çözülmeyen bir cihaz yerine tam olarak hangi alanın eksik olduğunu söyleyen bir hata alırsınız.
Yerleşik alanlar dâhil her alan düzenlenebilir. Bir yerleşiği yeniden adlandırmak anlamını korur: Merkez, yeniden adlandırılmış bir alanın hâlâ "PAC" olduğunu bilir; böylece sağlama ve çözme çalışmaya devam eder.
Çözücüler
Çözücü, yük baytlarını adlandırılmış ölçümlere dönüştürür. Bir profilin teknolojisine bağlıdır; böylece o profildeki her cihaz aynı biçimde çözülür.
Üç türü vardır:
- Yok — yük geldiği gibi iletilir.
- Gramer — bildirimsel bir alan tanımı. Kod yok; olağan tercih budur.
- JavaScript — bir gramerin ifade edemeyeceği yükler için.
JavaScript çözücüler ağ ve dosya sistemi erişimi olmayan, bellek ve süre sınırlı bir sandbox içinde çalışır. Sonsuz döngüye giren bir çözücü, işleme hattını durdurmak yerine yalnızca o mesajı başarısız kılar.
Bir çözücü yazmak için bkz. Yükü çözün.
Telemetry ve meta
Bir çözücü iki grup döndürür ve bunlar hedefinize kadar ayrı kalır:
- telemetry — ölçümler:
index,unit,battery - meta — iletimle ilgili olan her şey:
seqNumber,rssi
Bilerek birleştirilmezler. Bir çözücü seqNumber değerini her ikisine de
koysaydı, birleştirme sessizce birini düşürürdü ve sonraki hiçbir adım bir ölçümü
bir radyo verisinden ayırt edemezdi.