NB IoT要點概括與工作狀態解析

2021-08-10 06:54:17 字數 2941 閱讀 3990

前言

對於經常關注物聯網通訊技術的人應該對nb-iot這個詞不會陌生,關於它的一些基礎概念與**大家可以自行看網上已有的介紹,這裡不再闡述。這段時間剛好在學習nb-iot並嘗試將其應用到一些專案的改良中,在學習和使用的過程中對其有新的認識,因此將一些要點整理了下來,希望對後續有意接觸nb-iot的同學有所幫助。

nb-iot要點概括

1、為解決傳統2g/3g/4g(gprs)網路不能滿足物聯網終端裝置低功耗、低成本的問題;

2、對比gprs,減少了一些信令,尋呼週期加長,增加psm狀態,降低功耗(用實時性換取續航);

3、終端資料通過運營商基站接入核心網,匯入運營商的物聯網專網,經iot平台與使用者的平台進行資料互動

nb-iot的工作狀態:

nb-iot在預設狀態下,存在三種工作狀態,三種狀態會根據不同的配置引數進行切換,筆者認為這三種狀態較深刻地影響了nb-iot的特性,如其對比傳統gprs的低功耗特性,均可以從中獲得解釋,同時在後續對nb-iot的使用和相關程式的設計時,也需要根據開發的需求與產品特性對這三種工作狀態進行合適的定製。

三種工作狀態如下:

connected(連線態):

模組註冊入網後處於該狀態,可以傳送和接收資料,無資料互動超過一段時間後會進入

idle模式,時間可配置。

idle(空閒態):

可收發資料,且接收下行資料會進入connected狀態,無資料互動超過一段時會進入psm模式,時間可配置。

psm(節能模式):

此模式下終端關閉收發訊號機,不監聽無線側的尋呼,因此雖然依舊註冊在網路,但信令不可達,無法收到下行資料,功率很小。

持續時間由核心網配置(t3412),有上行資料需要傳輸或tau週期結束時會進入connected態。

nb-iot三種工作狀態一般情況的轉換過程可以總結如下:

①    終端傳送資料完畢處於connected態,啟動「不活動計時器」,預設20秒,可配置範圍為1s~3600s;

②    「不活動計時器」超時,終端進入idle態,啟動及或定時器(active-timer【

t3324】),超時時間配置範圍為2秒~186分鐘;

③     

active-timer超時,終端進入psm狀態,tau週期結束時進入connected態,tau週期【t3412】配置範圍為54分鐘~310小時。

【ps:tau週期指的是從idle開始到psm模式結束】

nb-iot終端在不同工作狀態下的情況剖析:

1、nb-iot傳送資料時處於啟用態,在超過「不活動計數器」配置的超時時間後,會進入idle空閒態;

2、空閒態引入了edrx機制,在乙個完整的idle過程中,包含了若干個edrx週期,edrx週期可以通過定時器配置,範圍為20.48秒~2.92小時,而每個edrx週期中又包含了若干個drx尋呼週期;

3、若干個drx尋呼週期組成乙個尋呼時間視窗(ptw),尋呼時間視窗可由定時器設定,範圍為2.56s~40.96s,取值大小決定了視窗的大小和尋呼的次數;

4、在active timer超時後,nb-iot終端由空閒態進入psm態,在此狀態中,終端不進行尋呼,不接受下行資料,處於休眠狀態;

5、tau timer從終端進入空閒態時便開始計時,當計時器超時後終端會從psm狀態退出,發起tau操作,回到啟用態(對應圖中①)

;6、當終端處於psm態時,也可以通過主動傳送上行資料令終端回到啟用態(對應圖中②)。

定時器引數的配置

在整個nb-iot工作的過程中,有一些定時器引數可以進行設定,從而改變各個工作狀態的內部細節和週期佔比,而這些定時器引數需要通過裝置nb卡地簽約apn來實現。以電信nb sim卡為例,預設簽約的apn為「ctnb」,終端在入網時由網路自動下發。不同的apn代表著一組不同的定時器引數,如"ctnb"的apn描述為【監測上報類,啟用定時器=2s,開啟psm、關閉edrx】。若使用apn"psmc.edrxc.ctnb",則對應的引數為【開啟psm、開啟edrx,啟用定時器=180s,edrx週期=20.48s,尋呼視窗=10.48s】。當然,apn也支援使用者的定製,對應的apn名稱為"ue.prefer.ctnb",工作狀態的開關與定時器引數由終端上報的引數決定。

寫在後面

看完nb-iot工作狀態的特性,我們不難發現,nb-iot協議在設計語言上與大部分的低功耗傳輸無線傳輸協議上並無二致,如zigbee通過控制終端節點向父節點的資料輪詢頻率(可通過nlme_setpollrate函式調節),從而實現對功耗的調控。而nb-iot的方法也與此類似,使得終端在大部分時候處於低功耗的psm態,只要需要資料上報的時候才進入啟用態,因此nb-iot比較適合應用在一些資料定時上報的場景(抄表、環境監測),但並不適合用於反控。nb-iot通過降低尋呼的頻率,用犧牲實時性的方式換來較低的功耗,使得它在接收下行資料的實時性上顯得吃力,這也是可以理解的。

筆者在學習nb-iot的過程中,對今年電信在北京宣布nb-iot商用時提到的ofo使用nb鎖感到好奇,如果按照官方所說的使用nb-iot鎖的小黃車可以一秒解鎖、僅靠太陽能就可滿足功耗,結合nb-iot的特性,如果採用的是雲端下發指令或密碼至鎖的方式,這是基本不可能實現,筆者會在後續的文章詳細討論其他方法的可行性。

以上為本人在學習過程中的一些想法,對於nb-iot的應用,個人覺得目前有它較為適用的場景,且由於其資料的傳輸方式,相比很多方式有著不言而明的優勢,但絕不是可以用在物聯網中任何場景的方式。不管如何,將答案交給市場。後續會從測試環境搭建、**設計、產品設計的角度對nb-iot進行進一步剖析,歡迎各位同行互相交流、互相學習。

Java各種集合的實現要點概括

arraylist是list介面的可變陣列非同步實現,並允許包括null在內的所有元素。底層使用陣列實現 該集合是可變長度陣列,陣列擴容時,會將老陣列中的元素重新拷貝乙份到新的陣列中,每次陣列容量增長大約是其容量的1.5倍,這種操作的代價很高。採用了fail fast機制,面對併發的修改時,迭代器很...

go語言核心36講要點概括(6 10)

06 程式實體的那些事兒 下 package main import fmt var container string func main 輸出one println container 1 如何判斷container型別 value,ok inte ce container string 它包括了...

高階工與初級工

stst 初級工 需要大量的素材進行歸納,以提公升自身的知識,這階段需要大量的重複性的簡單的工作 高階工 主要通過演繹來思考,在實際中應用知識,高階工思考的時間佔的比例更多一些 這個想法大家覺得認可嗎?剛跟別人聊天時想到的 hl 成天演 bu 繹 yong 思 gan 考 huo 的高階工肯定認同 ...