本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 WiFi Simple Setup 設定佈建者
在此頁面上:
佈建者需求
佈建裝置必須符合這些需求,才能支援 WiFi Simple Setup。
硬體和安全性
受管整合 在
IOTMI_USE_WSS_PROVISIONEE啟用建置旗標的情況下完成終端裝置 SDK 整合用於安全儲存的硬體安全模組 (HSM) 或信任平台模組 (TPM)
WiFi 連線功能
適用於密碼編譯操作的足夠處理能力 (SHA-384、HKF)
身分驗證資料
將憑證和私有金鑰安全地存放在 HSM/TPM 中
唯一序號 (SN):12-50 個字元英數字元
通用產品代碼 (UPC):12 位數或歐洲商品編號 (EAN):13 位數
顯示 SN 和 UPC/EAN 的條碼標籤 (在裝置或包裝上)
注意
EAN 支援:佈建器目前僅支援 UPC。計劃在未來版本提供 EAN 支援。佈建者同時支援 UPC 和 EAN。
重要:與客戶 AWS 帳戶中每個受管物件配對的 SN 必須是唯一的。
軟體元件
將 PKCS#11 API 連線至 HSM/TPM 的 corePKCS11 平台抽象層 (PAL) 實作
具有預先共用金鑰 (PSK) 功能的 TLS 1.2/1.3 用戶端 (連接埠 4433,密碼套件:TLS_AES_256_GCM_SHA384 或同等項目)
SOCKS5 代理用戶端支援 (連接埠 1080)
SHA-384 和 HKDF 的密碼編譯函數
注意:corePKCS11 PAL 必須連接實際的 HSM/TPM 硬體,而非僅軟體實作。
製造需求
裝置製造商必須在製造期間佈建安全的資料和識別符。
安全資料佈建
申請憑證和私有金鑰:
在製造過程中產生
存放在 HSM 或 TPM 中 (生產裝置需要)
切勿在安全儲存體外部公開私有金鑰
透過 corePKCS11 PAL 界面存取
裝置識別符:
序號 (SN):12-50 個字元的唯一識別符
通用產品代碼 (UPC):12 位數產品代碼或歐洲商品編號 (EAN):13 位數產品代碼
在 HSM/TPM 中安全地與宣告憑證一起存放
條碼需求
實體標籤必須包含:
裝置或封裝上的 SN 條碼 (建議使用 Code 128 格式)
裝置或封裝上的 UPC/EAN 條碼 (UPC-A 或 EAN-13 格式)
輕鬆掃描的標籤 (光線充足、聚焦、無阻礙)
可存活運送和處理的標籤
機群佈建設定
AWS 帳戶組態:
使用 GetCustomEndpoint API 建立自訂端點
使用 CreateProvisioningProfile API 建立佈建設定檔
取得裝置系列的宣告憑證和私有金鑰
-
使用必要欄位設定機群佈建範本:
deviceSerialNumber(SN)universalProductCode(UPC) 或europeanArticleNumber(EAN)裝置憑證產生支援
AWS IoT Core 中的物件註冊
啟用佈建者功能
在帳戶連結期間,使用 CreateManagedThing API 為裝置啟用 WSS。
裝置註冊
{ "role": "DEVICE", "credentialLockerId": "ad5cdc9f786b4dbe9490e57c0b1d900e", "authenticationMaterialType": "WIFI_SETUP_QR_BAR_CODE", "authenticationMaterial": "SN:123456789331;UPC:123456789331", "wiFiSimpleSetupConfiguration": { "enableAsProvisionee": true, "timeoutInMinutes": 15 } }
參數:
role:佈建者裝置必須為「DEVICE」credentialLockerId:將裝置與家庭建立關聯 (與佈建器相同)authenticationMaterialType:針對 WSS 使用 "WIFI_SETUP_QR_BAR_CODE"authenticationMaterial:來自裝置條碼的 SN 和 UPC/EANenableAsProvisionee:設定為 true 以啟用 WSStimeoutInMinutes:啟用時段持續時間 (5-15 分鐘,預設值 15)
重試或重新啟用
使用 UpdateManagedThing 在初始失敗後重試:
{ "managedThingId": "existing-device-id", "wiFiSimpleSetupConfiguration": { "enableAsProvisionee": true, "timeoutInMinutes": 15 } }
條碼掃描工作流程
完成從條碼掃描到裝置啟用end-to-end工作流程。
步驟 1:準備
確保行動應用程式已安裝並經過驗證
確認佈建器裝置 (中樞) 已開啟電源並連線
讓裝置和封裝可供掃描
步驟 2:掃描並註冊
開啟行動應用程式並導覽至裝置設定
掃描裝置序號 (SN) 條碼
掃描通用產品代碼 (UPC) 或歐洲文章編號 (EAN) 條碼
行動應用程式會驗證掃描的資料
行動應用程式使用掃描資料和 WSS 組態呼叫 CreateManagedThing API
重要
單一佈建者加入限制:一次只能加入一個佈建者。如果您同時掃描多個裝置,則只會加入最新的掃描裝置。若要加入先前已掃描但未啟用的裝置,您必須執行 UpdateManagedThing 以重新啟用其設定時段。
步驟 3:雲端啟用
自動處理雲端:
使用 WSS 組態建立受管物件記錄
啟用 15 分鐘設定時段
識別合格的佈建器 (相同的登入資料儲存庫、
enableAsProvisioner=true、supportAsProvisioner=true)傳送佈建通知給所有合格的佈建器
佈建器會建立臨時 SoftAPs並為裝置連線做好準備
GetManagedThing 回應範例:
{ "managedThingId": "device-id", "role": "DEVICE", "credentialLockerId": "ad5cdc9f786b4dbe9490e57c0b1d900e", "authenticationMaterialType": "WIFI_SETUP_QR_BAR_CODE", "authenticationMaterial": "SN:123456789331;UPC:123456789331", "wiFiSimpleSetupConfiguration": { "enableAsProvisioner": false, "supportAsProvisioner": false, "enableAsProvisionee": true, "wssExpirationTimeStamp": "2025-06-04T20:22:04.069610Z" } }
金鑰欄位:
enableAsProvisionee:為 WSS 佈建設定的裝置wssExpirationTimeStamp:作用中設定時段結束時間 (過期時為 Null)
步驟 4:裝置開機
行動應用程式會顯示「立即在您的裝置上開啟電源」訊息
佈建者裝置上的使用者電源
-
WSS 工作流程會自動繼續:
裝置探索佈建器 SoftAP
身分驗證和憑證交換完成
裝置連線至 WiFi
行動應用程式會收到成功通知
啟用時段和逾時
WSS 使用限時時段和操作逾時來增強安全性和管理佈建。
啟用時段
預設:從條碼掃描到裝置啟用 15 分鐘
組態:
透過
timeoutInMinutes參數設定 (範圍:5-15 分鐘)預設:15 分鐘平衡便利性和安全性
過期行為:
佈建程式在逾時後從允許清單中移除裝置
裝置在過期後無法透過 WSS 連線
使用者必須重新掃描條碼或呼叫 UpdateManagedThing 以重新啟用
操作逾時
| 作業 | Timeout (逾時) | Behavior (行為) |
|---|---|---|
| SoftAP 探索 | 30 秒 | 重試最多 5 次,然後返回 使用者指南設定 |
| 機群佈建 | 30 秒 | 如果失敗,則以指數退避重試 |
| WiFi 連線 | 60 秒 | 報告錯誤,並在失敗時建議疑難排解 |
最佳實務
在條碼掃描後 5 分鐘內開啟裝置電源,並將裝置放在佈建器的軟性 WiFi 範圍附近
在掃描之前,請確定佈建器已開啟電源並連線
除非特定要求另有指示,否則請使用預設的 15 分鐘逾時
重試 WSS 設定
如果初始 WSS 設定失敗,請使用 UpdateManagedThing API 重試。
重試工作流程
步驟 1:識別失敗
行動應用程式收到 WSS 失敗通知
逾時會在未成功啟用的情況下過期
使用者看到「設定失敗」或「重試」訊息
步驟 2:透過 UpdateManagedThing 重試
{ "managedThingId": "device-managed-thing-id", "wiFiSimpleSetupConfiguration": { "enableAsProvisionee": true, "timeoutInMinutes": 15 } }
步驟 3:重新啟用
雲端會重新啟用 15 分鐘的設定時段
Provisioners 重新建立 SoftAP 和允許清單項目
使用者開啟裝置的電源 (如果尚未開啟電源)
WSS 工作流程繼續
常見的重試案例
| 案例 | 解決方案 |
|---|---|
| 裝置未及時開啟電源 | 立即呼叫 UpdateManagedThing 並開啟裝置電源 |
| Provisioner 無法使用 | 確保中樞在線上,然後重試 |
| 網路連線問題 | 驗證網路穩定,然後重試 |
| 使用者錯誤 | 使用正確的裝置重試 |
重要:每個 UpdateManagedThing 呼叫都會建立新的 15 分鐘時段。在 3-4 次失敗後,請考慮檢查佈建器狀態、驗證裝置功能,或使用 使用者指南設定。
停用佈建者功能
停用或永久移除佈建者裝置的 WSS。
使用 UpdateManagedThing API
{ "managedThingId": "device-managed-thing-id", "wiFiSimpleSetupConfiguration": { "enableAsProvisionee": false } }
使用 DeleteManagedThing API
{ "managedThingId": "device-managed-thing-id" }
Comparison (比較)
| Action | UpdateManagedThing | DeleteManagedThing |
|---|---|---|
| 裝置記錄 | 保留在雲端 | 永久移除 |
| 裝置狀態 | 已變更為已停用 | 不再存在 |
| 重新啟用 | 隨時重新啟用 WSS | 必須重新註冊裝置 |
| 使用案例 | 暫時停用、測試 | 裝置已淘汰,安全事件 |
安全考量
在下列情況下使用停用/刪除:
偵測到可疑活動
裝置回報遭竊
需要安全事件調查
裝置已停用或已傳回
停用/刪除後,請考慮:
如果登入資料可能已洩露,請變更 WiFi 密碼
檢閱異常活動的安全通知
檢查家中的其他裝置是否有類似問題