日本在线精品一_五月婷婷色综合_午夜精品久久久久久久99热_亚洲大成色WWW永久网站

?

物聯(lián)網(wǎng)基礎(chǔ):BC28連接電信IOT平臺進行數(shù)據(jù)傳輸


發(fā)布時間:2021-11-08 00:43

物聯(lián)網(wǎng)產(chǎn)品框架:傳統(tǒng)設(shè)備使用通信模組連接云服務(wù)器(即上云)做數(shù)據(jù)傳輸,云端再進行數(shù)據(jù)應(yīng)用。[物聯(lián)網(wǎng)基礎(chǔ):BC28連接電信IOT平臺進行數(shù)據(jù)傳輸]。本文將使用 BC28 通過 COAP 協(xié)議連接電信IOT平臺,簡單的介紹下移遠NB-IOT通信模塊 BC28 是如何連接電信IOT平臺進行數(shù)據(jù)傳輸

1 相關(guān)介紹

1.1 NB-IOT業(yè)務(wù)介紹

NB-IOT業(yè)務(wù)主要包含NB-IoT設(shè)備、NB-IOT網(wǎng)絡(luò)、物聯(lián)網(wǎng)開放平臺、垂直行業(yè)應(yīng)用:

  • NB-IOT設(shè)備:通過無線網(wǎng)絡(luò)連接到中國電信物聯(lián)網(wǎng)開放平臺,采用CoAP協(xié)議接入,如水表、燃氣表等
  • NB-IOT網(wǎng)絡(luò):實現(xiàn)對NB-IoT終端的移動性管理與會話管理;為NB-IoT終端建立用戶面承載,傳遞上下行業(yè)務(wù)數(shù)據(jù)
  • 物聯(lián)網(wǎng)開放平臺:實現(xiàn)對各種NB-IoT設(shè)備數(shù)據(jù)的統(tǒng)一管理,同時向第三方應(yīng)用系統(tǒng)開放接口,讓各種應(yīng)用能快速構(gòu)建自己的物聯(lián)網(wǎng)業(yè)務(wù)
  • 垂直行業(yè)應(yīng)用:實現(xiàn)對NB設(shè)備的業(yè)務(wù)管理,包括業(yè)務(wù)發(fā)放、業(yè)務(wù)控制和呈現(xiàn)等,由第三方基于中國電信物聯(lián)網(wǎng)開放平臺開放接口進行開發(fā)

1.2 BC28 概述

BC28 是移遠的一款超緊湊、高性能、低功耗的多頻段 NB-IoT 無線通信模塊,支持 B1/B3/B8/B5/B20/B28 頻段。其尺寸僅為17.7mm×15.8mm ×2.0mm,能最大限度地滿足終端設(shè)備對小尺寸模塊產(chǎn)品的需求,常被用于無線抄表、共享單車、智能停車、智慧城市、安防、資產(chǎn)追蹤、智能家電、農(nóng)業(yè)和環(huán)境監(jiān)測以及其它諸多行業(yè)

  • BC28 模塊詳細參數(shù):
  • BC28 模塊主要性能:

1.3 電信IOT平臺

電信IOT平臺是實現(xiàn)對各種NB-IoT設(shè)備數(shù)據(jù)的統(tǒng)一管理,同時向第三方應(yīng)用系統(tǒng)開放接口,讓各種應(yīng)用能快速構(gòu)建自己的物聯(lián)網(wǎng)業(yè)務(wù)

電信物聯(lián)網(wǎng)平臺包括應(yīng)用管理、設(shè)備管理、系統(tǒng)管理等能力,實現(xiàn)統(tǒng)一安全的網(wǎng)絡(luò)接入、各種終端的靈活適配、海量數(shù)據(jù)的采集分析,從而實現(xiàn)新價值的創(chuàng)造。

物聯(lián)網(wǎng)平臺不僅可以簡化各類終端廠家的開發(fā),屏蔽各種復(fù)雜設(shè)備接口,實現(xiàn)終端設(shè)備的快速接入;同時面向各行業(yè)提供強大的開放能力,支撐各行業(yè)伙伴快速實現(xiàn)各種物聯(lián)網(wǎng)業(yè)務(wù)應(yīng)用

2 電信IOT平臺創(chuàng)建產(chǎn)品

