發布日期:2022-05-25 點擊率:51
lass="bjh-p">在前面的文章中,為大家介紹了什么是LoRaWAN節點工作方式ClassA/C,在這篇文章中,ClassB工作方式。此文來自小七老師,小七老師是騰訊云在線課堂物聯網講師。
LoRaWAN,工作方式,ClassB
Class B中的B的就是Beacon的意思,Class B的節點除了在rx1和rx2接收NS的數據外,還可以在和NS同步完時間之后,周期性的打開一個接收窗口來接收NS發送給它的數據。
如何做到時間同步呢?網關通過連接GPS,獲得GPS信息后,周期性的廣播一條消息,這條消息,就叫做Beacon。節點通過獲取Beacon來同步時間。
首先我們先來看看Beacon
默認的Beacon周期是128秒一次,Class B的節點,在沒有同步到Beacon之前,只能工作在Class A模式下。節點在入網成功之后,先獲取Beacon,獲取到Beacon之后才能切換成Class B模式,否則,節點一直工作在Class A模式下。
在長時間運行中,節點內部時鐘存在一定的偏差,所以節點需要周期性的獲取Beacon,以消除內部時鐘偏差對時間的影響。
節點鎖定Beacon完成時間同步之后,如何和NS協商收發數據的時間點呢?在介紹NS和節點協商發送數據的時間點之前,我們先要了解,什么是Beacon Window,什么是Slot,什么是PingSlot,什么是pingNb,什么是pingPeriod。
從一個Beacon結束時間點開始算起,到下一個Beacon開始時間點,這段時間叫做Beacon Window,NS想要主動給節點發送數據的話,也只能在這個窗口期呢。
Beacon Window這段時間總共有122.88秒。LoRaWAN協議將這段時間平分成2的12次方份,也就是4096份。平均下來每份時長30ms,每30ms叫做一個Slot。NS和節點會在每一個約定好的Slot上通信,這個約定好的Slot叫做節點的PingSlot。
在一個Beacon Window時間窗內,NS可以主動給一個節點發送2的n次方條消息,n的取值范圍是0<=n<=7的整數,這個2的n次方就是節點的pingNb。
我們再用4096除以PingNb,得到的就是這個節點的Ping周期,我們將Ping周期稱為PingPeriod,Ping周期就是同一個Beacon Window內每個PingSlot相隔的時間。
節點會將PingNB發送給NS。節點和NS通過PingNB和節點的DevAddr就能計算出第一個PingSlot的時間了。然后節點就會每隔PingPeriod個Slot打開一個接收窗口。如果NS有數據發送給節點,就會在PingSlot時刻發送給節點。
到這里,NS和節點就能互相準確的知道雙方在哪一個時刻接收發送消息了。
在接下來的文章中,將會繼續分享更多的LoRaWAN相關知識,希望大家持續關注我們。
下一篇: PLC、DCS、FCS三大控
上一篇: 送給物聯網從業者的禮