本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:在 AWS IoT 中佈建裝置
本節會建立教學課程會使用的 AWS IoT Core 資源。
在 AWS IoT 中佈建裝置的步驟
步驟 1:建立 Device Shadow 的 AWS IoT 政策
X.509 憑證使用 AWS IoT Core 驗證您的裝置。將 AWS IoT 政策連接至憑證,允許裝置執行 AWS IoT 作業,例如訂閱或發佈至 Device Shadow 服務使用的 MQTT 預留主題。您的裝置會在連接並將訊息傳送至 AWS IoT Core 時顯示憑證。
在此過程中,您將會建立一個政策,可讓您的裝置執行 AWS IoT 執行範例程式所需的作業。建議您建立政策,該政策僅授予執行任務所需的許可權。您先建立 AWS IoT 政策,然後將其連接至稍後建立的裝置憑證。
如要建立 AWS IoT 政策
-
請在左側選單上選擇 Secure (安全),然後選擇 Policies (政策)。若您的帳戶具有現有政策,請選擇 Create (建立),否則,在 You don’t have a policy yet (您尚未設定政策) 頁面上,選擇 Create a policy (建立政策)。
-
在 Create policy (建立政策) 頁面上:
-
在 Name (名稱) 欄位中,輸入政策的名稱 (例如,
My_Device_Shadow_policy
)。請勿在政策名稱中使用個人識別資訊。 -
在政策文件中,您說明了連線、訂閱、接收和發佈動作,這些動作授予裝置發佈和訂閱 MQTT 預留主題的許可權限。
複製下列範例政策,並將其貼入您的政策文件中:以您所建立物件的名稱 (例如
My_light_bulb
) 替換thingname
,以您使用服務的 AWS IoT 區域替換region
,及以您的 AWS 帳戶 編號替換account
。如需 AWS IoT 政策的詳細資訊,請參閱 AWS IoT Core 政策。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update" ] }, { "Effect": "Allow", "Action": [ "iot:Receive" ], "Resource": [ "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get/accepted", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get/rejected", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/accepted", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/rejected", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/delta" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/get/accepted", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/get/rejected", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/accepted", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/rejected", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/delta" ] }, { "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:aws:iot:region:account:client/test-*" } ] }
-
步驟 2:建立物件資源並將政策連接至該物件
連線至 AWS IoT 的裝置可由 AWS IoT 登錄檔中的物件資源展示。物件資源意指特定裝置或邏輯實體,例如本教學課程中的燈泡。
如要了解如何在 AWS IoT 中建立物件,請遵循 建立物件 中所述的步驟。當您依照該教學課程中的步驟時,請注意以下一些關鍵事項:
-
選擇 Create a single thing (建立單一物件),在 Name (名稱) 欄位中,輸入與您先前建立政策時指定之
thingname
相同的物件名稱 (例如,My_light_bulb
)。物件類型建立之後,您就無法變更其名稱。若您給它一個不同於
thingname
的名字,請建立名為thingname
的新物件並刪除舊物件。注意
請勿在物件名稱中使用個人識別資訊。物件名稱可以出現在未加密的通訊和報告中。
-
我們建議您將憑證已建立!頁面上的每個憑證檔案下載至您可輕鬆找到的位置。您必須安裝這些檔案,才能執行範例應用程式。
建議您將檔案下載至 Raspberry Pi
home
目錄中的certs
子目錄上,並使用如下表中所建議更簡單名稱對其進行命名。憑證檔案名稱 檔案
檔案路徑
根 CA 憑證
~/certs/Amazon-root-CA-1.pem
裝置憑證
~/certs/device.pem.crt
私有金鑰
~/certs/private.pem.key
-
在您啟用憑證以啟用 AWS IoT 的連線後,請選擇 Attach a policy (連接政策),並確定您已將先前建立的政策 (例如,
My_Device_Shadow_policy
) 連接至該物件。建立物件之後,您可看到顯示於 AWS IoT 主控台之物件清單中的物件資源。
步驟 3:檢閱結果及後續步驟
在本教學課程中,您會了解如何:
-
設定及配置 Raspberry Pi 裝置。
-
建立 AWS IoT 政策文件,其授權您的裝置以與 AWS IoT 服務互動。
-
建立物件資源和相關聯的 X.509 裝置憑證,並將政策文件與其進行連接。
後續步驟
您現在可以安裝適用於 Python 的 AWS IoT 裝置 SDK,執行 shadow.py
範例應用程式,並使用 Device Shadows 控制狀態。如需如何執行本教學課程的詳細資訊,請參閱 教學課程:安裝裝置 SDK 並執行 Device Shadows 的範例應用程式。