Application Clientの準備
0. はじめに
Application Clientの準備では、Windows PC にてDevice Shadowへデバイスを操作する制御メッセージを送るための準備を行います。
Application Clientの準備には、次の3つの作業があります。
- Windows PC にMQTTブローカーEclipse Mosquittoをインストールします。
- 作業用ディレクトリを準備します。
- Device Shadowへ制御メッセージを送るためのバッチファイルとメッセージを確認するするためのバッチファイルを作成します。
3-1. 制御メッセージ パブリッシュ用バッチファイル
3-2. メッセージ サブスクライブ用バッチファイル
1. Eclipse Mosquitto のインストール
Windows PC にてEclipse Mosquittoのダウンロード ページよりバイナリパッケージ (mosquitto-2.0.15 Windows 64bit版)をダウンロードしインストールして下さい。
パッケージには、MQTTブローカー(サーバ mosquitto.exe)とMQTTパブリッシュ(受信用)クライアント(mosquitto_pub.exe)並びにMQTTサブスクライブ(送信用)クライアント(mosquitto_sub.exe)が含まれていますが、 チュートリアルではMQTTブローカーは使用せず mosquitto_pub.exe と mosquitto_sub.exe を使用します。
なお、バイナリパッケージには64bit版と32bit版がありますが、チュートリアルでは64bit版がデフォルトのインストール先にインストールされていることを前提に説明します。
2. 作業用ディレクトリの準備
2-1. 作業用ディレクトリの作成
Windows PC にてコマンド プロンプト(cmd.exe)を開き作業用ディレクトリの準備をします。
- コマンド プロンプト(cmd.exe)を開きます。
- 適当な作業用ディレクトを作ります。 チュートリアルではrs_serial としています。
- 作業用ディレクトリに移ります。
2-2. 証明書のコピー
mosquitto_pub.exe と mosquitto_sub.exe が接続認証に用いる証明書を用意します。
証明書のダウンロードでダウンロードした次のファイルを作業用ディレクトリにコピーします。
- デバイス証明書 (<32bitのハッシュコード>-certificate.pem.crt)
- プライベートキー (<32bitのハッシュコード>-private.pem.key)
- ルート CA 証明書 (AmazonRootCA1.pem)
ここで <32bitのハッシュコード>とは64文字の16進数です。(e.g. f308184f4d6216a23003b517d60a3ab439f6f3607fe4ebee4cec14677a3f5098)
- ダウンロードディレクトリよりAmazonRootCA1.pemを作業用ディレクトリにコピーします。
- ダウンロードディレクトリより <32bitのハッシュコード>-certificate.pem.crtを作業用ディレクトリにコピーします。
- ダウンロードディレクトリより <32bitのハッシュコード>-private.pem.keyを作業用ディレクトリにコピーします。
3. バッチファイルの準備
mosquitto_pub.exe と mosquitto_sub.exe はコマンドの引数が多いためバッチファイルを作成しておきます。
- pub.bat 制御メッセージ パブリッシュ用バッチファイル
・on.json 制御メッセージ ファイル(スイッチ・オン)
・off.json 制御メッセージ ファイル(スイッチ・オフ) - sub.bat メッセージ サブスクライブ用バッチファイル
3-1. 制御メッセージ パブリッシュ用バッチファイル
mosquitto_pub.exeを用いるためのバッチファイルpub.batを作成します。
notepad.exeでpub.batを開きます。
次のスクリプトをpub.batにコピーし保存して下さい。
pub.bat
ここで <32bitのハッシュコード>とは64文字の16進数です。(e.g. f308184f4d6216a23003b517d60a3ab439f6f3607fe4ebee4cec14677a3f5098)
取得した証明書のハッシュコード(ファイル名)に書き換えて下さい。
XXXXXXXX-ats.iot.ap-northeast-1.amazonaws.com は、デバイスデータエンドポイントの取得で取得したエンドポイントに書き換えて下さい。
64bit版の代わりに 32bit版を用いる場合はパス名を**C:\"Program Files"\mosquitto**からC:\"Program Files (x86)"\mosquitto**に変更して下さい。
3-1-1. 制御メッセージ ファイル
mosquitto_sub.exe の引く数 -f に与える制御(送信)メッセージを記載したファイル on.json と off.json を作成します。
on.json の作成
notepad.exeでon.jsonを開きます。
次のJSON文字列をon.jsonにコピーし保存して下さい。
off.json の作成
notepad.exeでoff.jsonを開きます。
次のJSON文字列をoff.jsonにコピーし保存して下さい。
3-2. メッセージ サブスクライブ用バッチファイル
mosquitto_sub.exeを用いるためのバッチファイルsub.batを作成します。
notepad.exeでsub.batを開きます。
次のスクリプトをsub.batにコピーし保存して下さい。
sub.bat
ここで <32bitのハッシュコード>とは64文字の16進数です。(e.g. f308184f4d6216a23003b517d60a3ab439f6f3607fe4ebee4cec14677a3f5098)
取得した証明書のハッシュコード(ファイル名)に書き換えて下さい。
XXXXXXXX-ats.iot.ap-northeast-1.amazonaws.com は、デバイスデータエンドポイントの取得で取得したエンドポイントに書き換えて下さい。
64bit版の代わりに 32bit版を用いる場合はパス名を**C:\"Program Files"\mosquitto**からC:\"Program Files (x86)"\mosquitto**に変更して下さい。