1. 程式人生 > >野牛NBIOT 環境監測專案---BC35/BC95模組聯網收發資料(三)

野牛NBIOT 環境監測專案---BC35/BC95模組聯網收發資料(三)

經過前面兩個章節的介紹,如果認真看的同學們對本專案以及NBIOT的操作應該有一點基礎了,從這裡開始,走上實戰操作快車道,一步一步的安裝例程做即可 步驟一、將配套的移動卡插入背面的卡槽內,插入的方式見下圖: 在這裡插入圖片描述 步驟二、將開發板用Micro USB線連線到電腦,通電前請將SIM卡插入。首次使用可能需要安裝串列埠驅動,驅動檔案在《6.軟體工具\USB-CH340驅動》資料夾下,安裝驅動的介面如下: 在這裡插入圖片描述 點選安裝,之後彈出預安裝成功,表示完成! 步驟三、開啟串列埠工具,這裡推薦選擇正點原子的XCOM,用下來還不錯,資料的路徑為《6.軟體工具\串列埠工具\XCOM(正點原子 推薦使用)》。由於該軟體是基於.net做的,如果電腦中沒有安裝 .net Framework 4.0,需要先安裝《dotNetFx40_Full_x86_x64.exe》檔案,安裝流程就是雙擊,一路預設選項即可 步驟四、

串列埠設定,開啟的介面如下:在這裡插入圖片描述 串列埠選擇下拉框選擇USB-SERIAL CH340,具體哪個COM依據裝置不同而不同,波特率選9600,停止位選1,資料位選8,這就是我們常說的串列埠配置,9600 8N1,之後開啟點選"開啟串列埠"按鈕即可。 這裡再囉嗦幾句,有些初學者不知道串列埠選哪個,經常選COM1,目前有些電腦(特別是老一點的桌上型電腦)自帶一個串列埠,預設是COM1,我們要選的是CH340 USB串列埠對於的COM口,對於小白的話,其實可以拔掉,看下拉框哪個少了哪個,之後再插上就選擇哪個。 步驟五、開發板上為了方便使用者除錯NBIOT,故通過兩個開關來選擇NBIOT的串列埠接到MCU上還是板載的CH340 USB轉串列埠上,如果是接在MCU上,使用者通過STM32L4的串列埠操作NBIOT;如果是接在CH340上,那麼可以通過PC的上位機串列埠工具操作NBIOT,這裡我們先通過上位機串列埠工具來操作NBIOT,具體撥動位置見下圖: 在這裡插入圖片描述
步驟六、串列埠下發AT指令,先發送"AT"指令,如果在串列埠工具接收區介面看到OK,那麼模組工作正常。這裡需要注意點,傳送前需要勾選傳送新行選項。 步驟七、連線網路 1、依次傳送如下指令

AT指令 含義說明
AT+CIMI 獲取SIM卡的IMSI號,正確返回表示SIM工作正常
AT+CMEE=1 啟用報告ME 錯誤碼
AT+CSQ 獲取訊號強度,正常情況下返回+CSQ:21,99,其中的21該值表示訊號強度,每個地方是不一樣的,正常的值是2到31。如果小於12,表示訊號不是非常好,存在資料傳送或者接收失敗的可能性
AT+CEREG? 檢視注網是否成功,這裡需要返回0,1表示成功,其他值表示失敗,特別是在模組復位(包括上下電)之後一段時間內需要等待模組注網成功,大約5~20秒時間不等。

2、通過私有云伺服器建立TCP服務 雲伺服器推薦阿里雲,用來下不錯。這裡需要強調一點,目前電信不支援任意IP地址連線,所以不能連線到私有的伺服器上 在伺服器端用工具軟體PortHelper.exe《6.軟體工具\網路除錯軟體》建立一個TCP服務端socket,埠號可以任意指定(0到65535),比如8888 在這裡插入圖片描述 到此網路服務建立成功。 這裡需要注意的兩點是,一、阿里雲的伺服器端,有一個網路安全組(類似防火牆),預設情況下是把這些埠都關閉掉了,如果使用自定義的埠號(如8888),需要在安全組裡面把這個開啟,不然NBIOT連線是會失敗的;二,這個軟體是執行在雲端伺服器上,對於沒了解過雲端伺服器的同學們,可以加群進行交流。 3、通過AT指令TCP SOCKET傳送資料

AT指令 含義說明
AT+NSOCR=STREAM,6,35000,1 建立TCP Socket指令,其中第一個引數為Socket type,DGRAM表示UDP,STREAM表示TCP;返回Socket id號,下一條指令會用到
AT+NSOCO=Socket id,IP 地址,port號 與遠端伺服器建立TCP建立指令,這裡的Socket id是AT+NSOCR返回的,數值,比如有多個Socket的時候,通過這個id來唯一標識,IP地址就是伺服器的地址,port號就是8888,例如:AT+NSOCO=2,106.14.XXX.XXX,8888
AT+NSOSD=2,17,48656C6C6F2059654E697520494F540D0A 傳送資料指令,同樣第一個引數為Socket id號,第二個引數為後續傳送資料的長度,注意這裡是10進位制,而且是字串ASCII碼位元組長度;第三個引數,表示ASCII碼資料,比如這裡傳送的內容是Hello YeNiu IOT,傳送成功後,在雲端伺服器上的PortHelper軟體即可看到收到的資料。

4、通過AT指令取資料 伺服器可以向NB裝置端傳送資料,緊接著上一個步驟,在伺服器端向NBIOT裝置傳送資料,裝置端會收到“+NSONMI:2,7”其中第一個引數2表示前面的Socket id,7表示收到7個位元組資料,然後我們需要用如下指令獲取

AT指令 含義說明
AT+NSORF=socket,req_length 其中第一個引數表示socket id,第二個引數表示取資料的長度,可以不一次性取完,只要復位/下電前取都可以。

到此,通過串列埠助手操作NBIOT,進行TCP收發資料介紹完畢,同學們有問題的,可以加後面的群,群主將為你解答

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