步驟 3:設定要測試連線能力的 AWS IoT 裝置用戶端 - AWS IoT Core

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

步驟 3:設定要測試連線能力的 AWS IoT 裝置用戶端

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

建立組態檔

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

建立組態檔來測試 AWS IoT 裝置用戶端
  • 在連接至 Raspberry Pi 本機主機電腦上的終端機視窗中:

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

      mkdir ~/dc-configs chmod 745 ~/dc-configs
    2. 開啟文字編輯器,例如 nano

    3. 複製此 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": "" } }
    4. 使用在 在 AWS IoT Core 上佈建裝置 中找到的 AWS 帳戶 裝置資料端點取代端點值。

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

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

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

儲存檔案之後,您就可以繼續進行 開啟 MQTT 測試用戶端

開啟 MQTT 測試用戶端

此程序會準備 AWS IoT 主控台中的 MQTT test client (MQTT 測試用戶端) 來訂閱 MQTT 訊息,AWS IoT 裝置用戶端會在執行時發佈訊息。

準備 MQTT test client (MQTT 測試用戶端) 來訂閱所有 MQTT 訊息
  1. AWS IoT 主控台的本機主機電腦上,選擇 MQTT test client (MQTT 測試用戶端)。

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

  3. Subscriptions (訂閱) 標籤下方,請確認看到 # (單個井字符號)。

在繼續進行 執行 AWS IoT 裝置用戶端 時,請讓有 MQTT test client (MQTT 測試用戶端) 的視窗保持開啟。

執行 AWS IoT 裝置用戶端

此程序會執行 AWS IoT 裝置用戶端,使其發佈 MQTT test client (MQTT 測試用戶端) 可接收和顯示的單則 MQTT 訊息。

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

  2. 在終端機視窗中輸入這些命令,使用在 建立組態檔 中建立的組態檔來執行 AWS IoT 裝置用戶端。

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

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

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

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

  4. 如果 AWS IoT 裝置用戶端未顯示任何錯誤,您會在 MQTT test client (MQTT 測試用戶端) 中看到傳送至 test/dc/pubtopic 訊息的 Hello World!,這表示您已經示範了一次成功的連線。

  5. 在終端機視窗中輸入 ^C (Ctrl-C),即可停止 AWS IoT 裝置用戶端。

在示範 AWS IoT 裝置用戶端正在 Raspberry Pi 上正常運作並可以與 AWS IoT 通訊之後,您就可以繼續進行 教學課程:示範 MQTT 訊息與 AWS IoT 裝置用戶端通訊