LiteOS怎么實(shí)現(xiàn)NB-IoT通信

本篇內(nèi)容主要講解“LiteOS怎么實(shí)現(xiàn)NB-IoT通信”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“LiteOS怎么實(shí)現(xiàn)NB-IoT通信”吧!

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比婁煩網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式婁煩網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋婁煩地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

1. 環(huán)境準(zhǔn)備

硬件準(zhǔn)備

  • 開(kāi)發(fā)板

LiteOS怎么實(shí)現(xiàn)NB-IoT通信

  • NB-IoT通信模組(BC35-G)

BC35-G 是一款高性能、低功耗的多頻段 NB-IoT 無(wú)線通信模塊,支持 B1/B3/B8/B5/B20/B28 頻段,在設(shè)計(jì)和AT指令上與BC95兼容。

LiteOS怎么實(shí)現(xiàn)NB-IoT通信

小熊派NB-IoT通信擴(kuò)展模組的波特率為9600bps。

軟件準(zhǔn)備

  • QCOM串口助手

LiteOS怎么實(shí)現(xiàn)NB-IoT通信

文檔準(zhǔn)備

  • BC35-G AT命令手冊(cè)

此文檔來(lái)自于移遠(yuǎn)官方!閱讀本教程時(shí),關(guān)于AT指令的詳細(xì)說(shuō)明請(qǐng)參考該文檔!

切換開(kāi)關(guān)

小熊派開(kāi)發(fā)板右上角的開(kāi)關(guān)撥到AT-PC一端,則模組直接與PC相連,方便調(diào)試。

所有工具和文檔均在『小熊派開(kāi)源社區(qū)』公眾號(hào)回復(fù)“通信模組”獲?。?/p>

2. NB-IoT入網(wǎng)AT指令

AT

指令:AT

功能:測(cè)試AT指令功能是否正常

示例:

AT

OK

獲取信號(hào)強(qiáng)度指示

指令:AT+CSQ

功能:返回從 UE 接收到的信號(hào)強(qiáng)度指示 <rssi> 和信道誤碼率 <ber>,其中第一個(gè)值rssi應(yīng)當(dāng)在0-31之間,如果為99則表示信號(hào)無(wú)法檢測(cè),第二個(gè)參數(shù)ber因?yàn)槟=M當(dāng)前不支持,所以始終為99。

示例:

+CSQ:26,99

OK

查詢網(wǎng)絡(luò)注冊(cè)狀態(tài)

指令:AT+CEREG?

功能:查詢當(dāng)前 EPS 網(wǎng)絡(luò)注冊(cè)狀態(tài),該指令返回的第一個(gè)參數(shù)為0則表示禁止網(wǎng)絡(luò)注冊(cè)URC,第二個(gè)參數(shù)表示網(wǎng)絡(luò)注冊(cè)狀態(tài),1表示已注冊(cè)本地網(wǎng),5表示已注冊(cè)漫游網(wǎng)絡(luò),其余值則表示注冊(cè)失敗。

示例:

+CEREG:0,1

OK

查詢網(wǎng)絡(luò)是否被激活

指令:AT+CGATT?

功能:該命令用于查詢當(dāng)前是否將 UE 附著于 PS 域,返回值為1則表示已附著,即網(wǎng)絡(luò)激活成功。

示例:

+CGATT:1

OK

查詢模塊的 IP 地址

指令:AT+CGPADDR

功能:該命令用于查詢模組當(dāng)前的ip地址。

示例:

+CGPADDR:0,10.44.108.10
OK

3. 基于 UDP 協(xié)議連接遠(yuǎn)程服務(wù)器通信實(shí)例

3.1. 禁用IoT平臺(tái)的注冊(cè)功能

由于NB-IoT模組可以直接對(duì)接IoT平臺(tái),所以在單獨(dú)測(cè)試使用UDP連接時(shí),需要在激活網(wǎng)絡(luò)成功之后,在獲取ip地址之前,關(guān)閉IoT平臺(tái)注冊(cè)功能。

使用如下命令禁止該功能:

AT+QREGSWT=2

3.2. 搭建遠(yuǎn)程UDP服務(wù)器

首先我們需要搭建一個(gè)UDP服務(wù)器,有兩種方式:

  • 在服務(wù)器上使用Python、Java、C#等語(yǔ)言自行編寫(xiě)服務(wù)器程序;

  • 在本地PC上使用網(wǎng)絡(luò)調(diào)試助手開(kāi)啟UDP服務(wù)器;

因?yàn)?NB-IoT 模組直接注冊(cè)的是公網(wǎng)ip地址,所以這里我們使用第一種方式,在Linux服務(wù)器上運(yùn)行一個(gè)Python編寫(xiě)的UDP測(cè)試服務(wù)器:

