本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 3:測試裝置並儲存 Amazon CA 憑證
本節中的程序將繼續上一節的程序,將安裝 AWS Command Line Interface 和用來驗證與 AWS IoT Core 之間連線的憑證授權機構憑證。
完成本節後,您就會知道 Raspberry Pi 擁有必要的系統軟體來安裝 AWS IoT 裝置用戶端,並且它可以連線至網際網路。
安裝 AWS Command Line Interface
此程序會安裝 AWS CLI 到 Raspberry Pi。
如果使用的是 Raspberry Pi,或者如果可以在 IoT 裝置上編譯軟體,請在本機主機電腦上的終端機視窗中執行這些步驟。如果必須在本機主機電腦上編譯 IoT 裝置的軟體,請檢閱 IoT 裝置的軟體說明文件,取得其所需之程式庫的相關資訊。
在 Raspberry Pi 上安裝 AWS CLI
-
執行這些命令來下載和安裝 AWS CLI。
export PATH=$PATH:~/.local/bin
# configures the path to include the directory with the AWS CLIgit clone https://github.com/aws/aws-cli.git
# download the AWS CLI code from GitHubcd aws-cli && git checkout v2
# go to the directory with the repo and checkout version 2pip3 install -r requirements.txt
# install the prerequisite software -
執行此命令來安裝 AWS CLI。此命令最多需要 15 分鐘的時間即可完成。
pip3 install .
# install the AWS CLI -
執行此命令來確認現在已安裝正確版本的 AWS CLI。
aws --version
AWS CLI 版本至少應為 2.2 或更新版本。
如果 AWS CLI 顯示為目前版本,您就可以繼續進行 設定 AWS 帳戶 憑證。
設定 AWS 帳戶 憑證
在此過程中,您會取得 AWS 帳戶 憑證,並將憑證新增至 Raspberry Pi 上使用。
新增 AWS 帳戶 憑證到裝置
-
從 AWS 帳戶 取得 Access Key ID (存取金鑰 ID) 和Secret Access Key (私密存取金鑰),在裝置上驗證 AWS CLI。
如果您剛使用 AWS IAM,https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key/
介紹了要在 AWS 主控台上執行的程序,以建立要在裝置上使用的 AWS IAM 憑證。 -
在連接至 Raspberry Pi 的本機主機電腦終端機視窗上,以及裝置的 Access Key ID (存取金鑰 ID) 和 Secret Access Key (私密存取金鑰) 憑證:
-
使用此命令執行 AWS 設定應用程式:
aws configure
-
出現提示時,請輸入憑證和組態資訊:
AWS Access Key ID:
your Access Key ID
AWS Secret Access Key:your Secret Access Key
Default region name:your AWS 區域 code
Default output format:json
-
-
執行此命令來測試裝置對 AWS 帳戶 和 AWS IoT Core 端點的存取權。
aws iot describe-endpoint --endpoint-type iot:Data-ATS
應該會返回 AWS 帳戶 專用 AWS IoT 資料端點,如下列範例所示:
{ "endpointAddress": "a3EXAMPLEffp-ats.iot.us-west-2.amazonaws.com" }
如果看到 AWS 帳戶 專用 AWS IoT 資料端點,表示 Raspberry Pi 有繼續進行 下載 Amazon 根憑證授權機構憑證 的連線能力和許可。
重要
AWS 帳戶 憑證現在儲存在 Raspberry Pi 上的 microSD 卡。這會方便 AWS 未來與您和您在這些教學課程中所建立的軟體互動,它們也會根據預設被儲存並複製到您在此步驟之後製作的任一個 microSD 卡映像中。
為了保護 AWS 帳戶 憑證的安全,在儲存任何其他 microSD 卡映像之前,請考慮再次執行 aws configure
並輸入 Access Key ID (存取金鑰 ID) 和 Secret Access Key (私密存取金鑰) 的隨機字元來清除憑證,防止 AWS 帳戶 憑證遭到洩露。
如果不小心儲存了 AWS 帳戶 憑證,您可以在 AWS IAM 主控台上停用憑證。
下載 Amazon 根憑證授權機構憑證
此程序會下載並儲存 Amazon 根憑證憑證授權機構 (CA) 的憑證副本。下載並儲存此憑證以供後續教學課程使用,也可以測試裝置與 AWS 服務之間的連線能力。
下載並儲存 Amazon 根憑證授權機構憑證
-
執行此命令,為憑證建立目錄。
mkdir ~/certs
-
執行此命令來下載 Amazon 根憑證授權機構憑證。
curl -o ~/certs/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
-
執行這些命令來設定憑證目錄及其檔案的存取權。
chmod 745 ~ chmod 700 ~/certs chmod 644 ~/certs/AmazonRootCA1.pem
-
執行此命令來查看新目錄中的憑證授權機構憑證檔案。
ls -l ~/certs
您應該會看到類似這樣的項目。日期和時間會有所不同;不過,檔案大小和所有其他資訊應該與此處所示相同。
-rw-r--r-- 1 pi pi 1188 Oct 28 13:02 AmazonRootCA1.pem
如果檔案大小不是
1188
,請檢查 curl 命令參數。您可能下載了不正確的檔案。
(選用) 儲存 microSD 卡映像
此時,Raspberry Pi 的 microSD 卡已經擁有更新的作業系統和加載的基本應用程式軟體。
將 microSD 卡映像儲存至檔案
-
在本機主機電腦上的終端機視窗中清除 AWS 憑證。
-
使用此命令執行 AWS 設定應用程式:
aws configure
-
出現提示時,請取代憑證。您可以按 Enter 鍵,讓 Default region name (預設區域名稱) 和 Default output format (預設輸出格式) 保持不變。
AWS Access Key ID [****************YT2H]:
XYXYXYXYX
AWS Secret Access Key [****************9plH]:XYXYXYXYX
Default region name [us-west-2]: Default output format [json]:
-
-
輸入此命令來關閉 Raspberry Pi。
sudo shutdown -h 0
-
Raspberry Pi 完全關閉之後,移除其電源連接器。
-
從裝置中取出 microSD 卡。
-
在本機主機電腦上:
-
插入 microSD 卡。
-
使用 SD 卡映像工具,將 microSD 卡的映像儲存至檔案中。
-
儲存 microSD 卡的映像後,請從本機主機電腦中退出記憶卡。
-
-
在 Raspberry Pi 斷開電源後,將 microSD 卡插入 Raspberry Pi。
-
將電源連接至裝置。
-
大約一分鐘後,在本機主機電腦上重新啟動終端機視窗工作階段,然後登入裝置。
先不要重新輸入 AWS 帳戶 憑證。
在重新啟動並登入至 Raspberry Pi 之後,您就可以繼續進行 教學課程:安裝和設定 AWS IoT 裝置用戶端。