Hub 加入設定 - 的受管整合 AWS IoT Device Management

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Hub 加入設定

在開始機群佈建加入程序之前,請先為每個中樞裝置完成這些設定步驟。本節說明如何建立受管物件、設定目錄結構,以及設定所需的憑證。

步驟 1:註冊自訂端點

建立專用通訊端點,讓您的裝置用來與受管整合交換資料。此端點會為所有device-to-cloud訊息建立安全連線點,包括裝置命令、狀態更新和通知。

註冊端點
  • 使用 RegisterCustomEndpoint API device-to-managed整合通訊的端點。

    RegisterCustomEndpoint 請求範例

    aws iot-managed-integrations register-custom-endpoint

    回應:

    { [ACCOUNT-PREFIX]-ats.iot.AWS-REGION.amazonaws.com }
    注意

    存放端點地址。您將需要它來進行未來的裝置通訊。

    若要傳回端點資訊,請使用 GetCustomEndpoint API。

    如需詳細資訊,請參閱《 受管整合 API 參考指南》中的 RegisterCustomEndpoint API 和 GetCustomEndpoint API。

步驟 2:建立佈建設定檔

佈建設定檔包含您的裝置連線到受管整合所需的安全登入資料和組態設定。

建立機群佈建設定檔
  • 呼叫 CreateProvisioningProfile API 來產生下列項目:

    • 定義裝置連線設定的佈建範本

    • 裝置身分驗證的宣告憑證和私有金鑰

    重要

    安全地存放宣告憑證、私有金鑰和範本 ID。您需要這些登入資料,才能將裝置加入受管整合。如果您遺失這些登入資料,則必須建立新的佈建設定檔。

CreateProvisioningProfile 範例請求

aws iot-managed-integrations create-provisioning-profile \ --provisioning-type FLEET_PROVISIONING \ --name PROFILE_NAME

回應:

