0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NBIoT與MQTT傳輸與接收

jf_cVC5iyAO ? 來(lái)源:易心Microbit編程 ? 作者:易心Microbit編程 ? 2022-11-18 11:26 ? 次閱讀

NBIoT可以大幅降低企業(yè)布署設(shè)備的WiFi需求,也可避免因?yàn)閳?chǎng)域WiFi不穩(wěn)定所造成的問(wèn)題,那么NBIoT要如何實(shí)做?

本文將會(huì)以NBIoT傳輸MQTT,并以計(jì)算機(jī)的MQTTLens進(jìn)行接收為例,說(shuō)明整個(gè)傳輸接收流程。

首先我們必須準(zhǔn)備NBIoT的模塊,以筆者所開(kāi)發(fā)的ESP32開(kāi)發(fā)整合版就有留NBIoT接口,我們的NBIoT使用的芯片是基于聯(lián)發(fā)科(MTK-2526)的BC26模塊,雖然他是USB外型,但并非USB傳輸格式,只是我們帥氣的黃董認(rèn)為做成USB外型比較堅(jiān)固耐用,并且可以后續(xù)進(jìn)行串接。

9a1404fe-664e-11ed-8abf-dac502259ad0.jpg

關(guān)于上面的擴(kuò)充版,詳細(xì)規(guī)格數(shù)據(jù)可以參考附件:

一、NBIoT基礎(chǔ)設(shè)定:

目前NBIoT大多采用ATCommand通訊,若讀者已經(jīng)取得上面的擴(kuò)充版及任何的NBIoT SIM卡,那就可以開(kāi)始下面的流程。

1. 在ESP32上安裝ATCommand溝通程序:

此程序會(huì)將ESP32的序列通訊輸入轉(zhuǎn)至NBIoT(Serial2 RX:16、TX:17)中,這樣我們就可以手動(dòng)來(lái)下達(dá)AT命令

2. ATI:ATI是查詢系統(tǒng)版本,不過(guò)我們會(huì)用來(lái)測(cè)試BC26是否正常,輸入ATI后,會(huì)得到BC26的回復(fù)如下圖。若無(wú)響應(yīng),那就必須檢查模塊是否有插好。另外就是ESP32 1.0.6的版本也會(huì)造成無(wú)法響應(yīng),因此先選擇1.0.4。

9a39fe98-664e-11ed-8abf-dac502259ad0.png

3. AT+QCCID :此指令用于檢查SIM卡狀態(tài),一般來(lái)說(shuō),會(huì)列出該SIM卡的卡號(hào),如下圖,若SIM卡未安裝,則會(huì)顯示ERROR

9a66b672-664e-11ed-8abf-dac502259ad0.png

4.AT+QCGDEFCONT?:詢問(wèn)APN設(shè)定方式,由于不同系統(tǒng)商會(huì)有不同的APN(APN, Access Point Name)設(shè)定,例如下圖就是以中華電信或遠(yuǎn)傳電信為例,兩者都采用"IPV4V6","internet.iot"為APN,當(dāng)我們利用這個(gè)指令查詢時(shí),就會(huì)得到這個(gè)結(jié)果,下一步就是利用這個(gè)指令來(lái)設(shè)定這張NBIoT模塊的APN。要注意的是這里的「?」一定要使用半角「?」不可使用全角「?」。

9a88b7b8-664e-11ed-8abf-dac502259ad0.png

5.AT+QCGDEFCONT=<>:上一步詢問(wèn)SIM卡的APN后,我們將APN名稱放到指令最后,例如以遠(yuǎn)傳NBIoT為例,其指令如下「AT+QCGDEFCONT="IPV4V6","internet.iot" 」,

9aa84a92-664e-11ed-8abf-dac502259ad0.png

到此為止,就完成NBIoT的設(shè)定工作,以上五個(gè)步驟只須做一次,以后NBIoT模塊只要開(kāi)機(jī)會(huì)就自動(dòng)以APN尋找當(dāng)?shù)赜蟹?wù)的基地頭,并完成網(wǎng)絡(luò)注冊(cè)(上網(wǎng))。

二、NBIoT數(shù)據(jù)傳輸:

當(dāng)NBIoT完成APN設(shè)定后,就可以準(zhǔn)備傳輸資料了,請(qǐng)依照以下步驟。

