

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

# 測試您的裝置並儲存 Amazon CA 憑證
<a name="iot-dc-prepare-device-test"></a>

本節中的程序會從[上一節](iot-dc-prepare-device-sw.md)繼續，安裝用於驗證您連線的 AWS Command Line Interface 和 Certificate Authority 憑證 AWS IoT Core。

完成本節後，您會知道 Raspberry Pi 具有安裝 AWS IoT 裝置用戶端所需的系統軟體，且其具有與網際網路的運作連線。

**必要設備：**
+ [上一節](iot-dc-prepare-device-sw.md)中的本機開發和測試環境
+ [上一節](iot-dc-prepare-device-sw.md)中使用的 Raspberry Pi
+ [上一節](iot-dc-prepare-device-sw.md)中的 microSD 記憶卡

**Topics**
+ [安裝 AWS Command Line Interface](#iot-dc-prepare-device-test-step1)
+ [設定您的 AWS 帳戶 登入資料](#iot-dc-prepare-device-test-step2)
+ [下載 Amazon 根憑證授權機構憑證](#iot-dc-prepare-device-test-step3)
+ [(選用) 儲存 microSD 卡映像](#iot-dc-prepare-device-test-step4)

## 安裝 AWS Command Line Interface
<a name="iot-dc-prepare-device-test-step1"></a>

此程序會將 安裝 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
   ```

1. 執行此命令來安裝 AWS CLI。此命令最多需要 15 分鐘的時間即可完成。

   ```
   pip3 install . # install the AWS CLI 
   ```

1. 執行此命令以確認 AWS CLI 已安裝正確的 版本。

   ```
   aws --version
   ```

   的版本 AWS CLI 應為 2.2 或更新版本。

如果 AWS CLI 顯示其目前版本，您就可以繼續 [設定您的 AWS 帳戶 登入資料](#iot-dc-prepare-device-test-step2)。

## 設定您的 AWS 帳戶 登入資料
<a name="iot-dc-prepare-device-test-step2"></a>

在此程序中，您將取得登入資料並新增這些 AWS 帳戶 登入資料，以便在 Raspberry Pi 上使用。

**將 AWS 帳戶 登入資料新增至您的裝置**

1. 從 取得**存取金鑰 ID** 和**私密存取金鑰** AWS 帳戶 ，以驗證 AWS CLI 裝置上的 。

   如果您是初次使用 AWS IAM，https：//[https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key/ ](https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key/)會說明在 AWS 主控台中執行的程序，以建立 AWS 要在裝置上使用的 IAM 登入資料。

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

   1. 使用此命令執行 AWS configure 應用程式：

      ```
      aws configure
      ```

   1. 出現提示時，請輸入憑證和組態資訊：

      ```
      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
      ```

1. 執行此命令來測試裝置對 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 根憑證授權機構憑證](#iot-dc-prepare-device-test-step3)。

**重要**  
您的 AWS 帳戶 登入資料現在會存放在 Raspberry Pi 中的 microSD 卡上。雖然這可讓您在未來 AWS 輕鬆地與 互動，以及您將在這些教學課程中建立的軟體互動，但在預設情況下，它們也會儲存在您在此步驟之後建立的任何 microSD 卡映像中並複製。  
為了保護 AWS 帳戶 登入資料的安全性，在您儲存任何其他 microSD 卡映像之前，請考慮`aws configure`再次執行 並輸入**存取金鑰 ID** 和**私密存取金鑰**的隨機字元來清除登入資料，以防止您的 AWS 帳戶 登入資料洩露。  
如果您發現不小心儲存了 AWS 帳戶 登入資料，您可以在 IAM AWS 主控台中停用登入資料。

## 下載 Amazon 根憑證授權機構憑證
<a name="iot-dc-prepare-device-test-step3"></a>

此程序會下載並儲存 Amazon 根憑證憑證授權機構 (CA) 的憑證副本。下載並儲存此憑證以供後續教學課程使用，也可以測試裝置與 AWS 服務之間的連線能力。

**下載並儲存 Amazon 根憑證授權機構憑證**

1. 執行此命令，為憑證建立目錄。

   ```
   mkdir ~/certs
   ```

1. 執行此命令來下載 Amazon 根憑證授權機構憑證。

   ```
   curl -o ~/certs/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
   ```

1. 執行這些命令來設定憑證目錄及其檔案的存取權。

   ```
   chmod 745 ~
   chmod 700 ~/certs
   chmod 644 ~/certs/AmazonRootCA1.pem
   ```

1. 執行此命令來查看新目錄中的憑證授權機構憑證檔案。

   ```
   ls -l ~/certs
   ```

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

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

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

## (選用) 儲存 microSD 卡映像
<a name="iot-dc-prepare-device-test-step4"></a>

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

**將 microSD 卡映像儲存至檔案**

1. 在本機主機電腦上的終端機視窗中清除 AWS 憑證。

   1. 使用此命令執行 AWS configure 應用程式：

      ```
      aws configure
      ```

   1. 出現提示時，請取代憑證。您可以按 **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]:
      ```

1. 輸入此命令來關閉 Raspberry Pi。

   ```
   sudo shutdown -h 0
   ```

1. Raspberry Pi 完全關閉之後，移除其電源連接器。

1. 從裝置中取出 microSD 卡。

1. 在本機主機電腦上：

   1. 插入 microSD 卡。

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

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

1. 在 Raspberry Pi 斷開電源後，將 microSD 卡插入 Raspberry Pi。

1. 將電源連接至裝置。

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

   **還不要重新輸入您的 AWS 帳戶 登入資料。**

在重新啟動並登入至 Raspberry Pi 之後，您就可以繼續進行 [教學課程：安裝和設定 AWS IoT 裝置用戶端](iot-dc-install-dc.md)。