2.1 創(chuàng)建產(chǎn)品

  • 首頁我的項目處創(chuàng)建項目,填寫項目名稱,選擇所屬行業(yè)即可
  • 創(chuàng)建產(chǎn)品,選擇自定義產(chǎn)品
  • 填寫產(chǎn)品信息,注意此處的應(yīng)用層協(xié)議類型需選擇 CoAP 協(xié)議,因為BC28只支持 CoAP 協(xié)議,不支持 LWM2M 協(xié)議

2.2 Profile定義

設(shè)備的Profile文件是用來描述一款設(shè)備是什么、能做什么以及如何控制該設(shè)備的文件。每款設(shè)備都需要一個Profile文件

一個Profile文件的內(nèi)容主要包括兩部分,一部分是設(shè)備的基礎(chǔ)屬性信息,如manufacturerId(廠商ID)、manufacturerName(廠商名字)、deviceType(設(shè)備類型)、model(設(shè)備型號)、protocolType(協(xié)議類型)等;另一部分是設(shè)備的服務(wù)信息,這一部分定義了設(shè)備的業(yè)務(wù)數(shù)據(jù),包括設(shè)備上報的上行數(shù)據(jù)和廠商服務(wù)器下發(fā)給設(shè)備的下行數(shù)據(jù)

Profile定義時,屬性列表先新建服務(wù),再添加屬性;命令列表先添加命令,再添加命令下發(fā)字段

  • 添加兩個上報屬性:temperature 和 humidity ,數(shù)據(jù)類型為 int
  • 添加一個命令下發(fā)字段:command,數(shù)據(jù)類型為 string

2.3 編解碼插件開發(fā)

NB-IoT設(shè)備和中國電信物聯(lián)網(wǎng)開放平臺之間采用CoAP協(xié)議通訊,CoAP消息的數(shù)據(jù)為應(yīng)用層數(shù)據(jù),應(yīng)用層數(shù)據(jù)的格式由設(shè)備廠商自行定義

由于NB-IoT設(shè)備對省電要求通常較高,所以應(yīng)用層數(shù)據(jù)一般采用十六進制格式

應(yīng)用層數(shù)據(jù)在中國電信物聯(lián)網(wǎng)開放平臺做協(xié)議解析時,會轉(zhuǎn)換成統(tǒng)一的json格式,以方便應(yīng)用服務(wù)器使用。

要實現(xiàn)十六進制消息與json格式消息的轉(zhuǎn)換功能,中國電信物聯(lián)網(wǎng)開放平臺需要使用設(shè)備廠商提供的編解碼插件,一款設(shè)備對應(yīng)一個編解碼插件

編解碼插件開發(fā)時,先新建消息,包含數(shù)據(jù)上報和命令下發(fā)兩條,再添加數(shù)據(jù)上報字段和命令下發(fā)字段

  • 添加兩個數(shù)據(jù)上報字段:temperature 和 humidity ,數(shù)據(jù)類型選擇 int16u(16位無符號整型)
  • 添加一個命令下發(fā)字段:command,數(shù)據(jù)類型選擇 string(字符串類型)

注:關(guān)于Profile定義和編解碼插件開發(fā)多種多樣,比如:多條數(shù)據(jù)上報消息的插件開發(fā)、字符串及可變長字符串數(shù)據(jù)類型的插件開發(fā)、數(shù)組及可變長數(shù)組數(shù)據(jù)類型的插件開發(fā)、含命令執(zhí)行結(jié)果的編解碼插件開發(fā),具體開發(fā)的教程可查看電信官方文檔:《中國電信物聯(lián)網(wǎng)開放平臺_NB-IoT業(yè)務(wù)對接指導(dǎo)書》

2.4 建立映射關(guān)系

需將 Profile 和編解碼插件建立映射關(guān)系

  • 拖動右側(cè)“設(shè)備模型”區(qū)域的屬性字段和命令字段,數(shù)據(jù)上報消息和命令下發(fā)消息的相應(yīng)字段建立映射關(guān)系

2.5 虛擬設(shè)備測試

在使用模塊對接平臺之前,我們需要先使用平臺的虛擬設(shè)備模擬測試下是否能正常數(shù)據(jù)上報和命令下發(fā)

  • 新建虛擬設(shè)備
  • 數(shù)據(jù)上報,若上報溫度數(shù)據(jù)為20,濕度數(shù)據(jù)為18,則對應(yīng)的16進制數(shù)據(jù)為0010012
  • 命令下發(fā):若下發(fā)命令ON,設(shè)備端接收到16進制數(shù)據(jù) 4F4E
  • 虛擬設(shè)備能正常數(shù)據(jù)上報和命令下發(fā),說明 Profile 定義和編解碼插件開發(fā)沒問題