1. AT+CEREG? :詢問(wèn)基地臺(tái)注冊(cè)狀態(tài),也就是否有找到服務(wù)的基地臺(tái),若響應(yīng)為「+CEREG: 0,1 」代表注冊(cè)完成,可以準(zhǔn)備傳輸資料,若是「+CEREG: 0, 0」或「+CEREG: 0,2 」都是代表無(wú)法上網(wǎng),可能是訊號(hào)不佳,或者當(dāng)?shù)責(zé)o服務(wù)等問(wèn)題。

9acb145a-664e-11ed-8abf-dac502259ad0.png

2.AT+CESQ:詢問(wèn)網(wǎng)絡(luò)狀態(tài),也就是詢問(wèn)網(wǎng)絡(luò)訊號(hào)強(qiáng)弱,以下圖而言,第一個(gè)數(shù)字為39,代表網(wǎng)絡(luò)訊號(hào)還不錯(cuò),數(shù)字為0~63之間,越大代表網(wǎng)絡(luò)訊號(hào)越好,10以下就必須注意傳輸可能會(huì)很不穩(wěn)定,建議更換布置地點(diǎn)或增加天線強(qiáng)度,還有就是「99」則是故障的意思。

9ae863d4-664e-11ed-8abf-dac502259ad0.png

9b101c58-664e-11ed-8abf-dac502259ad0.png

到這里我們已經(jīng)確認(rèn)NBIoT已經(jīng)完成聯(lián)機(jī),下一步我們以MQTT聯(lián)機(jī)到免注冊(cè)的Broker:mqtt.eclipseprojects.io,進(jìn)行一次的推播為例。

3. AT+QMTOPEN=0,"<>",<>:NBIoT開(kāi)啟MQTT服務(wù)器,若是使用「eclipseprojects」的話,指令全部為「AT+QMTOPEN=0,"mqtt.eclipseprojects.io",1883」,此時(shí)響應(yīng)除了OK之外,再等候幾秒就會(huì)得到服務(wù)器的響應(yīng)「+QMTOPEN: 0,0」,代表服務(wù)器已經(jīng)收到要求,正在等候聯(lián)機(jī)。

9b32541c-664e-11ed-8abf-dac502259ad0.png

4.AT+QMTCONN=0,"<>":聯(lián)機(jī)到MQTT服務(wù)器,這里的ClientID用隨機(jī)數(shù)即可,例如本例為「AT+QMTCONN=0,"ESP32-1234567890"」,如果兩個(gè)裝置使用相同的ClientID就會(huì)無(wú)法聯(lián)機(jī),不過(guò)這里要注意,從步驟3的AT+QMTOPEN到 AT+QMTCONN,時(shí)間不可超過(guò)60秒(沒(méi)有詳細(xì)計(jì)算),若時(shí)間太久,服務(wù)器會(huì)關(guān)閉,聯(lián)機(jī)就會(huì)失敗。若服務(wù)器的回應(yīng)是「+QMTCONN: 0,0,0 」代表聯(lián)機(jī)成功,可以推播主題了。

9b4dc134-664e-11ed-8abf-dac502259ad0.png

5.AT+QMTPUB=0,0,<>,<>,"<<你的主題>>","<<內(nèi)容>>":將內(nèi)容推播到你的主題內(nèi),例如我要將溫度「28」推播到主題「yourTopic/class205/temp」時(shí),我的指令為「AT+QMTPUB=0,0,0,0,"yourTopic/class205/temp","28"」,代表我要用qos=0,不要retain傳送28到主題「yourTopic/class205/temp」內(nèi),若服務(wù)器回復(fù)為「+QMTPUB:0,0,0」就代表服務(wù)器已經(jīng)收到數(shù)據(jù)。

9b6b9d3a-664e-11ed-8abf-dac502259ad0.png

6. 到MQTTLens查看訂閱主題:此時(shí)到計(jì)算機(jī)的MQTTLens(或手機(jī)MQTTDash等APP)查看是否有收到訂閱的資料

9b95df64-664e-11ed-8abf-dac502259ad0.png

用NodeRed接收,并用Dashboard的Gauge呈現(xiàn)

9bc75bf2-664e-11ed-8abf-dac502259ad0.png

7. AT+QMTCLOSE=0:關(guān)閉MQTT服務(wù)器聯(lián)機(jī),當(dāng)傳輸完畢后,若短期內(nèi)不會(huì)再使用,可以關(guān)閉與MQTT的聯(lián)機(jī),節(jié)省電源。

