Bir OTAA cihazının, ağ sunucusu verilerini kabul etmeden önce ağa katılması (join) gerekir. Bu sayfa bir katılma isteğini her kontrol aşamasından geçirerek izler; böylece başarısız bir katılmanın nerede durduğunu katılma durumundan veya çerçeve günlüğünden görebilirsiniz.
Adımlar
- Cihaz bir katılma isteği gönderir. İstek JoinEUI, DevEUI, DevNonce (cihazın seçtiği bir sayı) ve AppKey ile hesaplanan bir bütünlük kodu (MIC) içerir.
- Ağ geçitleri isteği iletir. Birden fazla ağ geçidinden gelen kopyalar, diğer uplink’lerde olduğu gibi birleştirilir.
- DevEUI aranır. Ağ sunucusu DevEUI’yi platform genelindeki dizinde arar.
- Hiçbir yerde kayıtlı değilse: profillerinizden biri eşleştirme modundaysa ve istek o profilin ortak AppKey’iyle eşleşiyorsa, eşleştirme devreye girer (bkz. Eşleştirme modu). Aksi halde istek Bilinmeyen DevEUI olarak reddedilir.
- Başka bir kuruluşta kayıtlıysa: Başka bir ağın cihazı olarak reddedilir. Bu cihaz hakkında başka bilgi edinilmez.
- Cihaz kaydı kontrol edilir.
- Katılma isteği gönderen bir ABP cihazı reddedilir (ABP cihazı katılma isteği gönderdi).
- Eşleştirme modunda tutulan bir cihaz reddedilir (Onay bekleniyor).
- Anahtarı olmayan bir cihaz reddedilir (Kayıtlı AppKey yok).
- JoinEUI karşılaştırılır ve saklanan değerle eşleşmezse istek reddedilir; cihaz herhangi bir JoinEUI’yi kabul ediyorsa bu kontrol atlanır (Katılma reddedildi: başka JoinEUI).
- Bütünlük kodu AppKey ile kontrol edilir (cihazın kendi anahtarı veya eşleştirmeyle eklenen cihazlar için profilin ortak anahtarı). Uyuşmazlık reddedilir (Katılma reddedildi: yanlış AppKey?).
- DevNonce kontrol edilir (aşağıya bakın). Daha önce kullanılmış bir değer reddedilir (Katılma reddedildi: DevNonce daha önce kullanıldı).
- Oturum oluşturulur. Ağ sunucusu, kendi ağında boş bir cihaz adresi (DevAddr) seçer, iki oturum anahtarını türetir ve bunları şifreli olarak saklar. Yeni oturum, cihazın ilk uplink’ine kadar beklemede kalır.
- Katılma yanıtı gönderilir. Yanıt, isteğin ardından 5 saniye sonra (RX1, aynı kanal) veya 6 saniye sonra (RX2, 869.525 MHz, DR0) cihaza ulaşabilen en iyi ağ geçidi üzerinden gider. Yanıt cihaza adresini, profilinin RX1 gecikmesini (varsayılan 5 sn), RX1 veri hızı ofsetini, RX2 veri hızını ve beş ek EU868 kanalını bildirir.
- Cihaz, yeni oturumla ilk uplink’ini gönderir. Bundan sonra çerçeveleri kabul edilir.
Tüm kontroller geçtiğinde cihazın katılma rozeti Katıldı durumunu gösterir ve cihaza lora.devAddr ile lora.joinedAt öznitelikleri eklenir.
Her iki pencereye de ulaşabilecek ağ geçidi yoksa (hepsi çevrimdışı, devre dışı veya görev döngüsü bütçesi aşılmış), oturum oluşturulur ancak yanıt gönderilmez. Katılma rozeti bu durumda Katılma yanıtı gönderilmedi (zamanında ağ geçidi yok) der ve cihaz yeniden dener.
Reddedilen bir cihaz hiçbir yanıt almaz. LoRaWAN’da “katılma reddedildi” mesajı yoktur, bu nedenle cihaz daha sonra yeniden dener.
DevNonce kuralları
DevNonce, eski bir katılma isteğinin yeniden oynatılmasını engeller.
| LoRaWAN sürümü | Kural |
|---|---|
| 1.0.4 | Her DevNonce, son kabul edilen değerden büyük olmalıdır. |
| 1.0.2 ve 1.0.3 | Bir DevNonce daha önce kullanılmamış olmalıdır. Son 256 değer hatırlanır. |
Yeniden başlayıp DevNonce’unu yeniden 0’dan sayan (1.0.4) veya daha önce kullandığı bir değeri seçen (1.0.2, 1.0.3) cihaz, yeni bir değer kullanana kadar reddedilir. Cihaz için yeni bir AppKey ayarlamak, cihazın DevNonce geçmişini temizler.
Katılma durumları
Cihazın LoRaWAN sekmesi bir katılma rozeti gösterir:
| Rozet | Anlamı |
|---|---|
| Henüz katılmadı | Kayıtlı katılma ve oturum yok. |
| Katıldı | Son katılma kabul edildi veya cihazın etkin bir oturumu var. |
| Katılma reddedildi: yanlış AppKey? | Bütünlük kontrolü başarısız oldu. |
| Katılma reddedildi: DevNonce daha önce kullanıldı | Tekrar oynatma koruması DevNonce’u reddetti. |
| Katılma reddedildi: başka JoinEUI | JoinEUI, saklanan değerden farklı. |
| Katılma yanıtı gönderilmedi (zamanında ağ geçidi yok) | Tüm kontroller geçti, ancak hiçbir ağ geçidi yanıtı gönderemedi. |
| Kayıtlı AppKey yok | Cihazın kontrol edilecek bir anahtarı yok. |
| Onay bekleniyor | Eşleştirme modu ile eklendi, henüz onaylanmadı. |
| ABP cihazı: katılmaz | Bir ABP cihazı katılma isteği gönderdi. |
| Katılma reddedildi (neden) | Kodu ile birlikte diğer tüm redler. |
API üzerinden cihaz listesi, joined, refused veya never değerleriyle joinState filtresini alır.
Oturumu sıfırla
Cihazın LoRaWAN sekmesindeki Oturumu sıfırla, cihazın mevcut oturumunu sonlandırır. Cihaz yeniden katılana kadar uplink’leri reddedilir.
Cihaz fabrika ayarlarına döndürüldükten veya anahtarları değiştirildikten sonra kullanın; böylece eski bir oturum kalmaz. Oturumu sıfırla onayında şu mesaj görünür: “Cihazın uplink’leri kabul edilmeden önce yeniden katılması gerekir. Cihaz sıfırlandıktan veya anahtarları değiştirildikten sonra kullanın.”
Oturumu sıfırlamak cihazın katılmasını sağlamaz; cihazın kendisi katılma işlemini başlatmalıdır (gücünü kapatıp açarak veya katılma düğmesini kullanarak). ABP cihazlarında kullanılamaz. Her sıfırlama iot_lorawan.device.session_reset olarak denetim kaydına geçer.

