物聯網基礎 BC28連線電信IOT平台進行資料傳輸

2021-10-19 08:56:29 字數 3119 閱讀 7191

物聯網產品框架:傳統裝置使用通訊模組連線雲伺服器(即上雲)做資料傳輸,雲端再進行資料應用。本文將使用 bc28 通過 coap 協議連線電信iot平台,簡單的介紹下移遠nb-iot通訊模組 bc28 是如何連線電信iot平台進行資料傳輸

nb-iot業務主要包含nb-iot裝置、nb-iot網路、物聯網開放平台、垂直行業應用:

bc28 是移遠的一款超緊湊、高效能、低功耗的多頻段 nb-iot 無線通訊模組,支援 b1/b3/b8/b5/b20/b28 頻段。其尺寸僅為17.7mm×15.8mm ×2.0mm,能最大限度地滿足終端裝置對小尺寸模組產品的需求,常被用於無線抄表、共享單車、智慧型停車、智慧型城市、安防、資產追蹤、智慧型家電、農業和環境監測以及其它諸多行業

電信iot平台是實現對各種nb-iot裝置資料的統一管理,同時向第三方應用系統開放介面,讓各種應用能快速構建自己的物聯網業務

電信物聯網平台包括應用管理、裝置管理、系統管理等能力,實現統一安全的網路接入、各種終端的靈活適配、海量資料的採集分析,從而實現新價值的創造。

物聯網平台不僅可以簡化各類終端廠家的開發,遮蔽各種複雜裝置介面,實現終端裝置的快速接入;同時面向各行業提供強大的開放能力,支撐各行業夥伴快速實現各種物聯網業務應用

裝置的profile檔案是用來描述一款裝置是什麼、能做什麼以及如何控制該裝置的檔案。每款裝置都需要乙個profile檔案

乙個profile檔案的內容主要包括兩部分,一部分是裝置的基礎屬性資訊,如manufacturerid(廠商id)、manufacturername(廠商名字)、devicetype(裝置型別)、model(裝置型號)、protocoltype(協議型別)等;另一部分是裝置的服務資訊,這一部分定義了裝置的業務資料,包括裝置上報的上行資料和廠商伺服器下發給裝置的下行資料

profile定義時,屬性列表先新建服務,再新增屬性;命令列表先新增命令,再新增命令下發字段

由於nb-iot裝置對省電要求通常較高,所以應用層資料一般採用十六進製制格式

應用層資料在中國電信物聯網開放平台做協議解析時,會轉換成統一的json格式,以方便應用伺服器使用。

要實現十六進製制訊息與json格式訊息的轉換功能,中國電信物聯網開放平台需要使用裝置廠商提供的編譯碼外掛程式,一款裝置對應乙個編譯碼外掛程式

編譯碼外掛程式開發時,先新建訊息,包含資料上報和命令下發兩條,再新增資料上報欄位和命令下發字段

注:關於profile定義和編譯碼外掛程式開發多種多樣,比如:多條資料上報訊息的外掛程式開發、字串及可變長字串資料型別的外掛程式開發、陣列及可變長陣列資料型別的外掛程式開發、含命令執行結果的編譯碼外掛程式開發,具體開發的教程可檢視電信官方文件:《中國電信物聯網開放平台_nb-iot業務對接指導書》

需將 profile 和編譯碼外掛程式建立對映關係

在使用模組對接平台之前,我們需要先使用平台的虛擬裝置模擬測試下是否能正常資料上報和命令下發

新增真實裝置,裝置名稱可自定義,裝置標識需使用模組的imei(國際移動裝置識別碼),imei在模組的外殼上面有絲印,也可使用at指令「at+cgsn=1」查詢

注:若傳送第乙個指令「at」,未返回「ok」的話,請檢查是否選擇了正確的串列埠,以及合適的波特率(bc28的串列埠波特率為9600)

序號at指令

指令解析1at

測試指令,若返回ok,則模組可正常通訊

2at+cpin?

檢查sim卡是否在位

3at+csq

查詢訊號質量

4at+cgatt=1

觸發網路連線

5at+cereg?

查詢網路註冊狀態

6at+cgatt?

查詢網路附著狀態

7at+cgpaddr

查詢模組的 ip 位址

bc28通過at指令連線電信iot平台的過程如下:當傳送at指令「at+qlwsregind=0」返回「+qlwevtind:3」時,代表裝置已連線上電信iot平台

序號at指令

指令解析

1at+ncdp=180.101.147.115,5683

設定 iot 平台 ip 位址及埠

2at+qlwsregind=0

開始註冊 iot 平台

資料上報的at指令為「at+qlwuldataex」,看看官方at指令手冊對它的描述

使用at指令為「at+qlwuldataex」傳送資料,當接收到「+qlwuldatastatus:4」表示資料傳送成功

序號at指令

指令解析

1at+qlwuldataex=4,00140012,0x0100

傳送con 訊息(00140012), iot 平台需要應答 ack 訊息

在電信iot平台可以看到上報的資料:

注:訊息傳送模式選擇帶釋放輔助提示時,表示模組在傳送完資料之後將釋放連線以進入空閒模式,否則模組會持續20多秒才能進入空閒模式,在做低功耗時需要用到

命令下發不需要at指令,但有一點需要注意:nb-iot模組由於是面向低功耗領域的,長時間處於休眠狀態,故雲端下發命令時,nb-iot模組不能及時接收到,只有當模組處於活動狀態下才能接收到雲端命令

基於nb-iot模組的這個特性,平台提供兩種命令下發機制:

快取下發:平台收到命令後放入佇列。在裝置上線的時候,平台依次下發命令佇列中的命令。快取下發適合對命令實時性要求不高的場景,比如配置水表的引數。快取下發平台根據裝置的省電模式進行不同處理,快取時間預設為48小時

電信iot平台下發「on」命令,裝置端接收到「on」的16進製制數「4f4e」,命令下發成功

BC95 ML5515 連線TCP流程

前言 移遠的nb模組bc95,和騏駿的nb ml5515 連線tcp大致流程 這兩家的產品不僅硬體封裝一樣連at指令也一樣,根據我測試的發現bc95的訊號更好。但是可能也跟我測試樣本太少有關 drawn by 67373upup 1 上電自啟動。2 尚未開發完成 開啟網路指示燈3 at nsocr ...

ESP8266連線阿里雲物聯網套件(一)

bin 存放編譯後生成的檔案 esp8266 rtos sdk gen misc.sh 編譯命令的指令碼 include 使用者可用的標頭檔案 aliyun config.h 配置連線阿里雲相關引數 mqtt.h 使用者可用的 mqtt 介面 ota.h 配置 ota 相關引數 makefile 總...

R基礎學習(二) 連線sqlserver

測試環境 win10 rstudio 三個步驟 1 建立odbc資料來源 2 install.packages rodbc 3 編寫連線測試指令碼 1 建立odbc資料來源 控制面板 系統和安全 管理工具 odbc資料來源 64位 系統dsn,點選新增按鈕,接著選擇安裝資料來源驅動程式 sql se...