Dummy Client の設定 (Cloud9 の場合)

step3-2-1


Lab2 で Cloud9 を選択した場合は 3-2-a を、Raspberry Pi を選択した場合は 3-2-b を実施してください。

3.2.1 証明書ファイルのアップロード

以下の作業は Cloud9 を開いているタブにて実施します。

  • 左側のファイルツリーから dummy_client -> certs のフォルダを選択
  • 上のメニューから File -> Upload Local Files をクリック

step2-2-5

  • 表示されたダイアログに先程ダウンロードした証明書をドラッグ&ドロップ
    • 対象の証明書・秘密鍵(**はご自身がダウンロードされた証明書の名前)
      • **-certificate.pem.crt
      • **-private.pem.key
  • アップロードが完了したらダイアログを閉じます

step2-2-6


3.2.2 Device SDKを使ったdummy clientの設定

  • Cloud9 のターミナルで以下のコマンドを実行します
# ディレクトリを移動
cd ~/environment/dummy_client

# AWS IoT のルートCA証明書をダウンロード
wget https://www.amazontrust.com/repository/AmazonRootCA1.pem -O certs/AmazonRootCA1.pem
  • 以下のコマンドを実行し、dummy client を起動します
  • コマンドのうち {ご自分の作ったモノ名}{AWS IoTのendpoint_url} は事前にメモした内容に置き換えます
    • 例: python3 device_main.py --device_name tanaka-20200723 --endpoint xxxxx-ats.iot.ap-northeast-1.amazonaws.com
python3 device_main.py --device_name {ご自分の作ったモノ名} --endpoint {AWS IoTのendpoint_url}

上記コマンドを実行すると、 dummy client は AWS IoT Core へ MQTT で接続し、5秒おき(デフォルト設定の場合)にメッセージを送信します。

  • 上記コマンド実行後、以下のような結果が返ってきます。この一番下の topic をメモしておいてください。(以下の例では data/tanaka-20200723 です)
device_name: tanaka-20200723
endpoint: random-ats.iot.ap-northeast-1.amazonaws.com
rootca cert: ./certs/AmazonRootCA1.pem
private key: ./certs/random-private.pem.key
certificate: ./certs/random-certificate.pem.crt
Check latest Shadow status
Subscribing to Shadow Delta events...
Subscribing to Shadow Update responses...
Finished getting initial shadow state.
un subscribe from get shadow events
topic: data/tanaka-20200723

モノの名前や AWS IoT のエンドポイント URL は AWS CLI などを用いて取得することも可能です。

  • 登録済みのモノの一覧の取得: aws iot list-things
  • AWS IoT のエンドポイント URL の取得: aws iot describe-endpoint --endpoint-type iot:Data-ATS

3.2.3 疎通テスト

  1. AWS IoT 画面の左メニューから テスト を選択します
  2. トピックをサブスクライブする から、トピックのフィルター に先程メモしたtopic名を入力します
  3. サブスクライブをクリックすると、画面下部のサブスクリプションから送信されたデータを確認できます

step3-2-3