

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

# 設定 AWS IoT 裝置用戶端以測試連線
<a name="iot-dc-install-configure"></a>

本節中的程序會將 AWS IoT 裝置用戶端設定為從 Raspberry Pi 發佈 MQTT 訊息。

**Topics**
+ [建立組態檔](#iot-dc-install-dc-configure-step1)
+ [開啟 MQTT 測試用戶端](#iot-dc-install-dc-configure-step2)
+ [執行 AWS IoT 裝置用戶端](#iot-dc-install-dc-configure-step3)

## 建立組態檔
<a name="iot-dc-install-dc-configure-step1"></a>

此程序會建立組態檔案來測試 AWS IoT 裝置用戶端。

**建立組態檔案以測試 AWS IoT 裝置用戶端**
+ 在連接至 Raspberry Pi 本機主機電腦上的終端機視窗中：

  1. 輸入下列命令來建立組態檔的目錄，並設定目錄的許可：

     ```
     mkdir ~/dc-configs
     chmod 745 ~/dc-configs
     ```

  1. 開啟文字編輯器，例如 `nano`。

  1. 複製此 JSON 文件並將其貼入開啟的文字編輯器中。

     ```
     {
       "endpoint": "{{a3qEXAMPLEaffp-ats.iot.us-west-2.amazonaws.com}}",
       "cert": "~/certs/testconn/device.pem.crt",
       "key": "~/certs/testconn/private.pem.key",
       "root-ca": "~/certs/AmazonRootCA1.pem",
       "thing-name": "DevCliTestThing",
       "logging": {
         "enable-sdk-logging": true,
         "level": "DEBUG",
         "type": "STDOUT",
         "file": ""
       },
       "jobs": {
         "enabled": false,
         "handler-directory": ""
       },
       "tunneling": {
         "enabled": false
       },
       "device-defender": {
         "enabled": false,
         "interval": 300
       },
       "fleet-provisioning": {
         "enabled": false,
         "template-name": "",
         "template-parameters": "",
         "csr-file": "",
         "device-key": ""
       },
       "samples": {
         "pub-sub": {
           "enabled": true,
           "publish-topic": "test/dc/pubtopic",
           "publish-file": "",
           "subscribe-topic": "test/dc/subtopic",
           "subscribe-file": ""
         }
       },
       "config-shadow": {
         "enabled": false
       },
       "sample-shadow": {
         "enabled": false,
         "shadow-name": "",
         "shadow-input-file": "",
         "shadow-output-file": ""
       }
     }
     ```

  1. 將{{端點}}值取代為您 AWS 帳戶 在 中找到之 的裝置資料端點[在 中佈建您的裝置 AWS IoT Core](iot-dc-install-provision.md#iot-dc-install-dc-provision)。

  1. 將文字編輯器中的檔案儲存為 **\~/dc-configs/dc-testconn-config.json**。

  1. 執行此命令來設定新組態檔的許可。

     ```
     chmod 644 ~/dc-configs/dc-testconn-config.json
     ```

儲存檔案之後，您就可以繼續進行 [開啟 MQTT 測試用戶端](#iot-dc-install-dc-configure-step2)。

## 開啟 MQTT 測試用戶端
<a name="iot-dc-install-dc-configure-step2"></a>

此程序會準備 AWS IoT 主控台中的 **MQTT 測試用戶端**，以訂閱 AWS IoT 裝置用戶端在執行時發佈的 MQTT 訊息。

**準備 **MQTT test client** (MQTT 測試用戶端) 來訂閱所有 MQTT 訊息**

1. 在 [AWS IoT 主控台](https://console.aws.amazon.com//iot/home#/test)的本機主機電腦上，選擇 **MQTT test client** (MQTT 測試用戶端)。

1. 在 **Subscribe to a topic** (訂閱主題) 索引標籤的 **Topic filter** (主題篩選條件) 中，輸入 **\#** (單個井字符號)，然後選擇 **Subscribe** (訂閱)，即可訂閱每個 MQTT 主題。

1. 在 **Subscriptions** (訂閱) 標籤下方，請確認看到 **\#** (單個井字符號)。

在繼續進行 [執行 AWS IoT 裝置用戶端](#iot-dc-install-dc-configure-step3) 時，請讓有 **MQTT test client** (MQTT 測試用戶端) 的視窗保持開啟。

## 執行 AWS IoT 裝置用戶端
<a name="iot-dc-install-dc-configure-step3"></a>

此程序會執行 AWS IoT Device Client，以便發佈 MQTT **測試用戶端接收和顯示的單一 MQTT** 訊息。

**從 AWS IoT 裝置用戶端傳送 MQTT 訊息**

1. 請確保這兩個連接到 Raspberry Pi 的終端機視窗和有 **MQTT test client** (MQTT 測試用戶端) 的視窗會在您執行此程序時顯示出來。

1. 在終端機視窗中，輸入這些命令，以使用在 中建立的組態檔案執行 AWS IoT 裝置用戶端[建立組態檔](#iot-dc-install-dc-configure-step1)。

   ```
   cd ~/aws-iot-device-client/build
   ./aws-iot-device-client --config-file ~/dc-configs/dc-testconn-config.json
   ```

   在終端機視窗中， AWS IoT 裝置用戶端會顯示資訊訊息，以及執行時發生的任何錯誤。

   如果終端機視窗中未顯示任何錯誤，請檢閱 **MQTT test client** (MQTT 測試用戶端)。

1. 在 **MQTT test client** (MQTT 測試用戶端) 的 Subscriptions (訂閱) 視窗中，請參閱傳送至 `test/dc/pubtopic` 訊息主題的 *Hello World\!* 訊息。

1. 如果 AWS IoT 裝置用戶端未顯示錯誤，而且您在 **MQTT 測試用戶端**中看到 *Hello World！* 傳送至`test/dc/pubtopic`訊息，表示連線成功。

1. 在終端機視窗中，輸入 **^C**(Ctrl-C) 以停止 AWS IoT 裝置用戶端。

在您示範 AWS IoT 裝置用戶端在 Raspberry Pi 上正確執行且可與 通訊之後 AWS IoT，您可以繼續前往 [教學課程：示範與 AWS IoT 裝置用戶端的 MQTT 訊息通訊](iot-dc-testconn.md)。