Raspberry PiからのデータをAzure IoT HubとAzure App Serviceでリアルタイム可視化 1

本記事シリーズでは、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の作成

  1. Azure Portalにログインして、Azure サービスから「リソースの作成」をクリックします。

  2. リソースの作成で「IoT Hub」を検索します。

  3. IoT Hubページから「作成」をクリックします。

  4. サブスクリプション、リソース グループ、IoT Hub 名、領域を入力して、「次へ : ネットワーク」をクリックします。

  5. ネットワークは既存の「パブリック アクセス」のままにして、
    「次へ : 管理」をクリックします。

  6. 価格とスケールティアで「F1 : Freeレベル」を選択し、「確認および作成」をクリックします。
    これでIoT Hubの作成完了です。

    ※ 写真のサブスクリプションでは無料のIoT Hubが作成されているため、「無料のIoTハブは、サブスクリプションごとに1つに制限されています」という警告が出ています。

Azure IoT Hubにデバイス登録

  1. 作成したIoT Hubの左にある「デバイス管理」の 「デバイス」をクリックします。

  2. 「+デバイスの追加」をクリックします。

  3. デバイス IDを入力して、保存をクリックします。

  4. デバイスが登録さていることのを確認します。

  5. 登録したデバイスの情報を確認します。
    「プライマリ接続文字列」をデバイスからAzure IoT Hubにメッセージを送信するときに使うため、メモしておきます。

おわりに

今回の記事ではAzure IoT Hubの作成やIoTデバイスを登録する方法について紹介しました。

次回の記事ではRaspberry Piからセンサーの値を取得し、Azure IoT Hubにメッセージを送信する方法について紹介します。

*1:IoTデバイスに搭載されるプログラム

執筆担当者プロフィール
Lee Byungju

Lee Byungju(日本ビジネスシステムズ株式会社)

Microsoft Azure関係の開発, Power Platformが担当領域。

担当記事一覧