因為業務遷移,需要在其他地區、帳號、執行個體下使用登入的裝置,可以使用裝置分發功能。裝置被分發後,物聯網平台下發新的串連地址給裝置,裝置本地固化收到資訊之後,直接連接新的地址,免去二次燒錄裝置資訊。
使用限制
支援在所有已開通物聯網平台的地區之間分發裝置。
使用情境
裝置提前燒錄:在裝置出廠時,無需對裝置的不同地區和不同執行個體的串連資訊進行寫入程式碼,僅需對裝置統一燒錄全球統一存取點資訊(無地區資訊)。裝置出廠後,在物聯網平台控制台對裝置集中進行跨地區分發,實現裝置全球接入。
業務遷移:由於業務的遷移,需要更改裝置的接入地區或接入執行個體,可通過裝置分發,實現裝置跨地區、跨執行個體、跨帳號的變更。
針對使用情境,支援以下分發策略:
指定地區:將裝置分發到指定的地區、執行個體。如果能提前確認裝置會接入到的地區、執行個體,推薦使用該策略,分發效率更高。
就近接入:裝置可能會被拿到全球不同的地區使用,配置分發時在每個地區選擇一個執行個體,裝置接入時根據裝置的IP位置動態接入其中距離最近的地區。這樣裝置無論在哪,都能就近接入到指定地區。
使用說明
專案 | 說明 |
分發範圍 |
|
跨帳號分發 |
|
指定地區分發 |
分發對象說明,請參見分發對象。 |
就近接入分發 |
|
分發對象
裝置分發實現裝置跨執行個體、跨地區或跨帳號的分發。
裝置分發後,除了裝置本身,部分裝置資料、產品資料也被隨之分發,具體分發對象請參見下表。
分發對象 | 限制與說明 |
裝置 | 單次分發最大裝置數:10,000。 |
裝置資料 | 隨裝置分發裝置認證(ProductKey、DeviceName和DeviceSecret),用於裝置串連新執行個體時的認證。 以下裝置資料不會分發:
|
產品資料 | 分發產品資訊、Topic類、物模型、資料解析指令碼。但接收者在被分發產品下只允許查看,不允許編輯、刪除產品資料,即不可在控制台產品詳情頁面的產品資訊、Topic類列表、功能定義、資料解析頁簽,進行任何編輯或刪除操作,也不可在被分發產品下建立新裝置。 重要 裝置分發成功後:
|
注意事項
裝置分發影響的功能 | 說明 |
執行個體遷移 | 對於使用分發功能全球統一接入的裝置,若裝置所屬產品建立了執行個體遷移任務,裝置的全球統一接入網域名稱說明如下:
|
計費影響 |
|
裝置分發任務執行 |
|
訊息通訊 | 裝置分發成功後,若需使用AMQP服務端訂閱和雲產品流轉功能,需在裝置分發到的目標執行個體中重新進行AMQP服務端訂閱和雲產品流轉配置。 |
OTA升級 | 裝置分發成功後,若配置OTA升級,需注意:
OTA升級的更多資訊,請參見OTA升級概述。 |
產品資料更新 | 產品分發成功後,在源執行個體源產品詳情頁面的任何操作(自訂Topic、定義物模型和編輯資料解析指令碼等),均不會同步到目標執行個體的產品中。 |
分發流程
對於新裝置,需先在物聯網平台控制台建立產品與裝置,擷取物聯網平台頒發的裝置認證(ProductKey、DeviceName和DeviceSecret)。具體操作,請參見建立產品、單個建立裝置或大量建立裝置。
選擇阿里雲提供的4.x版本C Link SDK完成物理裝置開發,或根據互動協議自行完成裝置開發,使其實現如下功能。
說明推薦使用阿里雲的C Link SDK完成裝置開發,請參見裝置分發概述。
控制台對裝置進行分發後,裝置應按如下流程與物聯網平台建立串連:
根據裝置開發情境,選擇以下方式,發起介面Bootstrap請求。
阿里雲C Link SDK接入方式
裝置調用SDK封裝的Bootstrap介面,攜帶ProductKey和DeviceName,向裝置分發中心的全球統一網域名稱
https://iot-auth-global.aliyuncs.com
發送請求。其中,Bootstrap功能開發的具體操作,請參見概述。
非SDK的自行接入方式
按照如下協議內容,向
https://iot-auth-global.aliyuncs.com/auth/bootstrap
發送請求。表 1. 請求參數 參數
是否必選
說明
productKey
必選
裝置所屬產品的ProductKey,從物聯網平台控制台擷取。
具體操作,請參見單個建立裝置。
deviceName
必選
裝置名稱DeviceName,從物聯網平台控制台擷取。
clientId
可選
用戶端ID,長度不大於64個字元。
version
可選
認證服務的版本號碼。
timestamp
可選
時間戳記。時間戳記不做時間視窗校正。
resources
可選
希望擷取的資源描述,如MQTT。 多個資源名稱用逗號隔開。
表 2. 返回參數 參數
類型
說明
resources
Struct
資源資訊,如MQTT伺服器位址等。
請求樣本
POST /auth/bootstrap HTTP/1.1 Host: iot-auth-global.aliyuncs.com Content-Type: application/x-www-form-urlencoded Content-Length: 123 productKey=123×tamp=123&version=default&clientId=123&resources=mqtt&deviceName=test
返回樣本
HTTP/1.1 200 OK Server: Tengine Date: Wed, 29 Mar 2017 13:08:36 GMT Content-Type: application/json;charset=utf-8 Connection: close { "code" : 200, "data" : { "resources" : { "mqtt" : { "host" : "xxx.iot-as-mqtt.cn-shanghai.aliyuncs.com", "port" : 1883 } } }, "message" : "success" }
裝置分發中心根據分發的目標地區和執行個體(就近接入時,將根據裝置IP位置動態判斷目標地區和執行個體),返回裝置目標執行個體存取點。
裝置可以通過裝置認證(ProductKey、DeviceName、DeviceSecret)和分發服務返回給裝置的執行個體存取點資訊,使用MQTT協議與物聯網平台建立串連。
阿里雲C Link SDK接入方式
建議使用SDK 4.x版本進行裝置接入。具體操作,請參見概述。
非SDK的自行接入方式
使用Paho提供的嵌入式C語言MQTT開源工程進行裝置接入。具體操作,請參見Paho-MQTT C接入樣本。
(可選)控制台分發裝置後,裝置會收到如下MQTT訊息,提示裝置發生了分發,裝置將被迫下線。
MQTT訊息,資料下行。
請求Topic:
/sys/${productKey}/${deviceName}/thing/bootstrap/notify
。Alink請求資料格式:
{ "id": "****", "version": "1.0", "method": "thing.bootstrap.notify", "params": { "cmd": 0 } }
響應Topic:
/sys/${productKey}/${deviceName}/thing/bootstrap/notify_reply
。Alink響應資料格式:
{ "id": "****", "code":200, "data" : {} }
重要每次串連裝置時,建議先完成上述的前3個流程,以免裝置儲存的存取點與物聯網平台不一致,而導致裝置串連失敗。
裝置也支援本機存放區存取點資訊,當本地串連資訊丟失或串連失敗時,可發起Bootstrap請求,重新擷取存取點資訊。
完成裝置開發後,針對不同情況進行以下操作:
根據業務需求在控制台操作裝置分發,將裝置分發到指定的地區、執行個體、帳號。
登入物聯網平台控制台。
從頂部導覽列的地區下拉式功能表選擇華東2(上海),切換到華東2(上海)地區。
重要裝置分發功能僅在物聯網平台控制台的華東2(上海)地區的標準型、尊享型企業版執行個體和公用執行個體下顯示。裝置分發功能的源地區和目標地區沒有限制。
在執行個體概覽頁簽的全部環境下,找到對應的執行個體,單擊執行個體卡片。
在左側導覽列,選擇 。
在裝置分發頁面,單擊裝置分發。
按照頁面提示填寫資訊。
頁面參數設定如下:
參數
描述
分發方式
裝置分發方式:
本帳號:分發到本帳號的其他地區、執行個體。
跨帳號:分發到其他帳號。
說明跨帳號分發時,分發策略不支援就近接入。
目標帳號
分發方式選擇為跨帳號時,需設定跨帳號裝置分發的接收者。
選擇目標帳號的填寫形式:
目標帳號名稱:填寫阿里雲帳號名稱。
目標帳號ID:填寫阿里雲帳號ID。
說明阿里雲帳號ID,可登入物聯網平台控制台,單擊帳號頭像,跳轉至安全設定頁面查看。
授權碼
填寫目標帳號後,單擊擷取授權碼,系統會向目標帳號綁定的手機發送一條授權碼。授權碼5分鐘內有效,請聯絡裝置接收者擷取授權碼。
源地區
要分發的裝置所在的地區。
源執行個體
要分發的裝置所在的執行個體。
分發策略
裝置分發策略:
指定地區:將裝置分發到指定地區。
就近接入:選擇多個地區,裝置將根據裝置的IP位置動態接入其中距離最近的地區。
目標地區
分發策略選擇為指定地區時的參數。
選擇裝置要分發到的地區。
目標執行個體
分發策略選擇為指定地區時的參數。
設定裝置要分發到的執行個體。
分發方式選擇為本帳號時,選擇目標執行個體。
分發方式選擇為跨帳號時,填寫目標執行個體ID,不填寫預設為舊版公用執行個體。
重要如果目標執行個體為新版公用執行個體或企業版執行個體,必須填寫執行個體ID。
執行個體的詳細說明,請參見查看和配置執行個體終端節點資訊(Endpoint)。
地區範圍
分發策略選擇為就近接入時的參數。
選擇裝置可能分發到的多個目標地區。當可能分發到源地區時,源地區也需要選擇。
若地區下有多個執行個體,可從下拉框選擇要分發到的執行個體。
裝置選擇方式
可通過兩種方式選擇要分發的裝置:
手動勾選:從產品列表選擇裝置所在的產品,再從裝置列表選擇裝置。裝置列表翻頁時會保持裝置選中狀態。
分發策略選擇為指定地區時,如果不選擇裝置,則僅分發產品。
檔案上傳:上傳裝置分發列表檔案。一個檔案最多包含1,000條記錄,格式為CSV,可單擊下載模板擷取檔案模板。
單擊確認。
物聯網平台立即執行分發任務:
分發策略為指定地區:將產品資料和裝置資料分發到指定地區。
分發策略為就近接入:將產品資料分發到所有地區。而裝置資料會在裝置串連時,根據裝置的IP位置動態分發到就近地區。
請關注批次列表中顯示的任務狀態,可能出現以下幾種狀態:
狀態
說明
任務初始化中
正在初始化任務資訊。
分發任務進行中
正在執行分發任務。
如果長時間處於該狀態,請您重試。
分發任務完成
已完成分發任務。
分發任務完成不代表所有裝置都分發成功。各裝置是否分發成功,可以單擊任務對應的下載分髮結果,下載檔案進行查看。部分裝置分發失敗可能是由於裝置不存在等原因。
分發任務異常
可能由於網路抖動導致分發任務異常,請您重試。如果重試後仍有問題,請聯絡客服或提交工單處理。
分發任務完成後,裝置串連物聯網平台時,將按步驟2中介紹的流程與目標地區和執行個體建立串連。
相關API
API | 描述 |
建立裝置分發任務,預設同時分發裝置所屬產品。 | |
建立產品分發任務,分髮指定產品到指定的目標執行個體。 | |
擷取裝置分發任務執行完成後的結果資訊。 | |
擷取裝置分發任務的詳細資料。 | |
擷取裝置分發工作清單。 | |
刪除裝置分發任務。 | |
查詢已分發的裝置列表。 | |
查詢已分發的產品列表。 | |
查詢指定裝置的分髮結果。 |