步驟 3:測試裝置並儲存 Amazon CA 憑證 - AWS IoT Core

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

步驟 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
  1. 執行這些命令來下載和安裝 AWS CLI。

    export PATH=$PATH:~/.local/bin # configures the path to include the directory with the AWS CLI git clone https://github.com/aws/aws-cli.git # download the AWS CLI code from GitHub cd aws-cli && git checkout v2 # go to the directory with the repo and checkout version 2 pip3 install -r requirements.txt # install the prerequisite software
  2. 執行此命令來安裝 AWS CLI。此命令最多需要 15 分鐘的時間即可完成。

    pip3 install . # install the AWS CLI
  3. 執行此命令來確認現在已安裝正確版本的 AWS CLI。

    aws --version

    AWS CLI 版本至少應為 2.2 或更新版本。

如果 AWS CLI 顯示為目前版本,您就可以繼續進行 設定 AWS 帳戶 憑證

設定 AWS 帳戶 憑證

在此過程中,您會取得 AWS 帳戶 憑證,並將憑證新增至 Raspberry Pi 上使用。

新增 AWS 帳戶 憑證到裝置
  1. 從 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 憑證。

  2. 在連接至 Raspberry Pi 的本機主機電腦終端機視窗上,以及裝置的 Access Key ID (存取金鑰 ID) 和 Secret Access Key (私密存取金鑰) 憑證:

    1. 使用此命令執行 AWS 設定應用程式:

      aws configure
    2. 出現提示時,請輸入憑證和組態資訊:

      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
  3. 執行此命令來測試裝置對 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 根憑證授權機構憑證
  1. 執行此命令,為憑證建立目錄。

    mkdir ~/certs
  2. 執行此命令來下載 Amazon 根憑證授權機構憑證。

    curl -o ~/certs/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
  3. 執行這些命令來設定憑證目錄及其檔案的存取權。

    chmod 745 ~ chmod 700 ~/certs chmod 644 ~/certs/AmazonRootCA1.pem
  4. 執行此命令來查看新目錄中的憑證授權機構憑證檔案。

    ls -l ~/certs

    您應該會看到類似這樣的項目。日期和時間會有所不同;不過,檔案大小和所有其他資訊應該與此處所示相同。

    -rw-r--r-- 1 pi pi 1188 Oct 28 13:02 AmazonRootCA1.pem

    如果檔案大小不是 1188,請檢查 curl 命令參數。您可能下載了不正確的檔案。

(選用) 儲存 microSD 卡映像

此時,Raspberry Pi 的 microSD 卡已經擁有更新的作業系統和加載的基本應用程式軟體。

將 microSD 卡映像儲存至檔案
  1. 在本機主機電腦上的終端機視窗中清除 AWS 憑證。

    1. 使用此命令執行 AWS 設定應用程式:

      aws configure
    2. 出現提示時,請取代憑證。您可以按 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]:
  2. 輸入此命令來關閉 Raspberry Pi。

    sudo shutdown -h 0
  3. Raspberry Pi 完全關閉之後,移除其電源連接器。

  4. 從裝置中取出 microSD 卡。

  5. 在本機主機電腦上:

    1. 插入 microSD 卡。

    2. 使用 SD 卡映像工具,將 microSD 卡的映像儲存至檔案中。

    3. 儲存 microSD 卡的映像後,請從本機主機電腦中退出記憶卡。

  6. 在 Raspberry Pi 斷開電源後,將 microSD 卡插入 Raspberry Pi。

  7. 將電源連接至裝置。

  8. 大約一分鐘後,在本機主機電腦上重新啟動終端機視窗工作階段,然後登入裝置。

    先不要重新輸入 AWS 帳戶 憑證。

在重新啟動並登入至 Raspberry Pi 之後,您就可以繼續進行 教學課程:安裝和設定 AWS IoT 裝置用戶端