作業(yè)4

步驟 1 通過(guò) PC 串口調(diào)試終端控制 NB 模組入網(wǎng)注冊(cè)與數(shù)據(jù)上報(bào)

打開(kāi) LiteOS Studio,導(dǎo)入實(shí)驗(yàn)二的工程文件,在 LiteOS Studio 主界面下的控制臺(tái)界面,選

擇“串口終端”,在串口終端界面下選擇相應(yīng)端口(相應(yīng)端口可通過(guò) PC 機(jī)的“計(jì)算

機(jī)”->“管理”->“設(shè)備管理器”->“端口”中可以查看),設(shè)置波特率為 9600,校驗(yàn)位

None,數(shù)據(jù)位 8,停止位 1,流控 None,點(diǎn)擊配置欄最右邊圖標(biāo)“切換到非 shell”,并打

開(kāi)串口;

在發(fā)送區(qū)界面輸入“AT+NRB”,點(diǎn)擊“發(fā)送”,重啟 NB 模組(注:發(fā)送 AT 指令后,需發(fā)

送新行模組才能正確接收指令,即輸入完 AT 指令后需回車(chē)另一起行再點(diǎn)擊發(fā)送);

在接收區(qū)可查看模組返回的信息;


在發(fā)送區(qū)界面輸入“AT+CGSN=1”,點(diǎn)擊“發(fā)送”,獲取 NB 模組的 IMEI 號(hào),該 IMEI 信息同時(shí)也可在 NB 模組標(biāo)刻的信息上查到;

image.png

根據(jù) NB 模組的 IMEI 號(hào),在平臺(tái)上注冊(cè)設(shè)備。在 OceanConnect 平臺(tái)“產(chǎn)品”下的“設(shè)備管理”界面,點(diǎn)擊“新增真實(shí)設(shè)備”;

選擇實(shí)驗(yàn)三中開(kāi)發(fā)的 Profile 文件;

自定義設(shè)備名稱,并根據(jù)獲取的 IMEI 號(hào)輸入設(shè)備標(biāo)識(shí),選擇設(shè)備注冊(cè)方式“不加密”,點(diǎn)擊“確定”;

注冊(cè)設(shè)備成功,平臺(tái)返回相應(yīng)信息,點(diǎn)擊“確定”;

OceanConnect 平臺(tái)“設(shè)備管理”界面可查看到注冊(cè)的設(shè)備(此時(shí)還處于離線狀態(tài));

根據(jù)平臺(tái)提供的對(duì)接信息,在 LiteOS Studio 串口終端發(fā)送區(qū)界面輸入

“AT+NCDP=49.4.85.232,5683”,設(shè)置 NB 模組對(duì)接的平臺(tái) ip 及端口信息(模組返回

OK,即設(shè)置成功);

在發(fā)送區(qū)界面輸入“AT+NRB”,重新重啟 NB 模組,確保對(duì)接平臺(tái) ip 設(shè)置生效;

在發(fā)送區(qū)界面輸入“AT+CFUN?”,查詢協(xié)議棧功能是否開(kāi)啟(返回值為 CFUN:1 表示開(kāi)啟;返回值為 CFUN:0 表示關(guān)閉。如返回 0 則需要輸入”AT+CFUN=1”開(kāi)啟);

在發(fā)送區(qū)界面輸入“AT+CGATT?”,查詢 NB-IoT 模組網(wǎng)絡(luò)附著狀態(tài)(如果返回值為

CGATT:0,表示網(wǎng)絡(luò)未附著;返回值為 CGATT:1,表示網(wǎng)絡(luò)附著。如返回 0 則需要輸入“AT+CGATT=1”進(jìn)行網(wǎng)絡(luò)附著);

在發(fā)送區(qū)界面輸入“AT+NMGS=3,000123”,發(fā)送模擬數(shù)據(jù)給 IoT 平臺(tái)(返回 OK 即為發(fā)送成功);

在 OceanConnect 平臺(tái)“產(chǎn)品”下的“設(shè)備管理”界面,可以查看到之前注冊(cè)的設(shè)備處于在線狀態(tài);

選擇該設(shè)備,點(diǎn)擊“歷史數(shù)據(jù)”,可查看到設(shè)備的歷史數(shù)據(jù)信息。

步驟 2 基于 LiteOS 控制 NB 模組入網(wǎng)注冊(cè)與數(shù)據(jù)上報(bào)

