AWS IoT Core 経由で MQTT 通信

参考サイト

Raspi(デバイス)とAWSIoT(クラウド)間でMQTTを使ってメッセージを送受信する

環境

ローカルPC
  Windows 10 Pro
  Mosquito

作業内容

Mosquittoでテスト

AWS IoT の設定

・[AWS/AWS IoT Core/安全性/ポリシー]選択

・ポリシーを作成

  • ポリシー名:MQTT
  • タグ:なし
  • ポリシー効果:許可
  • ポリシーアクション:*
  • ポリシーリソース:*

・[AWS/AWS IoT Core/管理/モノ]選択

・モノを作成

  • 作成するモノの数:1
  • モノの名前:Mosquito_Windows
  • Device Shadow:なし
  • デバイス証明書:新しい証明書を自動生成
  • ポリシー:作成済みの”MQTT”をアタッチ

デバイス証明書、キーファイル、ルートCA証明書をダウンロード
 →mosquittoのインストールフォルダにコピーしておく

・[AWS/AWS IoT Core/設定]選択

・エンドポイントをメモ

Mosquittoと通信テスト(Sub)

・Mosquito_sub起動

>mosquitto_sub --cafile aws/AmazonRootCA1.pem --cert aws/******-certificate.pem.crt.txt --key aws/******-private.pem.key -h [AWSIoTのエンドポイント] -p 8883 -q 1 -t # -i Mosquito_Windows

※ “******” は適宜ファイル名で置き換え

・[AWS/AWS IoT Core/テスト/MQTTテストクライアント]選択

・トピックに公開する

  • トピック名:Test
  • メッセージ:hello from AWS IoT

・発行

・Mosquitoで受信確認

Mosquittoと通信テスト(Pub)

・[AWS/AWS IoT Core/テスト/MQTTテストクライアント]選択

・トピックをサブスクライブする

  • トピックのフィルタ:#

・サブスクライブ

・Mosquito_pub起動

>mosquitto_pub.exe --cafile aws/AmazonRootCA1.pem --cert aws/******-certificate.pem.crt.txt --key aws/******-private.pem.key -h [AWSIoTのエンドポイント] -p 8883 -t test -m "hello from win"

※-i Mosquito_Windows を入れるとSubが落ちる

・AWSで受信確認  ※Subテストで起動していたMosquitoでも同時に受信

続報