9be512f0-664e-11ed-8abf-dac502259ad0.png

到此為止,我們就完成一次的MQTT推播,當(dāng)然啦,這次我們是手動(dòng)傳輸,目的是讓讀者了解MQTT的傳輸流程,未來(lái)系統(tǒng)要實(shí)際使用時(shí),要寫一個(gè)自動(dòng)傳輸?shù)某绦?,這部份后續(xù)再分享。

除了用MQTTLens來(lái)接收之外,也可以利用NodeRed來(lái)接收并儲(chǔ)存數(shù)據(jù),并可以利用Dashboard來(lái)呈現(xiàn),Nodered可以說(shuō)是搭配MQTT最好用的工具了。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • WIFI
    +關(guān)注

    關(guān)注

    81

    文章

    5382

    瀏覽量

    207646
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    673

    瀏覽量

    23543
  • nbiot
    +關(guān)注

    關(guān)注

    8

    文章

    63

    瀏覽量

    23124

原文標(biāo)題:NBIoT與MQTT傳輸與接收

文章出處:【微信號(hào):易心Microbit編程,微信公眾號(hào):易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    精通 MQTT:消息隊(duì)列遙測(cè)傳輸指南!

    引言MQTT(消息隊(duì)列遙測(cè)傳輸)是一種輕量級(jí)消息協(xié)議,專為低帶寬、高延遲和不可靠的網(wǎng)絡(luò)環(huán)境設(shè)計(jì)。它廣泛應(yīng)用于物聯(lián)網(wǎng)(IoT)應(yīng)用、消息系統(tǒng)以及實(shí)時(shí)數(shù)據(jù)通信領(lǐng)域。本指南深入探討了MQTT的工作原理
    的頭像 發(fā)表于 06-16 16:56 ?309次閱讀
    精通 <b class='flag-5'>MQTT</b>:消息隊(duì)列遙測(cè)<b class='flag-5'>傳輸</b>指南!

    物聯(lián)網(wǎng)傳輸協(xié)議MQTT到底是個(gè)什么?

    MQTT是什么?MQTT是一個(gè)物聯(lián)網(wǎng)傳輸協(xié)議,它被設(shè)計(jì)用于輕量級(jí)的發(fā)布/訂閱式消息傳輸,旨在為低帶寬和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中的物聯(lián)網(wǎng)設(shè)備提供可靠的網(wǎng)絡(luò)服務(wù)。
    發(fā)表于 01-08 11:27

    nbiot和lora的優(yōu)缺點(diǎn)

    `從技術(shù)上看nbiot和lora之間其實(shí)并沒(méi)有太大的優(yōu)劣式之分,從應(yīng)用范圍上來(lái)看,兩者其實(shí)很多都是一樣的。區(qū)別在于,NB-IOT采用的是運(yùn)營(yíng)商統(tǒng)一部署覆蓋全國(guó)的網(wǎng)絡(luò)進(jìn)行收費(fèi)運(yùn)營(yíng)的方式,而LoRa可以
    發(fā)表于 09-04 17:54

    簡(jiǎn)單介紹NBIOT的定義及特點(diǎn)

    什么是NBIOT?NBIOT的省電技術(shù)有哪幾種模式?NBIOT是如何工作的?
    發(fā)表于 10-08 06:28

    NBIOT的相關(guān)資料推薦

    文章目錄1 簡(jiǎn)介2 NBIOT 簡(jiǎn)介2.1 NBIOT 的特點(diǎn)2.2 NBIOT 的優(yōu)點(diǎn)2.3 NBIOT能做什么NBIOT 模塊使用4 實(shí)
    發(fā)表于 12-02 08:02

    請(qǐng)問(wèn)nbiot怎么接線stm32?

    nbiot怎么接線stm32?
    發(fā)表于 10-19 06:00

    物聯(lián)網(wǎng)傳輸協(xié)議MQTT的優(yōu)勢(shì)

    物聯(lián)網(wǎng)傳輸協(xié)議為什么首選MQTT?
    的頭像 發(fā)表于 01-09 14:46 ?4420次閱讀

    物聯(lián)網(wǎng)傳輸協(xié)議MQTT的優(yōu)勢(shì)有哪些

    MQTT是一個(gè)物聯(lián)網(wǎng)傳輸協(xié)議,它被設(shè)計(jì)用于輕量級(jí)的發(fā)布/訂閱式消息傳輸,旨在為低帶寬和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中的物聯(lián)網(wǎng)設(shè)備提供可靠的網(wǎng)絡(luò)服務(wù)。
    發(fā)表于 11-26 14:23 ?3155次閱讀

    中移M5311型號(hào)NBIoT模組MQTT開(kāi)發(fā)記

    由于公司項(xiàng)目需求,需要NBIoT模組,采用MQTT協(xié)議連接自有服務(wù)器,之前挑選的是使用安信可的N92模塊,但因?yàn)殚_(kāi)發(fā)到最后發(fā)現(xiàn)有負(fù)載字節(jié)長(zhǎng)度限制,不滿足我們現(xiàn)有數(shù)據(jù)的長(zhǎng)度,所以又重新選了這個(gè)模組來(lái)
    發(fā)表于 12-03 17:21 ?8次下載
    中移M5311型號(hào)<b class='flag-5'>NBIoT</b>模組<b class='flag-5'>MQTT</b>開(kāi)發(fā)記

    零基礎(chǔ)開(kāi)發(fā)NBIOT

    shineblink core 開(kāi)發(fā)板(簡(jiǎn)稱Core)的庫(kù)函數(shù)支持NBIOT通信功能,所以只用幾行代碼即可實(shí)現(xiàn)基于M5311 NB模塊的聯(lián)網(wǎng)通信(TCP, UDP, MQTT...
    發(fā)表于 01-25 19:58 ?8次下載
    零基礎(chǔ)開(kāi)發(fā)<b class='flag-5'>NBIOT</b>

    強(qiáng)大的MQTT! 關(guān)于它你應(yīng)該知道什么

    MQTT指消息隊(duì)列遙測(cè)傳輸,是物聯(lián)網(wǎng)的機(jī)器對(duì)機(jī)器(M2M,machine-to-machine)連接協(xié)議。MQTT是一個(gè)輕量級(jí)的發(fā)布和訂閱協(xié)議,通過(guò)它可以在低帶寬環(huán)境中發(fā)送和接收機(jī)器對(duì)
    的頭像 發(fā)表于 08-03 11:15 ?2448次閱讀
    強(qiáng)大的<b class='flag-5'>MQTT</b>! 關(guān)于它你應(yīng)該知道什么

    如何實(shí)現(xiàn)MQTT協(xié)議數(shù)據(jù)傳輸

    如何實(shí)現(xiàn)MQTT協(xié)議數(shù)據(jù)傳輸? 隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,越來(lái)越多的設(shè)備和應(yīng)用需要實(shí)現(xiàn)互聯(lián)互通。而MQTT作為一種輕量級(jí)的發(fā)布/訂閱消息傳輸協(xié)議,在物聯(lián)網(wǎng)領(lǐng)域應(yīng)用廣泛,成為了許多設(shè)備之
    的頭像 發(fā)表于 11-15 17:23 ?1421次閱讀

    NBIOT無(wú)線通信模塊可以傳輸多遠(yuǎn)?

    NBIOT無(wú)線通信模塊可以傳輸多遠(yuǎn)? NBIOT是一種低功耗、廣域覆蓋的無(wú)線通信技術(shù),專門用于物聯(lián)網(wǎng)設(shè)備之間的通信。NBIOT無(wú)線通信模塊的傳輸
    的頭像 發(fā)表于 02-01 10:52 ?4519次閱讀

    MQTT協(xié)議網(wǎng)關(guān)解決方案設(shè)計(jì)與實(shí)施

    MQTT協(xié)議網(wǎng)關(guān)是一個(gè)中間件,負(fù)責(zé)接收來(lái)自不同MQTT客戶端的消息,并將這些消息轉(zhuǎn)發(fā)到MQTT服務(wù)器;同時(shí),也能接收來(lái)自
    的頭像 發(fā)表于 03-11 14:07 ?787次閱讀

    MQTT網(wǎng)關(guān)是什么?MQTT網(wǎng)關(guān)的功能

    MQTT網(wǎng)關(guān)是支持MQTT協(xié)議的物聯(lián)網(wǎng)網(wǎng)關(guān),是一種用于連接不同設(shè)備和云端平臺(tái)之間的中間件。它充當(dāng)了設(shè)備和云端服務(wù)之間的數(shù)據(jù)傳輸橋梁。MQTT網(wǎng)關(guān)能夠
    的頭像 發(fā)表于 03-18 17:10 ?1128次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品