Dec.24,2025

AWS IoT

World Wide Pianoを作成する際、AWS IoTを使いました。使い方を覚えて置くために記録として残します。 World Wide Piano(WW Pianoと略します)はWebがMQTTのパブりシャーであり、サブスクライバーです。 AWS がブローカーです。 WW Pianoのいずれかのパッドをクリックすると、mqttをブローカーへ投げます。ブローカーは接続されている サブスクライバー(WW Piano)にmqttを投げます。これによって、接続されているWW Pianoが同時に鳴ります。



以下の文章はAWS IoTを使う上での備忘録です。

モノの生成

リージョンを設定します。ここでは、アジアパシフィック(東京)を選択しています。 AWS IoTの”モノ”はリージョンごとに作ることができます。



AWSサービスにログインします。IoTメニューの下のIoT Coreをクリックします。



モノの登録ページが開きます。モノとは、IoTのデバイスのことです。「モノの作成」をクリックします。



モノの登録画面が開きます。モノの名前を書き込みます。ここでは「Nezumi」と書き込んでいます。



モノの登録が完了します。次に、デバイス証明書を作成します。ここでは、「新しい証明書を自動生成」します。



次に「ポリシーを生成」します。ここでは、ポリシー名を「IoT」としました。 「ポリシードキュメント」にiot:Connect, iot:Publish, iot:Receive, iot:Subscribeの4つを書き込みます。 ポリシーソースにアスタリスク「*」を書き入れます。



「証明書にポリシーをアタッチ」します。先ほど作成した「IoT」をアタッチします。



「すべてをダウンロード」します。必ずダウンロードして下さい。



以下の5つのファイルがダウンロードされます。

xxxx-certificate.pem.crt
xxxx-private.pem.key
xxxx-public.pem.key
AmazonRootCA1.pem
AmazonRootCA3.pem

「完了」します。「Nezumi」というモノが生成できました。




接続の確認

SDKをダウンロードして、IoTの接続を確認してみます。

IoTのメニューから「1個のデバイスを接続」をクリックします。

「デバイスを準備する」のページが開きます。ここでやって見て欲しいのは4番の項目で、 pingコマンドでサーバが応答することを確認します。

> ping a2d1xxxxxxxxxx-ats.iot.ap-northeast-1.amazonaws.com
PING a2d1xxxxxxxxxx-ats.iot.ap-northeast-1.amazonaws.com (13.112.79.76): 56 data bytes
64 bytes from 13.xxx.xx.76: icmp_seq=0 ttl=56 time=23.556 ms
64 bytes from 13.xxx.xx.76: icmp_seq=1 ttl=56 time=22.554 ms
64 bytes from 13.xxx.xx.76: icmp_seq=2 ttl=56 time=22.859 ms

「次へ」ボタンを押すと「クラウド内でデバイスを表す」のページが表示されます。 「モノのリソース」の欄に上で作ったモノ「Zezumi」を選択します。



「次へ」ボタンを押すと「プラットフォームとSDKを選択します」のページが表示されます。 「モノのリソース」の欄に上で作ったモノ「Zezumi」を選択します。


ここでは、プラットフォームをLinux/Mac、SDKをnode.jsと選択しています。

「次へ」ボタンを押すと「接続キットをダウンロード」のページが表示されます。 「接続キットをダウンロード」します。connect_device_package.zipがダウンロードされますので これを解凍します。フォルダー「connect_device_package」に解凍されます。



「次へ」ボタンを押すと「接続キットを実行」のページが表示されます。 コンソールを開き、connect_device_packageへ移動し、 このページに書かれている通り、以下のコマンドで送信を確認できます。

>chmod +x start.sh
>./start.sh


「次へ」ボタンを押すと完了です。