登陸開發(fā)者中心
從 https://iot-dev.huaweicloud.com 登陸钠糊,登陸后的界面如下
設(shè)備開發(fā)
在開發(fā)者中心芒澜,我們開發(fā)調(diào)試的步驟如下:如果算上應(yīng)用開發(fā)忘伞,則完整流程圖如下:
創(chuàng)建項(xiàng)目和產(chǎn)品
在開發(fā)者中心首頁,新建一個(gè)項(xiàng)目名為LIyang家制,這個(gè)名稱一定要全網(wǎng)唯一氓栈,所以需要修改為自己的項(xiàng)目名稱。然后進(jìn)入項(xiàng)目向楼,創(chuàng)建一個(gè)新的自定義產(chǎn)品:
制作設(shè)備 Profile
新建一個(gè)名為 LightService 的服務(wù)驼壶,為其增加一個(gè)名為 Light 的屬性套鹅,如下:然后新增一個(gè)名為 Control 的命令祟身,為其增加一個(gè)名為 LED 的下發(fā)命令字段:
最后的信息如下:
開發(fā)編解碼插件
7.png
點(diǎn)擊“02 編解碼插件開發(fā)”司澎,新增一個(gè)名為 Light 的消息卢佣,并為其增加一個(gè)名為 Light 的數(shù)據(jù)上報(bào)字段:新增一個(gè)名為 Control 的消息重荠,并為其增加一個(gè)名為 SwitchMe 的字段:
最后映射 Profile 字段,點(diǎn)擊保存虚茶、點(diǎn)擊部署戈鲁。
模擬設(shè)備在線調(diào)測(cè)
點(diǎn)擊“04 在線調(diào)測(cè)”,新建一個(gè)虛擬設(shè)備嘹叫。發(fā)送十六進(jìn)制的 2020313233婆殿,長度為 5 個(gè)字符,對(duì)應(yīng)的 ASCII碼值為 123罩扇,數(shù)值前面有兩個(gè)空格婆芦。經(jīng)過編解碼插件解析后,應(yīng)用模擬器收到數(shù)值 123喂饥,正確消约。使用 AT 指令進(jìn)行 NB 設(shè)備在線調(diào)測(cè)
開發(fā)板接線如下:這樣連線以后,保證串口和 NB 模組相連员帮,NB 模組的輸入或粮、輸出就可以通過串口來實(shí)現(xiàn)。開發(fā)板連接完成以后上電捞高,打開 QCOM 串口調(diào)試軟件氯材,打開串口,波特率選擇 9600硝岗。輸入 AT 指令:
- AT+CGSN=1 查詢產(chǎn)品序列號(hào) =1 返回 IMEI 號(hào)
返回 BC35-G NB 模組的 IMEI 號(hào)氢哮,我的為869505046439780
在開發(fā)中心,進(jìn)入“產(chǎn)品->設(shè)備管理”型檀,增加一個(gè)真實(shí)設(shè)備命浴,填入上面的 IMEI 號(hào):此時(shí)設(shè)備列表狀態(tài)如下,這個(gè)真實(shí)設(shè)備并未上線:
繼續(xù)執(zhí)行其他 AT 指令以前贱除,建議執(zhí)行如下兩個(gè) AT 指令生闲,為 NB 模組配置回顯,這樣一旦 AT 指令執(zhí)行有什么問題月幌,就會(huì)打印詳細(xì)的 LOG:
- AT+NNMI=1 # 新消息標(biāo)志 =0 不顯示 =1 顯示標(biāo)示和數(shù)據(jù)
- AT+CMEE=1 # 報(bào)告移動(dòng)終端錯(cuò)誤 =1 啟用碍讯,返回詳細(xì)錯(cuò)誤碼 =0 禁用,統(tǒng)一返回 ERROR
所以蝎困,我們要向 NB 模組發(fā)送一條指令,來設(shè)置開發(fā)中心的 IP 地址和端口:
- AT+NCDP=49.4.85.232,5683 # 配置 CDP 服務(wù)器設(shè)置(IP 和端口號(hào))
完成以后倍啥,可以通過 AT+NCDP? 來查詢是否設(shè)置成功禾乘。重新啟動(dòng)開發(fā)板,等大概 30 秒鐘虽缕,再查看設(shè)備列表始藕,就可以看到真實(shí)設(shè)備上線了。
在這個(gè)真實(shí)設(shè)備上點(diǎn)擊“調(diào)試產(chǎn)品”氮趋,打開調(diào)試界面伍派。在 QCOM 上輸入以下指令:
- AT+NMGS=5,2020323334 # 發(fā)送數(shù)據(jù)
另外诉植,我們也可以測(cè)試下發(fā)命令數(shù)據(jù)。由于 NB 模組發(fā)送數(shù)據(jù)后很快就會(huì)進(jìn)入 PSM 省電模式昵观,所以在測(cè)試發(fā)送命令之前晾腔,應(yīng)該從 NB 模組立即上報(bào)一條數(shù)據(jù),喚醒 NB 模組啊犬,從而使得模組能夠收到來自平臺(tái)的命令灼擂。
在 QCOM 中執(zhí)行上傳數(shù)據(jù)命令:
- AT+NMGS=5,2020323334 # 發(fā)送數(shù)據(jù),從而將 NB 模組從 PSM 中喚醒
表示字符串長度為 2 缤至,其值為 4F4E ,這正是 ON 幾個(gè)字符的 ASCII 碼康谆。
經(jīng)過上面的測(cè)試领斥,我們可以發(fā)現(xiàn),NB 模組可以向 OceanConnect 發(fā)送數(shù)據(jù)沃暗,同時(shí) OceanConnect 發(fā)送的控制指令 NB 模組也可以收到月洛。也就是說,基于 NB 的雙向網(wǎng)絡(luò)通信是沒有任何問題的孽锥。
在這個(gè)實(shí)驗(yàn)中嚼黔,我們僅僅使用了板載的串口和 NB 模組,驗(yàn)證了 NB 模組的雙向通信能力惜辑,上傳的數(shù)據(jù)是我們構(gòu)造的唬涧,下發(fā)的命令我們也僅僅是收到了而已,并沒有進(jìn)行處理盛撑。要想進(jìn)行自動(dòng)數(shù)據(jù)上傳碎节,同時(shí)響應(yīng)下發(fā)指令,就需要我們編程抵卫,由 MCU 來處理狮荔。這個(gè)內(nèi)容由下面的實(shí)驗(yàn)來完成胎撇。