NBIoT可以大幅降低企業布署設備的WiFi需求,也可避免因為場域WiFi不穩定所造成的問題,那么NBIoT要如何實做?
本文將會以NBIoT傳輸MQTT,并以計算機的MQTTLens進行接收為例,說明整個傳輸接收流程。
首先我們必須準備NBIoT的模塊,以筆者所開發的ESP32開發整合版就有留NBIoT接口,我們的NBIoT使用的芯片是基于聯發科(MTK-2526)的BC26模塊,雖然他是USB外型,但并非USB傳輸格式,只是我們帥氣的黃董認為做成USB外型比較堅固耐用,并且可以后續進行串接。
關于上面的擴充版,詳細規格數據可以參考附件:
一、NBIoT基礎設定:
目前NBIoT大多采用ATCommand通訊,若讀者已經取得上面的擴充版及任何的NBIoT SIM卡,那就可以開始下面的流程。
1. 在ESP32上安裝ATCommand溝通程序:
此程序會將ESP32的序列通訊輸入轉至NBIoT(Serial2 RX:16、TX:17)中,這樣我們就可以手動來下達AT命令
2. ATI:ATI是查詢系統版本,不過我們會用來測試BC26是否正常,輸入ATI后,會得到BC26的回復如下圖。若無響應,那就必須檢查模塊是否有插好。另外就是ESP32 1.0.6的版本也會造成無法響應,因此先選擇1.0.4。
3. AT+QCCID :此指令用于檢查SIM卡狀態,一般來說,會列出該SIM卡的卡號,如下圖,若SIM卡未安裝,則會顯示ERROR
4.AT+QCGDEFCONT?:詢問APN設定方式,由于不同系統商會有不同的APN(APN, Access Point Name)設定,例如下圖就是以中華電信或遠傳電信為例,兩者都采用"IPV4V6","internet.iot"為APN,當我們利用這個指令查詢時,就會得到這個結果,下一步就是利用這個指令來設定這張NBIoT模塊的APN。要注意的是這里的「?」一定要使用半角「?」不可使用全角「?」。
5.AT+QCGDEFCONT=<
到此為止,就完成NBIoT的設定工作,以上五個步驟只須做一次,以后NBIoT模塊只要開機會就自動以APN尋找當地有服務的基地頭,并完成網絡注冊(上網)。
二、NBIoT數據傳輸:
當NBIoT完成APN設定后,就可以準備傳輸資料了,請依照以下步驟。
1. AT+CEREG? :詢問基地臺注冊狀態,也就是否有找到服務的基地臺,若響應為「+CEREG: 0,1 」代表注冊完成,可以準備傳輸資料,若是「+CEREG: 0, 0」或「+CEREG: 0,2 」都是代表無法上網,可能是訊號不佳,或者當地無服務等問題。
2.AT+CESQ:詢問網絡狀態,也就是詢問網絡訊號強弱,以下圖而言,第一個數字為39,代表網絡訊號還不錯,數字為0~63之間,越大代表網絡訊號越好,10以下就必須注意傳輸可能會很不穩定,建議更換布置地點或增加天線強度,還有就是「99」則是故障的意思。
到這里我們已經確認NBIoT已經完成聯機,下一步我們以MQTT聯機到免注冊的Broker:mqtt.eclipseprojects.io,進行一次的推播為例。
3. AT+QMTOPEN=0,"<
4.AT+QMTCONN=0,"<
5.AT+QMTPUB=0,0,<
6. 到MQTTLens查看訂閱主題:此時到計算機的MQTTLens(或手機MQTTDash等APP)查看是否有收到訂閱的資料
用NodeRed接收,并用Dashboard的Gauge呈現
7. AT+QMTCLOSE=0:關閉MQTT服務器聯機,當傳輸完畢后,若短期內不會再使用,可以關閉與MQTT的聯機,節省電源。
到此為止,我們就完成一次的MQTT推播,當然啦,這次我們是手動傳輸,目的是讓讀者了解MQTT的傳輸流程,未來系統要實際使用時,要寫一個自動傳輸的程序,這部份后續再分享。
除了用MQTTLens來接收之外,也可以利用NodeRed來接收并儲存數據,并可以利用Dashboard來呈現,Nodered可以說是搭配MQTT最好用的工具了。
審核編輯:湯梓紅
-
WIFI
+關注
關注
81文章
5297瀏覽量
203708 -
MQTT
+關注
關注
5文章
651瀏覽量
22504 -
nbiot
+關注
關注
8文章
62瀏覽量
22694
原文標題:NBIoT與MQTT傳輸與接收
文章出處:【微信號:易心Microbit編程,微信公眾號:易心Microbit編程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論