Raspberry Pi や Arduino といったセンサー類を接続して利用する IoT 機器から収集したデータや分析結果をサーバに保存する先の 1 つとしてクラウドサービスを活用されることが増えてきており、クラウドサービスの中から AWS IoT にデバイスを登録する方法を紹介する。
このページの目次
1.AWS IoT とは
AWS IoT とは、インターネット通販の amazon が提供するクラウドサービス「AWS(Amazon Web Service) 」の機能の 1 つで、IoT 機器を一元管理するとともに、データの収集や分析、登録機器の管理・制御を行う。
AWS は従量課金制となっているため、IoT 機器からデータを受け取った回数や分析処理の時間に応じて料金が発生するため、低コストで運用したい場合に向いている。
また、AWS は仮想サーバやデータベース、通信のルーティングなどプライベートネットワークと同じ環境を用意することができるので AWS IoT だけでなく AWS が提供している多くの機能と連携して活用できる特徴がある。
加えて HTTP に比べて軽量かつ再送信可能な通信プロトコルとなる MQTT(Message Queue Telemetry Transport)での通信が可能なため、リソース消費が少ない IoT 機器との通信に適したサービスである。
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 に接続するかを選択する。
選択する項目は 2 種類あり、まずはプラットフォームとなる IoT デバイスの OS を選択する。
Raspberry Pi であれば Linus/OSX を選択し、Windows OS でアプリケーションの動作試験を行うのであれば Windows を選択する。
また、AWS IoT に接続する SDK を選択する。
利用する IoT デバイスで利用するプログラムの環境を Node.js、Python、Java から選択する。
最後に画面右下にあるボタン「次へ」をクリックする。
3-5.物理デバイス名を登録する
最後に IoT デバイスを AWS の一覧に表示させる名称を任意で入力する。
デバイスを登録すると Thing Shadows と呼ばれる機器のオン / オフの状態が監視されるようになる。
3-6.接続キットと接続キーをダウンロードする
一通りの登録が終了すると AWS に接続するための接続キットをダウンロードする画面が表示される。
また、AWS への接続に必要な証明書とプライベートキーもダウンロードできるようになるので、証明書を IoT デバイスに入れることで自動的に認証されて接続することが可能になる。
3-7.AWS IoT へ接続テストを実行する
証明書とプライベートキーのダウンロードの他に、接続用のサンプルソースもダウンロードすることができ、画面に沿ってコマンドを実行すると AWS に接続を試みて結果が表示される。
接続テストで成功有無はブラウザの管理画面上で表示されるため、ブラウザは閉じずに「デバイスからのメッセージを待機中」表示が変われば接続が完了したことになる。
関連記事
Raspberry Pi にジャンパコードとブレッドボードでセンサーを接続する方法
IoT の入門や動作テストで利用されることが多い Raspberry Pi はそれ単体だけでは Linux 系の小型パソコンでしかないが、センサーを取り付けることでより多彩になるため、ジャンパコードとブレッドボードを用いて…
Raspberry Pi に用意されている電源や GPIO(信号入出力)を確認する方法
Raspberry Pi には GPIO と呼ばれる電気を供給したり電気信号の入出力に利用するピンが用意されており、センサーなど電子部品と組み合わせて利用する場合に必要な機能になるが、各ピンの情報と役割が明記され…
Raspberry Pi と Windows OS の間でファイルを共有する方法
Windows OS では簡単にファイルのやり取りができるようにフォルダに共有設定を行うことができるが、Raspberry Pi の初期状態では Windows OS とファイルのやり取りができないため、ファイル共有で…