本記事シリーズでは、Raspberry Piに繋がっているセンサーから取得したデータをAzure IoT Hubに送信し、Azure App Serviceを使ってリアルタイムで可視化する方法について紹介します。
この記事シリーズでできることは以下の通りです。
- 記事1:Azure IoT Hubの作成やデバイス登録 (本記事)
- Azure Iot Hubの紹介、Azure IoT Hubの作成、デバイス登録について
- 記事2:Raspberry Piでデータを読み鋳込んでIoT Hubに送信
- Raspberry Piとセンサーの紹介、センサー連結、Azure IoT Hubにメッセージ送信について
- 記事3:IoT Hubで受信したデータを可視化するWeb AppをAzure App Serviceでリリース
- リアルタイム可視化、Azure App ServiceのWeb Appでリリスについて
Azure IoT Hubとは?
IoTとは?
IoTはInternet of Things(物のインターネット)の略語です。
従来インターネットに接続されていなかった様々な"モノ"(センサー機器、住宅・建物、車、家電製品、電子機器など)が、ネットワークを通じてサーバーやクラウドサービスに接続され、相互に情報交換をする仕組みです。
Azure IoT Hubとは?
Azure IoT HubはAzureを使って、現場で使用するIoTデバイスの登録・認証・管理を行います。
簡単に言うと、IoTデバイスと様々なAzureサービスを繋げる窓口です。
Azure IoT Hubの特徴
IoTデバイスと双方向通信
- 現場で使うIoTデバイスからサーバーへのメッセージ送信だけではなく、
サーバーからデバイスへの送信も可能 - ファイルアップロード可能
- 「Device Update for IoT Hub」を使って、デバイスにアップデート配布
IoTデバイスを個々に認証
- IoT Hubに登録した各IoTデバイスに対して共有アクセスキーを生成
- IoTデバイスや接続モジュール*1に関する情報が保存される「IDレジストリ」を使用した認証実施
- IDレジストリの資格情報に紐づけされた共有アクセスキーをIoTデバイスの接続モジュールに登録することによる個々のIoTデバイスを識別した管理
現場側でAzureのPaaSサービスを動作させるIoT Edge
- IoTデバイスをIoT Hubに接続するための接続モジュールを開発する方法を提供
- Azure IoT SDK
- Azure IoT Edge
様々なプログラミング言語に対応
- モジュール開発に必要なAzure IoT SDKをGithubでオープンソースで提供
- C, Python, .NET, Node.js, Javaなどに対応
- それぞれのSDKはWindows, Linux, macOS, iOS, Arduino, Mbedなどに対応
Azure IoT Hubの作成
- Azure Portalにログインして、Azure サービスから「リソースの作成」をクリックします。
-
リソースの作成で「IoT Hub」を検索します。
- IoT Hubページから「作成」をクリックします。
-
サブスクリプション、リソース グループ、IoT Hub 名、領域を入力して、「次へ : ネットワーク」をクリックします。
-
ネットワークは既存の「パブリック アクセス」のままにして、
「次へ : 管理」をクリックします。 -
価格とスケールティアで「F1 : Freeレベル」を選択し、「確認および作成」をクリックします。
これでIoT Hubの作成完了です。※ 写真のサブスクリプションでは無料のIoT Hubが作成されているため、「無料のIoTハブは、サブスクリプションごとに1つに制限されています」という警告が出ています。
Azure IoT Hubにデバイス登録
-
作成したIoT Hubの左にある「デバイス管理」の 「デバイス」をクリックします。
-
「+デバイスの追加」をクリックします。
-
デバイス IDを入力して、保存をクリックします。
- デバイスが登録さていることのを確認します。
-
登録したデバイスの情報を確認します。
「プライマリ接続文字列」をデバイスからAzure IoT Hubにメッセージを送信するときに使うため、メモしておきます。
おわりに
今回の記事ではAzure IoT Hubの作成やIoTデバイスを登録する方法について紹介しました。
次回の記事ではRaspberry Piからセンサーの値を取得し、Azure IoT Hubにメッセージを送信する方法について紹介します。
*1:IoTデバイスに搭載されるプログラム