Raspberry Pi の Azure IoT Hub への接続

この記事では、Azure IoT Hub を使用して、Raspberry Pi OS を実行する Raspberry Pi をクラウドに接続するための基本的な手順について説明します。 Raspberry Pi の物理デバイスまたはオンライン デバイス エミュレーターを使用できます。

前提条件

この記事を読み始める前に、次の前提条件を準備してください。

オンライン シミュレーターの使用

次のボタンを選択して Raspberry Pi オンライン シミュレーターを起動します。

Web シミュレーターには3 つの領域があります。

Screenshot that shows an overview of Pi online simulator.

  1. Pi と 2 つのデバイスの間の接続などのアセンブリ領域 - Pi シミュレーター:

    • I2C.1 に接続された BME280 湿度センサー
    • GPIO 4 に接続された LED
  2. コーディング領域 - Raspberry Pi を使用してコーディングするためのオンライン コード エディター。 既定のサンプル アプリケーションは、シミュレートした BME280 センサーからセンサー データを収集してそのデータを IoT Hub に送信します。 このアプリケーションは、実際の Pi デバイスとの完全に互換性があります。

  3. 統合されたコンソール ウィンドウ - コードの出力が表示されるウィンドウです。 このウィンドウの上部には、3 つのボタンがあります。

    • [実行] - コーディング領域でアプリケーションを実行します。

    • [リセット] - コーディング領域を既定のサンプル アプリケーションにリセットします。

    • [折りたたみ/展開] - 右側には、コンソール ウィンドウの折りたたみおよび展開を行うボタンがあります。

Note

Raspberry Pi Web シミュレーターは現在アーカイブされており、積極的なメンテナンスは行われていません。 ソース コードは次の GitHub で公開されています: raspberry-pi-web-simulator

Pi Web シミュレーターでのサンプル アプリケーションの実行

  1. コーディング領域で、既定のサンプル アプリケーションで作業していることを確認します。 行 15 のプレースホルダーをお使いの IoT ハブからデバイスの接続文字列に置き換えます。

    Screenshot that shows replacing the device connection string placeholder.

  2. 統合されたコンソール ウィンドウで [実行] を選択するか「npm start」と入力して、アプリケーションを実行します。

IoT Hub に送信されるセンサー データとメッセージを示す次の出力が表示されます。

Screenshot that shows output sensor data sent from Raspberry Pi to your IoT hub.

物理デバイスの使用

次のセクションでは、Raspberry Pi ソリューションの設定方法について説明します。

  • Raspberry Pi デバイス

    Note

    この記事の手順は、Raspberry Pi 2 および Raspberry Pi 3 ボードでテストされています。

  • Pi に接続するモニター、USB キーボード、およびマウス。

  • Mac か、Windows または Linux を実行している PC。

  • インターネット接続。

  • 16 GB 以上の microSD カード。

  • USB-SD アダプターまたは microSD カード (microSD カードに オペレーティング システム イメージを書き込むため)。

  • 5V 2A の AC アダプターと約 2 m の micro USB ケーブル。

Raspberry Pi OS をインストールする

microSD カードに Raspberry Pi OS イメージをインストールするための準備をします。

  1. Raspberry Pi OS with desktop をダウンロードします。

    a. Raspbian Buster with desktop (.zip ファイル)。

    b. コンピューター上のフォルダーに Raspberry Pi OS with desktop イメージを抽出します。

  2. microSD カードに Raspberry Pi OS with desktop をインストールします。

    a. Etcher SD カード書き込みユーティリティをダウンロードしてインストールします

    b. Etcher を実行し、手順 1. で抽出した Raspberry Pi OS with desktop イメージを選択します。

    c. まだ選択されていない場合は、microSD カード ドライブを選択します。

    d. Flash を選択し、microSD カードに Raspberry Pi OS with desktop をインストールします。

    e. インストールが完了したら、コンピューターから microSD カードを取り出します。 Etcher では完了時に microSD カードを自動的に取り出すか、マウント解除するため、microSD カードを直接取り出しても問題ありません。

    f. microSD カードを Pi に挿入します。

SSH および I2C の有効化

  1. Pi をモニター、キーボード、およびマウスに接続します。

  2. Pi を起動してから、pi をユーザー名として、raspberry をパスワードとして使用して Raspberry Pi OS にサインインします。

  3. Raspberry アイコン >[設定]>[Raspberry Pi 構成] を選択します。

    Screenshot that shows the Raspberry Pi OS with Preferences menu.

  4. [インターフェイス] タブで、[SSH][I2C][有効] に設定した後、[OK] を選択します。

    Interface 説明
    SSH Secure Shell (SSH) は、リモート コマンド行を使用して Raspberry Pi にリモート接続するために使用されます。 SSH は、このドキュメントで Raspberry Pi にコマンドをリモートで発行する場合に推奨される方法です。
    I2C 相互集積回路 (I2C) は、センサーなどのハードウェアとのインターフェイスとして使用される通信プロトコルです。 このインターフェイスは、この記事の物理センサーとのやり取りのために必要です。

    物理的なセンサーがなく、Raspberry Pi デバイスからシミュレートされたセンサー データを使用する場合、I2C を無効のままにできます。

    Screenshot that shows the configuration to enable I2C and SSH on Raspberry Pi.

Note

SSH と I2C を有効にする際の参考ドキュメントは raspberrypi.orgAdafruit.com に多数あります。

Pi のネットワークへの接続

micro USB ケーブルと AC アダプターを使って、Pi の電源を入れます。 イーサネット ケーブルを使用して Pi を有線ネットワークに接続するか、Raspberry Pi Foundation の手順に従って、Pi をワイヤレス ネットワークに接続します。 Pi がネットワークに接続されたら、Pi の IP アドレスをメモしておく必要があります。

Note

必ず Pi をコンピューターと同じネットワークに接続してください。 たとえば、コンピューターがワイヤレス ネットワークに接続され、Pi がワイヤード (有線) ネットワークに接続されている場合、devdisco の出力に IP アドレスが表示されないことがあります。

Pi でのサンプル アプリケーションの実行

次のサンプルでは、BME280 センサーからセンサー データを収集し (または、そのハードウェアを使用できない場合はデータをシミュレートできます)、IoT ハブに送信します。

SDK サンプル
Python iot-hub-python-raspberrypi-client-app
C iot-hub-c-raspberrypi-client-app
ノード RaspberryPiApp

Note

これらのサンプルは現在アーカイブされており、積極的なメンテナンスは行われていません。