{ "Arn":"arn:aws:iotmanagedintegrations:AWS-REGION:ACCOUNT-ID:provisioning-profile/PROFILE-ID", "ClaimCertificate": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7.....w3rrszlaEXAMPLE= -----END CERTIFICATE-----", "ClaimCertificatePrivateKey": "-----BEGIN RSA PRIVATE KEY----- MIICiTCCAfICCQ...3rrszlaEXAMPLE= -----END RSA PRIVATE KEY-----", "Id": "PROFILE-ID", "PROFILE-NAME", "ProvisioningType": "FLEET_PROVISIONING" }

步驟 3:建立受管物件 (機群佈建)

使用 CreateManagedThing API 為您的中樞裝置建立受管物件。每個中樞都需要具有唯一身分驗證資料的自有受管物件。如需詳細資訊,請參閱 受管整合 API 參考中的 CreateManagedThing API。

當您建立受管物件時,請指定下列參數:

  • Role:將此值設定為 CONTROLLER

  • AuthenticationMaterial:包含下列欄位。

    • SN:此裝置的唯一序號

    • UPC:此裝置的通用產品代碼

  • Owner:此受管物件的擁有者識別符。

重要

每個裝置在其身分驗證資料中都必須有唯一的序號 (SN)。

CreateManagedThing 請求範例

{ "Role": "CONTROLLER", "Owner": "ThingOwner1", "AuthenticationMaterialType": "WIFI_SETUP_QR_BAR_CODE", "AuthenticationMaterial": "SN:123456789524;UPC:829576019524" }

如需詳細資訊,請參閱 受管整合 API 參考中的 CreateManagedThing

(選用) 取得受管物件

受管物件ProvisioningStatus的 必須是 UNCLAIMED才能繼續。使用 GetManagedThing API 驗證您的受管物件是否存在,並準備好進行佈建。如需詳細資訊,請參閱《 受管整合 API 參考》中的 GetManagedThing

步驟 4:建立目錄結構

為您的組態檔案和憑證建立目錄。根據預設,中樞加入程序會使用 /data/aws/iotmi/config/iotmi_config.json

您可以在組態檔案中指定憑證和私有金鑰的自訂路徑。本指南使用預設路徑 /data/aws/iotmi/certs

mkdir -p /data/aws/iotmi/config mkdir -p /data/aws/iotmi/certs /data/ aws/ iotmi/ config/ certs/

步驟 5:將身分驗證資料新增至中樞裝置

將憑證和金鑰複製到您的中樞裝置,然後建立裝置特定的組態檔案。這些檔案會在佈建程序期間,在您的中樞與受管整合之間建立安全通訊。

複製宣告憑證和金鑰
  • 將這些身分驗證檔案從 CreateProvisioningProfile API 回應複製到您的中樞裝置:

    • claim_cert.pem:宣告憑證 (適用於所有裝置)

    • claim_pk.key:宣告憑證的私有金鑰

    將兩個檔案放在 /data/aws/iotmi/certs目錄中。

    重要

    以 PEM 格式儲存憑證和私有金鑰時,請正確處理換行字元,以確保格式正確。對於 PEM 編碼的檔案,新行字元(\n)必須以實際的行分隔符號取代,因為僅儲存逸出的新行之後將無法正確擷取。

    注意

    如果您使用安全儲存,請將這些登入資料存放在您的安全儲存位置,而不是檔案系統。如需詳細資訊,請參閱建立用於安全儲存的自訂憑證處理常式

步驟 6:建立裝置組態檔案

建立包含唯一裝置識別符、憑證位置和佈建設定的組態檔案。軟體開發套件會在中樞加入期間使用此檔案來驗證您的裝置、管理佈建狀態,以及儲存連線設定。

注意

每個中樞裝置都需要具有唯一裝置特定值的專屬組態檔案。

使用下列程序來建立或修改您的組態檔案,並將其複製到中樞。

  • 建立或修改組態檔案 (機群佈建)

    在裝置組態檔案中設定這些必要欄位:

    • 憑證路徑

      1. iot_claim_cert_path:申請憑證的位置 (claim_cert.pem)

      2. iot_claim_pk_path:私有金鑰的位置 (claim_pk.key)

      3. 實作安全儲存憑證處理常式時,請SECURE_STORAGE針對這兩個欄位使用

    • 連線設定

      1. fp_template_name:先前 ProvisioningProfile的名稱。

      2. endpoint_url:您的受管整合來自 RegisterCustomEndpoint API 回應的端點 URL (與區域中所有裝置相同)。

    • 裝置識別符

      1. SN:符合您 CreateManagedThing API 呼叫的裝置序號 (每個裝置唯一)

      2. UPC來自 CreateManagedThing API 呼叫的通用產品代碼 (與此產品的所有裝置相同)

    { "ro": { "iot_provisioning_method": "FLEET_PROVISIONING", "iot_claim_cert_path": "<SPECIFY_THIS_FIELD>", "iot_claim_pk_path": "<SPECIFY_THIS_FIELD>", "fp_template_name": "<SPECIFY_THIS_FIELD>", "endpoint_url": "<SPECIFY_THIS_FIELD>", "SN": "<SPECIFY_THIS_FIELD>", "UPC": "<SPECIFY_THIS_FIELD>" }, "rw": { "iot_provisioning_state": "NOT_PROVISIONED" } }

組態檔案的內容

檢閱 iotmi_config.json 檔案的內容。

目錄
金錀 由客戶新增? 備註
iot_provisioning_method FLEET_PROVISIONING 指定您要使用的佈建方法。
iot_claim_cert_path 您指定的檔案路徑 或 SECURE_STORAGE。例如 /data/aws/iotmi/certs/claim_cert.pem 指定您要使用 或 的檔案路徑SECURE_STORAGE
iot_claim_pk_path 您指定的檔案路徑 或 SECURE_STORAGE。例如 /data/aws/iotmi/certs/claim_pk.pem 指定您要使用 或 的檔案路徑SECURE_STORAGE
fp_template_name 機群佈建範本名稱應等於先前使用的 ProvisioningProfile 名稱。 等於先前ProvisioningProfile使用的 名稱
endpoint_url 受管整合的端點 URL。 您的裝置使用此 URL 連線到受管整合雲端。若要取得此資訊,請使用 RegisterCustomEndpoint API。
SN 裝置序號。例如 AIDACKCEVSQ6C2EXAMPLE 您必須為每個裝置提供此唯一資訊。
UPC 裝置通用產品程式碼。例如 841667145075 您必須為裝置提供此資訊。
managed_thing_id 受管物件的 ID。 此資訊稍後會由中樞佈建後的加入程序新增。
iot_provisioning_state 佈建狀態。 佈建狀態必須設定為 NOT_PROVISIONED
iot_permanent_cert_path IoT 憑證路徑。例如 /data/aws/iotmi/iot_cert.pem 此資訊稍後會由中樞佈建後的加入程序新增。
iot_permanent_pk_path IoT 私有金鑰檔案路徑。例如 /data/aws/iotmi/iot_pk.pem 此資訊稍後會由中樞佈建後的加入程序新增。
client_id 將用於 MQTT 連線的用戶端 ID。 此資訊稍後會由中樞佈建後的加入程序新增,以供其他元件使用。
event_manager_upper_bound 預設值為 500 此資訊稍後會由中樞佈建後的加入程序新增,以供其他元件使用。

步驟 7:將組態檔案複製到您的中樞

將您的組態檔案複製到 /data/aws/iotmi/config或自訂目錄路徑。您將在加入程序期間提供此HubOnboarding二進位檔路徑。

對於機群佈建

/data/ aws/ iotmi/ config/ iotmi_config.json certs/ claim_cert.pem claim_pk.key