在 LiteOS Studio 的工程界面工程樹(shù)下,打開(kāi)路徑 BearPi_LiteOS -> targets ->

STM32L431_BearPi -> GCC 下的“config.mk”文件;

在“config.mk”文件中修改網(wǎng)絡(luò)類(lèi)型,將“NETWORK_TYPE”參數(shù)修改為

“NB_NEUL95_NO_ATINY”;

在 LiteOS Studio 的工程界面工程樹(shù)下,打開(kāi)路徑 BearPi_LiteOS -> demos ->

nbiot_without_atiny 下的“nb_demo.c”文件;

在“nb_demo.c”文件中根據(jù)平臺(tái)提供的對(duì)接信息,修改代碼中 IP 與 PORT 信息;

在 LiteOS Studio 的工程界面工程樹(shù)下,打開(kāi)路徑 BearPi_LiteOS -> targets ->

STM32L431_BearPi -> Src 下的“main.c”文件;

在“main.c”文件 main 主函數(shù)中添加執(zhí)行“create_work_tasks”函數(shù)的代碼;

(注:create_work_tasks 函數(shù)在 user_task.c 里定義,該函數(shù)里執(zhí)行 create_agenttiny_task函數(shù)。在 create_agenttiny_task 中創(chuàng)建了 atiny_task_entry 任務(wù),在該任務(wù)中,根據(jù)之前config.mk 中的網(wǎng)絡(luò)類(lèi)型配置,執(zhí)行對(duì)應(yīng)的通信模組程序。具體代碼邏輯讀者可自行學(xué)習(xí)了解)保存修改,點(diǎn)擊編譯;將開(kāi)發(fā)板通過(guò) USB 線連接電腦,點(diǎn)擊下載;將代碼燒錄到開(kāi)發(fā)板芯片中;

在控制臺(tái)界面選擇“串口終端”,選擇相應(yīng)端口,設(shè)置波特率為 115200,校驗(yàn)位 None,數(shù)據(jù)位 8,停止位 1,流控 None,并打開(kāi)串口;同時(shí)將開(kāi)發(fā)板上 AT 指令入源的切換開(kāi)關(guān)切換至 AT-MCU,按下開(kāi)發(fā)板上的 RESET 按鍵,在開(kāi)發(fā)板 MCU 上運(yùn)行 LiteOS;此時(shí)可以看到輸出的打印信息;在 OceanConnect 平臺(tái)“產(chǎn)品”下的“設(shè)備管理”界面,選擇該 NB 設(shè)備,點(diǎn)擊“歷史數(shù)據(jù)”,可查看到 NB 模組上報(bào)的數(shù)據(jù)信息。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 步驟 1 通過(guò) PC 串口調(diào)試終端控制 NB 模組入網(wǎng)注冊(cè)與數(shù)據(jù)上報(bào)打開(kāi) LiteOS Studio,導(dǎo)入實(shí)驗(yàn)二的...
    鯊魚(yú)沙拉閱讀 88評(píng)論 0 0
  • 實(shí)驗(yàn)四任務(wù)配置 配置步驟:通過(guò)PC串口調(diào)試終端控制NB模組入網(wǎng)注冊(cè)與數(shù)據(jù)上報(bào)根據(jù)實(shí)驗(yàn)二步驟一的介紹,將SIM卡插入...
    蘇格拉冰閱讀 250評(píng)論 0 0
  • 1.通過(guò) PC 串口調(diào)試終端控制 NB 模組入網(wǎng)注冊(cè)與數(shù)據(jù)上報(bào),打開(kāi) LiteOS Studio,導(dǎo)入實(shí)驗(yàn)二的工程...
    曲中人_a7e0閱讀 252評(píng)論 0 0
  • 1.將 SIM 卡插入 NB-IoT 通信模組卡槽中;并將 NB-IoT 模組與開(kāi)發(fā)板主板上的通信擴(kuò)展板對(duì)接引腳對(duì)...
    千夜在夢(mèng)游閱讀 217評(píng)論 0 0
  • 漸變的面目拼圖要我怎么拼? 我是疲乏了還是投降了? 不是不允許自己墜落, 我沒(méi)有滴水不進(jìn)的保護(hù)膜。 就是害怕變得面...
    悶熱當(dāng)乘涼閱讀 4,463評(píng)論 0 13

友情鏈接更多精彩內(nèi)容