Dec.24,2025
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

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