[初回公開] 2024年02月24日
Raspberry Pi や Arduino といったセンサー類を接続して利用する IoT 機器から収集したデータや分析結果をサーバーに保存する先の一つとしてクラウドサービスを活用されることが増えてきており、クラウドサービスの中から AWS IoT にデバイスを登録する方法をご紹介します。

このページの目次
1.AWS IoT とは
AWS IoT とは、インターネット通販の Amazon が提供するクラウドサービス「AWS(Amazon Web Service)」の機能の一つで、IoT 機器を一元管理するとともに、データの収集や分析、登録機器の管理・制御を行います。

AWS は従量課金制となっているため、IoT 機器からデータを受け取った回数や分析処理の時間に応じて料金が発生します。そのため、低コストで運用したい場合に向いています。
また、AWS は仮想サーバーやデータベース、通信のルーティングなどプライベートネットワークと同じ環境を用意することができるので、AWS IoT だけでなく AWS が提供している多くの機能と連携して活用できる特徴があります。

加えて、HTTP に比べて軽量かつ再送信可能な通信プロトコルである MQTT(Message Queue Telemetry Transport)での通信が可能なため、リソース消費が少ない IoT 機器との通信に適したサービスです。
実際に初めて AWS IoT を利用しようとしたとき、どこから手をつけてよいか分からずに非常に困りました。
IoT デバイスの登録や証明書の取得手順が複雑で、どの画面で何をすればよいのか迷ってしまい、公式ドキュメントを読みながら何度もやり直す羽目になりました。
とくに、接続キットをダウンロードするタイミングや保存場所を間違えると、後から再取得ができずにやり直しになる点は盲点でした。
AWS の操作に不慣れな初心者にはハードルが高いと感じたのが正直なところです。
2.AWS IoT を利用するメリット
AWS IoT を利用するメリットとしては、IoT 機器の状態確認をブラウザで行えたり、センサーで収集したデータをサーバーを用意せずとも AWS 上で管理できることです。
例えば Raspberry Pi や Arduino など OS がある小型機器にセンサーを取り付けた場合、一般的には収集したデータはセンサーがある本体に保存されるので、IoT 機器にログインして取得や参照する必要があります。
しかし、ネットワーク接続できるようにして AWS の S3 や DynamoDB といったデータベース機能に保存する設定を行うことで、IoT 機器がある現地に行かずとも遠隔でいつでも状態を確認することができます。
また、機器の稼働状況やリソース状態、データ収集のログも AWS と連携させることができるため、複数の IoT 機器の一元管理も可能になります。
3.IoT 機器を AWS IoT に登録する方法
IoT 機器を AWS IoT に登録する方法としては、AWS の管理画面から IoT デバイスを AWS 上で「モノ」として登録し、AWS と通信するために必要な接続キット(SDK)と接続キーを取得して IoT デバイスに設定します。
3-1.AWS にログインする
Raspberry Pi や Arduino などの IoT デバイスを AWS IoT に登録するために、まずは取得済みの AWS アカウントで AWS にログインします。AWS アカウントとインターネットショッピングで利用する Amazon アカウントは基本的には別ですが、紐づけている場合は Amazon アカウントでログインできます。

AWS にログインした後は、下図のように仮想サーバーを構築する EC2 をはじめ、ストレージの S3、データベースの DynamoDB など各種サービスの一覧が表示されます。

3-2.AWS IoT をクリックする
次に、AWS にログインして表示された AWS サービスの中からリンク「AWS IoT」をクリックします。

リンク「AWS IoT」をクリックすると、下図のように AWS IoT のトップページが表示されます。画面内にあるボタン「今すぐ始める」を選択します。

ボタンを選択後は、AWS IoT のチュートリアルやドキュメントが閲覧できる画面が表示されるため、その中からボタン「接続オプション」をクリックします。

3-3.AWS IoT に接続するデバイスを選択する
ボタン「接続オプション」をクリックすると、下図のように AWS IoT に接続するデバイスを選択する画面が表示されます。
Amazon では、飲料水やペットフードなど決められた商品をボタンを押すだけで発注できる「AWS IoT 1-Click」サービスも IoT デバイスとして扱われるため、この画面で管理を行います。

今回は新たに自分で用意する IoT デバイスを AWS に登録するため、上図の画面左側にある『デバイスの設定』のボタン「今すぐ始める」をクリックします。
3-4.接続するプラットフォームと SDK を選択する
新しい IoT デバイスを登録して接続する場合は、下図のように登録、接続キットのダウンロード、接続テストの流れが画面上に表示されます。
流れを確認した上で、画面右下のボタン「今すぐ始める」をクリックします。

次に、利用する IoT デバイスをどのように AWS に接続するかを選択します。
まずはプラットフォームとなる IoT デバイスの OS を選びます。
Raspberry Pi であれば Linux/OSX を、Windows で動作確認を行う場合は Windows を選択します。

続いて、AWS IoT に接続する SDK を選択します。Node.js、Python、Java の中から、利用するデバイスの開発環境に合わせて選びます。選択後、画面右下のボタン「次へ」をクリックします。
3-5.物理デバイス名を登録する
最後に、IoT デバイスを AWS の一覧に表示させるための名称を任意で入力します。
デバイスを登録すると、Thing Shadows と呼ばれる機器のオン・オフ状態が監視されるようになります。

3-6.接続キットと接続キーをダウンロードする
一通りの登録が完了すると、AWS に接続するための接続キットをダウンロードする画面が表示されます。

また、AWS への接続に必要な証明書とプライベートキーもダウンロードできるようになります。これらの証明書を IoT デバイスに設定することで、自動的に認証されて接続が可能になります。
3-7.AWS IoT へ接続テストを実行する
証明書とプライベートキーのダウンロードに加えて、接続用のサンプルソースもダウンロードできます。
画面の指示に従ってコマンドを実行することで、AWS への接続テストを行い、その結果が表示されます。

接続テストの結果はブラウザの管理画面上で表示されます。ブラウザを閉じずに「デバイスからのメッセージを待機中」の表示が変われば、接続が完了したことになります。
4.AWS IoT を自由研究で利用する例
中学生や高校生の自由研究でも AWS IoT を活用することができます。
例えば、Raspberry Pi に温度センサーを接続し、部屋の温度変化を一定時間ごとに測定して AWS IoT を通じてクラウドに送信し、グラフ化することで「気温と時間帯の関係」を可視化できます。
データは DynamoDB に蓄積し、CloudWatch でリアルタイムに監視することも可能です。
プログラミングの経験が少なくても、AWS のサンプルコードやチュートリアルを活用すれば、初学者でも取り組める自由研究になります。
5.まとめ
AWS IoT を活用することで、IoT 機器の状態確認やデータの収集・分析を効率的に行うことができます。
導入初期は手順が多く感じられるかもしれませんが、一度設定を完了すれば、以後の運用やスケーラビリティが大きく向上します。
初めて利用する際には、事前に全体の流れを理解し、必要な証明書や接続情報をしっかり管理することがスムーズな導入につながります。
AWS の他サービスと連携すれば、IoT データのさらなる活用も可能となるため、ぜひ積極的に活用してみてください。









