1. 程式人生 > >野牛NBIOT 環境監測專案---BC35/BC95模組+STM32L4裝置(二)

野牛NBIOT 環境監測專案---BC35/BC95模組+STM32L4裝置(二)

看了前面的《NBIOT 環境監測專案—總體介紹(STM32L4+BC35)》應該對我們要做的專案有個初步框架性的瞭解,下面我們就開始逐個介紹

1、NBIOT 初識

 1.1、什麼是NBIOT       NBIOT就是窄帶物聯網,英文全稱是:Narrow Band Internet of Things, NB-IoT,其實就是一種通訊標準,對我們終端使用者而言,可以簡單的理解為物聯網的一種通訊裝置。  1.2、為什麼要使用NBIOT       經常會有人問,特別是玩過GPRS的,如果我就是發資料給後臺,採集溫溼度和之前的GPRS沒什麼區別,為什麼華為、愛立信等還要搞個NBIOT,是不是沒事找事。其實不是的,這裡有很多問題,       第一,普通的GSM的連線不能滿足現有物聯網的發展了,因為一個基站能接入的通訊能力是有限的,如果說在工業上,一個裝置上安裝一個SIM800模組,畢竟數量有限,也就沒什麼問題,但是物聯網時代的願景是每個家庭裡,各種裝置都要接入網路,比如水龍頭、家庭空氣狀況、冰箱,空調等裝置都接入,在人口密集的城市裡面,之前的網路環境,是無法承受的。       第二,功耗、價格是目前物聯網裝置需要繼續解決的問題,就像前面說的,不可能每個裝置都接入有源的裝置,那家裡、辦公室的佈線就太麻煩了,而且在產品的更新上,很難得到使用者的支援。所以低功耗的裝置顯得更加重要。       第三:2G/3G的裝置,網路系統的標準、專利很多都在外國人手裡,華為等公司想要在2G/3G裡面再分蛋糕很難,所以積極的推翻現有的利益分配格局,那麼重新制定新的標準,來逐步替代之前的產品,NBIOT就應用而生了。  1.3、NBIOT裡面非定向、定向、B5\B8頻段等是什麼意思?       NBIOT的技術規範,晶片都是最近兩年才出來的,更新速度較快,牽涉到晶片原廠、模組廠、運營商、系統商、ZF規劃、終端使用者等。       定向IP指的是電信的NBIOT卡,不支援連線到任何IP地址,只能連線到電信的雲平臺(包括華為OceanConnect),而且電信雲平臺只針對企業客戶,所以說個人或者小客戶,想玩電信的卡,請慎重考慮。       以下是目前移遠的模組支援的頻段、運營商的表格

模組 頻段 運營商 協議
BC95-B5 B5 電信 UDP/COAP
BC95-B8 B8 移動 UDP/COAP/TCP(新升級)
BC35-G B5 B8 B20… 移動 電信 UDP/COAP/lwM2M/TCP/MQTT*

2、NBIOT 小步走起

 2.1、介面與協議    在嵌入式開發中時,說到XXX模組,那麼一般情況下涉及到通訊介面,協議。    所謂的介面,就是一種資訊互動的載體,比如人與人交流,是通過聲音來進行傳播,嵌入式裡面的介面有I2C、串列埠、SPI等,注意介面是能把資訊告訴另外一方,在這個專案裡面NB模組與MCU進行互動就是UART介面。    所謂的協議,就是一種資訊互動時雙方約定的含義,類比到人與人交流,兩個講中文的人在一起,才能聽得懂,不然就搞亂了,同樣在嵌入式裡面,MCU要操作控制模組,也要有協議,這個協議就很有文章了,如果模組是自己做的話,你也可以自己制定協議,比如01表示幹什麼,02表示幹什麼。但是模組是移遠、華為等公司的做的,他們用的是AT指令,同學們馬上會問AT指令是什麼低東西?且慢,下一章節繼續。  2.2、AT指令簡介    AT指令是裝置與主控端進行通訊的指令,好繞,其實很好理解,就是通過AT指令告訴模組要的事情,比如我們這個專案就是讓模組將溫溼度傳送到指定的伺服器。 其格式一般是AT+XXXX,比如

AT指令 含義說明
AT+CSQ 獲取訊號強度
AT+NBAND? 詢問模組支援哪些頻段
AT+CIMI 獲取SIM卡的IMSI號
AT+CMEE=1 啟動報告ME 錯誤碼

同學們看到這裡,心裡應該有個疑問,這些指令我是怎麼知道?因為這些指令有些是通用的,所以有些同學說可以問度娘。的確,是可以百度搜索。但是權威的方式是查閱移遠的文件《Quectel_BC35-G&BC28&BC95 R2.0_AT_Commands_Manual_V1.3.pdf》支援的AT指令都在這裡,逐條指令這裡就不做介紹,挑一條帶領同學們看看, 例如文件: 在這裡插入圖片描述 其中含義在在文件中的介紹為; 在這裡插入圖片描述

"rssi"的值為99表示無效,2到30表示訊號強度,31表示訊號滿

有問題可以加入QQ群或者淘寶店鋪旺旺聯絡: 野牛物聯網 QQ交流群:897268542 淘寶店鋪(點選跳轉連結)