1. 程式人生 > >【第四章】NB-IoT模組BC95 利用串列埠除錯助手接入華為(電信)平臺

【第四章】NB-IoT模組BC95 利用串列埠除錯助手接入華為(電信)平臺

BC95的Coap測試需要雲平臺配合,當前的支援Coap協議的平臺有華為OceanConnect平臺、電信天翼雲(除了logo其他和華為的一樣)、移動OneNet。此教程以華為的OceanConnect平臺為例進行測試。下面我將就平臺申請、平臺測開發、EVB_M1與平臺的收發測試做出詳細介紹

1、新增產品

裝置的Profile檔案是用來描述裝置型別和裝置服務能力的檔案。定義了同一類裝置具備的服務能力,屬性,命令等。

Step 1 登入開發者Portal,單擊“Profile開發>產品”,單擊頁面右上角的“自定義產品”,轉至“產品模板”頁面。 −您可以使用模板定義您的產品,單擊產品模板右上角的“立即使用”,這裡的引數需要根據您的裝置進行定義。

http://developer.huawei.com/ict/forum/data/attachment/forum/201711/17/142455oo352k0ggqgwqf1z.jpg −您也可單擊右上角的“建立全新產品”,直接定義您的產品,這裡以建立全新產品為例。

Step 2  根據實際填寫“裝置型別”、“裝置型號”、“廠商ID”、“廠商名稱”等資料。單擊“確定”,新增產品完成。

裝置型別:指示裝置的型別。下拉選擇型別。這裡以   Smoke為例。裝置型號:指示裝置的型號。這裡以NBIoTDevice為例。廠商ID:指示裝置廠商Id。這裡以NB-IoT CluB為例,請勿一致。廠商名稱:指示裝置的廠商名稱。這裡以NB-IoT CluB為例,請勿一致。

Step 3 在產品詳情頁面單擊“新建服務”,根據介面提示資訊,增加基本資訊,屬性或命令,單擊“儲存”。

− 新增服務基本資訊,服務的名稱採用駝峰的命名方式,這裡以Battery為例。描述可選,有多個服務就新增多條服務。

2、新增屬性

屬性名(propertyName):指示屬性名稱。這裡以batteryLevel為例。屬性型別(dataType):指示資料型別。取值範圍:int、float、datetime、string、jsonObject、array。這裡以int型別為例。 上報資料時,複雜型別資料格式如下: DateTime:yyyyMMdd’T’HHmmss’Z’如:20151212T121212Z jsonObject:自定義json結構體,平臺不理解只透傳。 最小(min)/最大值(max):指示最小/最大值。僅當dataType為int、float時生效,邏輯大於等於/小於等於。

步長(step):指示步長。暫不使用,可填0即可。單位(unit):指示單位,英文,取值根據引數確定。如:溫度單位:“°C”;百分比單位:“%”。長度(maxLength):指示字串長度。僅當dataType為string、datetime、jsonObject、array時生效。列舉值(enumList):如煙感屬性activityStatus可有如下取值[ "STANDBY", "RECORDING", "LIVING" ]。訪問模式(method):指示訪問模式。R:可讀;W:可寫;E可訂閱。取值範圍:R、RW、RE、RWE、null。

3、新增命令

命令名稱:指示裝置可以執行的命令。如門磁的Lock命令、攝像頭的VIDEO_RECORD命令。這裡以SET_DIVICE_LEVEL為例。

命令名與引數 共同構成一個完整的命令,在頁面上單擊“新增欄位”。

各欄位的說明和屬性中的欄位類似,這裡不再贅述。

開發完Profile檔案後,可以在介面上通過圖形化的方式完成裝置與平臺之間的訊息對映。在平臺中預集成了編解碼外掛的模板,可以根據裝置型別和接入協議在外掛模板中選擇模板修改開發編解碼外掛。

登入開發者Portal,單擊“外掛開發”,單擊右上角的“新增外掛”,轉到“外掛模板”頁籤,單擊“檢視”,您可以檢視各個模板的內容。  

  • 若您的業務和模板中類似,可使用模板再根據實際來修改。
  • 若您不需要使用模板,則可自己新建外掛。下面以新建外掛來說明如何開發編解碼外掛。使用模板的類似修改即可。http://developer.huawei.com/ict/forum/data/attachment/forum/201711/17/170551ughhsiazcrhrhsgy.jpg

1、新建外掛

Step 1 單擊頁面右上角的“新建外掛”,進入設計外掛頁面。

說明:您可以單擊右上角的“新手指導”,檢視外掛的實現原理。Step 2新增訊息。單擊“新增訊息”,輸入訊息的名稱(這裡以Battery為例)、描述和訊息型別(包括資料上報、命令下發和命令下發響應)。

Step 3 新增欄位。單擊“新增欄位”,新增上報資料的欄位。

名字:建議和profile檔案中設定的保持一致。便於和profile檔案中的欄位進行對 應。資料型別:包括int8u,int16u,int24u,int32u,string,variablelength string,array,variant。與profile中的相對應。長度:指示該欄位佔多少位元組長度。若長度為1,則在上報碼流時,這個欄位佔一位,即一個16進位制的數值。本例均以長度為1為例。預設值:該欄位在碼流中的參考值。偏移值:當前欄位到本條訊息碼流起始位置的位元組數,比如設定為2-3,則這個欄位在 碼流中的第2-3位。

說明:每個訊息必須有訊息地址域。地址域為標識唯一此訊息唯一ID的欄位,即唯一

http://developer.huawei.com/ict/forum/data/attachment/forum/201711/17/174740qoz31rs1st89irrw.jpg標識不同的訊息。地址域的名稱必須為messageId,且只有地址域的名稱可以為messageId。我們要模擬資料上報,命令下發的完整過程,需要建立“資料上報”、“命令下發”和“命令下發響應”三種類型的訊息。

用同樣方法新建下發命令訊息

Step 5 建立profile屬性、命令與訊息的對映關係。根據自己定義的profile,來設計 外掛中的訊息。通過拖拉服務中的屬性或命令,與訊息中的欄位進行關聯。屬性對應於資料上報中的欄位列表。有多個服務就新增多個訊息。為便於理解,欄位名稱建議和屬性名設定為相同。

Step 6 完成對映關係後,單擊頁面右上角的“部署”,部署成功後,系統會將您的設計結果自動生成編解碼外掛包。

1、註冊裝置

開發部署成功後,您可以將您的裝置接入到IoT平臺。Step 1 登入開發者Portal,單擊“我的裝置”,進入裝置列表頁面。單擊右上角的“註冊裝置”,轉向註冊裝置頁面,選擇您需要註冊裝置的Profile。

Step 2 單擊Profile,進入Profile詳情頁面,在頁面底部填寫裝置名稱和裝置標識碼,這裡的裝置名稱可以自己取,裝置標識碼為模組上的IMEI號或者通過AT+CGSN=1獲取(通常為8637開頭),單擊“註冊”,完成裝置的註冊。

說明:可以單擊裝置後面的修改或刪除按鈕,對裝置進行修改。

2、上報資料

Step 1開啟串列埠助手傳送相應AT指令傳送以下命令如下圖。

本例中,一共上報1個位元組“01“,表示上報資料對應的“batteryLevel”欄位,這些內容與profile檔案和編解碼外掛是一一對應的。

注:此處的AT+NCDP後的IP地址請改為申請平臺上收到的郵件中的裝置對接地址

 Step 2 單擊“我的裝置”,進入自己的裝置詳情頁面,單擊“歷史資料”頁籤,可以看到上報的資料。此時,上報資料即成功。如下圖所示。