2.6 添加真實設(shè)備

添加真實設(shè)備,設(shè)備名稱可自定義,設(shè)備標識需使用模塊的IMEI(國際移動設(shè)備識別碼),IMEI在模塊的外殼上面有絲印,也可使用AT指令“AT+CGSN=1”查詢

3 NB-IOT模塊通信

3.1 附著網(wǎng)絡(luò)

BC28通過AT指令附著網(wǎng)絡(luò)(即連接網(wǎng)絡(luò))的過程如下:當能查詢到到模塊的IP地址時,說明網(wǎng)絡(luò)附著成功

注:若發(fā)送第一個指令“AT”,未返回“OK”的話,請檢查是否選擇了正確的串口,以及合適的波特率(BC28的串口波特率為9600)

序號 AT指令 指令解析 1 AT 測試指令,若返回OK,則模塊可正常通信 2 AT+CPIN? 檢查SIM卡是否在位 3 AT+CSQ 查詢信號質(zhì)量 4 AT+CGATT=1 觸發(fā)網(wǎng)絡(luò)連接 5 AT+CEREG? 查詢網(wǎng)絡(luò)注冊狀態(tài) 6 AT+CGATT? 查詢網(wǎng)絡(luò)附著狀態(tài) 7 AT+CGPADDR 查詢模塊的 IP 地址

3.2 連接電信云

BC28通過AT指令連接電信IOT平臺的過程如下:當發(fā)送AT指令“AT+QLWSREGIND=0”返回“+QLWEVTIND:3”時,代表設(shè)備已連接上電信IOT平臺

序號 AT指令 指令解析 1 AT+NCDP=180.101.147.115,5683 設(shè)置 IoT 平臺 IP 地址及端口 2 AT+QLWSREGIND=0 開始注冊 IoT 平臺

在電信IOT平臺上設(shè)備的狀態(tài)變?yōu)椤霸诰€”,代表設(shè)備已連接上電信IOT平臺

3.3 數(shù)據(jù)上報

數(shù)據(jù)上報的AT指令為“AT+QLWULDATAEX”,看看官方AT指令手冊對它的描述

使用AT指令為“AT+QLWULDATAEX”發(fā)送數(shù)據(jù),當接收到“+QLWULDATASTATUS:4”表示數(shù)據(jù)發(fā)送成功

序號 AT指令 指令解析 1 AT+QLWULDATAEX=4,00140012,0X0100 發(fā)送CON 消息(00140012), IoT 平臺需要應(yīng)答 ACK 消息

在電信IOT平臺可以看到上報的數(shù)據(jù):{ "temperature": 20, "humidity": 18 }

注:消息發(fā)送模式選擇帶釋放輔助提示時,表示模塊在發(fā)送完數(shù)據(jù)之后將釋放連接以進入空閑模式,否則模塊會持續(xù)20多秒才能進入空閑模式,在做低功耗時需要用到

3.4 命令下發(fā)

命令下發(fā)不需要AT指令,但有一點需要注意:NB-IOT模塊由于是面向低功耗領(lǐng)域的,長時間處于休眠狀態(tài),故云端下發(fā)命令時,NB-IOT模塊不能及時接收到,只有當模塊處于活動狀態(tài)下才能接收到云端命令

基于NB-IOT模塊的這個特性,平臺提供兩種命令下發(fā)機制:

  • 立即下發(fā):平臺立即發(fā)送收到的命令,如果設(shè)備不在線或者設(shè)備沒收到指令則下發(fā)失敗。立即下發(fā)適合對命令實時性有要求的場景,比如路燈開關(guān)燈,燃氣表開關(guān)閥。使用立即下發(fā)時,應(yīng)用需要自己保證下發(fā)的時機
  • 緩存下發(fā):平臺收到命令后放入隊列。在設(shè)備上線的時候,平臺依次下發(fā)命令隊列中的命令。緩存下發(fā)適合對命令實時性要求不高的場景,比如配置水表的參數(shù)。緩存下發(fā)平臺根據(jù)設(shè)備的省電模式進行不同處理,緩存時間默認為48小時

電信IOT平臺下發(fā)“ON”命令,設(shè)備端接收到“ON”的16進制數(shù)“4F4E”,命令下發(fā)成功