本地PC使用的是局域網(wǎng),公網(wǎng)不可以直接根據(jù)ip地址訪問(wèn)到本PC,需要進(jìn)行內(nèi)網(wǎng)穿透,不推薦使用。

這里的Python程序如下:

# udp-server.py
from socket import *

host = ''
port = 8000

# 創(chuàng)建server socket
server_socket = socket(AF_INET,SOCK_DGRAM)

# 綁定socket監(jiān)聽(tīng)地址
server_addr = (host,port)
server_socket.bind(server_addr)

print('UDP Server Start...')

# 處理連接請(qǐng)求
while(True):
    # 接收客戶端的數(shù)據(jù)
    data, addr = server_socket.recvfrom(1024)
    print("Receive from %s:%s" % addr % data)
    if data == b"quit":
        server_socket.sendto(b"Good bye!\n", addr)
        continue
    server_socket.sendto(b"Hello,udp client!\n", addr)

運(yùn)行:

python3 udp-server.py

效果如下:

LiteOS怎么實(shí)現(xiàn)NB-IoT通信

3.3. 模組與服務(wù)器通信

創(chuàng)建Socket

使用AT命令連接UDP服務(wù)器,首先需要?jiǎng)?chuàng)建一個(gè) UDP 類型的 Socket,創(chuàng)建socket的指令如下:

AT+NSOCR=<type>,<protocol>,<listen port>

其中第一個(gè)參數(shù)是socket類型,DGRAM表示UDP,STREAM表示UDP;第二個(gè)參數(shù)表示協(xié)議類型,UDP 為 17, UDP 為 6,最后一個(gè)參數(shù)指定socket使用的本地端口,如果為0則表示隨機(jī)分配。

所以創(chuàng)建UDP socket的示例如下:

AT+NSOCR=DGRAM,17,0

1

OK

模組向服務(wù)器發(fā)送消息

指令:

AT+NSOST=<socket>,<remote_addr>,<remote_port>,<length>,<data>

其中第一個(gè)參數(shù)是由 AT+NSOCR 返回的 Socket 編號(hào),第二個(gè)參數(shù)是UDP服務(wù)器ip地址,也可以使用域名,第三個(gè)參數(shù)是UDP服務(wù)器開(kāi)啟監(jiān)聽(tīng)的端口,第四個(gè)是發(fā)送數(shù)據(jù)的長(zhǎng)度,最后一個(gè)是要發(fā)送的十六進(jìn)制數(shù)據(jù)。

注意:該命令僅限UDP scoket連接服務(wù)器使用,并且所有參數(shù)均無(wú)引號(hào)!

示例:

AT+NSOST=1,122.51.89.94,8000,4,30313233

1,4

OK

發(fā)送之后,在服務(wù)器端也可以看到:

LiteOS怎么實(shí)現(xiàn)NB-IoT通信

模組接收服務(wù)器消息

模組發(fā)送數(shù)據(jù)到服務(wù)器后,服務(wù)器會(huì)自動(dòng)發(fā)送消息,模組會(huì)打印出收到信息的提示:

+NSONMI:1,18

該信息表示編號(hào)為1的socket收到了18字節(jié)的數(shù)據(jù)。

可以使用如下命令查看收到的數(shù)據(jù),第一個(gè)參數(shù)是socket編號(hào),第二個(gè)參數(shù)是查詢的數(shù)據(jù)長(zhǎng)度:

AT+NSORF=<socket>,<req_length>

查看剛剛收到的數(shù)據(jù):

AT+NSORF=1,18

1,122.51.89.94,8000,18,48656C6C6F2C75647020636C69656E74210A,0

OK

其中收到的數(shù)據(jù)為倒數(shù)第二個(gè)參數(shù),是十六進(jìn)制格式:

48656C6C6F2C75647020636C69656E74210A

使用在線工具將數(shù)據(jù)轉(zhuǎn)化為字符串即可:

LiteOS怎么實(shí)現(xiàn)NB-IoT通信

關(guān)閉scoket

通信完畢之后,可以使用下面的命令關(guān)閉最開(kāi)始創(chuàng)建的socket:

AT+NSOCL=<socket>

示例:

AT+NSOCL=1

OK

到此,相信大家對(duì)“LiteOS怎么實(shí)現(xiàn)NB-IoT通信”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

本文標(biāo)題:LiteOS怎么實(shí)現(xiàn)NB-IoT通信
網(wǎng)站地址:http://bm7419.com/article20/pssgco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、ChatGPT、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司