Raspberry Pi の Azure IoT Hub への接続
この記事では、Azure IoT Hub を使用して、Raspberry Pi OS を実行する Raspberry Pi をクラウドに接続するための基本的な手順について説明します。 Raspberry Pi の物理デバイスまたはオンライン デバイス エミュレーターを使用できます。
前提条件
この記事を読み始める前に、次の前提条件を準備してください。
- Azure サブスクリプション。
- Azure サブスクリプション内の IoT ハブ。 ハブがまだない場合は、「IoT ハブの作成」の手順に従うことができます。
- お使いの IoT ハブに登録されているデバイス。 IoT ハブにデバイスがない場合は、「デバイスを登録する」の手順に従います。
オンライン シミュレーターの使用
次のボタンを選択して Raspberry Pi オンライン シミュレーターを起動します。
Web シミュレーターには3 つの領域があります。
Pi と 2 つのデバイスの間の接続などのアセンブリ領域 - Pi シミュレーター:
- I2C.1 に接続された BME280 湿度センサー
- GPIO 4 に接続された LED
コーディング領域 - Raspberry Pi を使用してコーディングするためのオンライン コード エディター。 既定のサンプル アプリケーションは、シミュレートした BME280 センサーからセンサー データを収集してそのデータを IoT Hub に送信します。 このアプリケーションは、実際の Pi デバイスとの完全に互換性があります。
統合されたコンソール ウィンドウ - コードの出力が表示されるウィンドウです。 このウィンドウの上部には、3 つのボタンがあります。
[実行] - コーディング領域でアプリケーションを実行します。
[リセット] - コーディング領域を既定のサンプル アプリケーションにリセットします。
[折りたたみ/展開] - 右側には、コンソール ウィンドウの折りたたみおよび展開を行うボタンがあります。
Note
Raspberry Pi Web シミュレーターは現在アーカイブされており、積極的なメンテナンスは行われていません。 ソース コードは次の GitHub で公開されています: raspberry-pi-web-simulator。
Pi Web シミュレーターでのサンプル アプリケーションの実行
コーディング領域で、既定のサンプル アプリケーションで作業していることを確認します。 行 15 のプレースホルダーをお使いの IoT ハブからデバイスの接続文字列に置き換えます。
統合されたコンソール ウィンドウで [実行] を選択するか「
npm start
」と入力して、アプリケーションを実行します。
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 イメージをインストールするための準備をします。
Raspberry Pi OS with desktop をダウンロードします。
a. Raspbian Buster with desktop (.zip ファイル)。
b. コンピューター上のフォルダーに Raspberry Pi OS with desktop イメージを抽出します。
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 の有効化
Pi をモニター、キーボード、およびマウスに接続します。
Pi を起動してから、
pi
をユーザー名として、raspberry
をパスワードとして使用して Raspberry Pi OS にサインインします。Raspberry アイコン >[設定]>[Raspberry Pi 構成] を選択します。
[インターフェイス] タブで、[SSH] と [I2C] を [有効] に設定した後、[OK] を選択します。
Interface 説明 SSH Secure Shell (SSH) は、リモート コマンド行を使用して Raspberry Pi にリモート接続するために使用されます。 SSH は、このドキュメントで Raspberry Pi にコマンドをリモートで発行する場合に推奨される方法です。 I2C 相互集積回路 (I2C) は、センサーなどのハードウェアとのインターフェイスとして使用される通信プロトコルです。 このインターフェイスは、この記事の物理センサーとのやり取りのために必要です。 物理的なセンサーがなく、Raspberry Pi デバイスからシミュレートされたセンサー データを使用する場合、I2C を無効のままにできます。
Note
SSH と I2C を有効にする際の参考ドキュメントは raspberrypi.org と Adafruit.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
これらのサンプルは現在アーカイブされており、積極的なメンテナンスは行われていません。