Intel Edison を Azure IoT Hub に接続する (Node.js)

このチュートリアルでは、Intel Edison の操作の基本を学習することから始めます。 次に、Azure IoT Hub を使って、デバイスをクラウドにシームレスに接続する方法について説明します。

キットをお持ちでない場合は、 ここから開始

作業内容

  • Intel Edison と Grove モジュールをセットアップします。
  • IoT Hub を作成します。
  • Edison のデバイスを IoT Hub に登録します。
  • Edison でサンプル アプリケーションを実行して、センサー データを IoT Hub に送信します。

作成した IoT Hub に Intel Edison を接続します。 次に、Edison でサンプル アプリケーションを実行して、Grove 温度センサーから気温と湿度のデータを収集します。 最後に、センサー データを IoT Hub に送信します。

学習内容

  • Azure IoT Hub を作成し、新しいデバイス接続文字列を取得する方法。
  • Edison を Grove 温度センサーと接続する方法。
  • Edison でサンプル アプリケーションを実行してセンサー データを収集する方法。
  • センサー データを IoT Hub に送信する方法。

必要なもの

必要なもの

  • Intel Edison ボード
  • Arduino 拡張ボード
  • 有効な Azure サブスクリプション Azure アカウントがない場合は、無料試用版の Azure アカウントを数分で作成できます。
  • Mac PC または Windows か Linux を実行している PC。
  • インターネット接続。
  • マイクロ B - タイプ A のUSB ケーブル
  • 直流 (DC) 電源。 電源の定格は以下のとおり。
    • 7-15V DC
    • 1500mA 以上
    • 中心/内部ピンが電源の正極

省略可能な品目を次に示します。

  • Grove ベース シールド V2
  • Grove 温度センサー
  • Grove ケーブル
  • パッケージに含まれているスペーサー バーやネジ (拡張ボードにモジュールを固定するための2本のネジ、ネジ、プラスチック スペーサー 4 セットなど)
注意

サンプル コードはシミュレートされたセンサー データをサポートしているため、これらの品目は省略可能です。

IoT Hub の作成

  1. Azure Portal[新規] > [モノのインターネット (IoT)] > [IoT Hub] の順にクリックします。

    Azure Portal で IoT ハブを作成する

  2. [IoT Hub] ウィンドウで、IoT Hub のために以下の情報を入力します。

    [名前]: IoT ハブの名前を入力します。 入力した名前が有効である場合は、緑色のチェック マークが表示されます。

    [価格とスケールティア]: [F1 - Free] レベルを選択します。 このデモでは、このオプションで十分です。 詳細については、料金とスケール レベルに関するページを参照してください。

    [リソース グループ]: IoT Hub をホストするリソース グループを作成するか、既存のリソース グループを使用します。 詳細については、リソース グループを使用した Azure リソースの管理に関するページを参照してください。

    [場所]: IoT Hub が作成される場所に最も近い場所を選択します。

    [ダッシュボードにピン留めする]: ダッシュボードから IoT Hub に簡単にアクセスできるようにするには、このオプションをオンにします。

    情報を入力して IoT ハブを作成する

    重要

    IoT ハブは DNS エンドポイントとして公開されます。そのため、名前を付ける際は機密情報を含めないようにしてください。

  3. ページの下部にある [Create]」を参照してください。 IoT ハブの作成には数分かかることがあります。 [通知] ウィンドウで進行状況を確認できます。

    IoT ハブの進捗状況の通知を見る

  4. IoT ハブが作成されたら、ダッシュボードでその IoT ハブをクリックします。 ホスト名をメモして、[共有アクセス ポリシー] をクリックします。

    IoT Hub のホスト名を取得する

  5. [共有アクセス ポリシー] ウィンドウで、[iothubowner] ポリシーをクリックし、IoT Hub の [接続文字列] をコピーしてメモしておきます。 詳細については、「IoT Hub へのアクセスの制御」を参照してください。

注意

このセットアップ チュートリアルでは、この iothubowner 接続文字列は必要ありません。 ただし、このセットアップの完了後、異なる IoT シナリオの一部のチュートリアルでは必要になる場合があります。

IoT Hub の接続文字列を取得する

デバイスの IoT ハブにデバイスを登録する

  1. Azure Portal で、IoT ハブを開きます。

  2. デバイス エクスプローラーをクリックします。

  3. デバイス エクスプローラー ウィンドウで [追加] をクリックして、デバイスを IoT Hub に追加します。 次に、次を実行します。

    [デバイス ID]: 新しいデバイスの ID を入力します。 デバイス ID には大文字と小文字の区別があります。

    [認証の種類]: [対称キー] を選択します。

    [キーの自動生成]: このチェック ボックスをオンにします。

    [Connect device to IoT Hub (デバイスを IoT Hub に接続する)]: [有効] をクリックします。

    IoT ハブの Device Explorer でデバイスを追加する

    重要

    デバイス ID は、カスタマー サポートとトラブルシューティング目的で収集されたログに表示される場合があります。そのため、名前を付ける際は機密情報を含めないようにしてください。

  4. [ Save] をクリックします。

  5. デバイスが作成された後、デバイス エクスプローラー ウィンドウでデバイスを開きます。
  6. 接続文字列の主キーをメモします。

    デバイスの接続文字列を取得する

Intel Edison をセットアップする

ボードを取り付ける

このセクションでは、Intel® Edison モジュールを拡張ボードに接続する手順を説明します。

  1. Intel® Edison モジュールを拡張ボードの白枠内に置いて、拡張ボードにあるネジをモジュールの穴に通します。

  2. カチッとはまるまで、モジュールの What will you make? という文字のすぐ下を押し下げます。

    assemble board 2

  3. 2 本の六角ナット (パッケージに同梱) を使用して、モジュールを拡張ボードに固定します。

    assemble board 3

  4. 拡張ボードの四隅にある穴の 1 つにネジを差し込みます。 ネジをプラスチック スペーサーの 1 つでしっかり固定します。

    assemble board 4

  5. 他の 3 つの隅でも同様に繰り返します。

    assemble board 5

ボードを取り付けました。

assemble board 5

Grove ベース シールドと温度センサーを接続する

  1. Grove ベース シールドをボードに取り付けます。 すべてのピンがボードにしっかり差し込まれていることを確認します。

    Grove ベース シールド

  2. Grove ケーブルを使用して、Grove 温度センサーを Grove ベース シールドの A0 ポートに接続します。

    温度センサーへの接続

    Edison とセンサーの接続

これでセンサーの準備ができました。

Edison の電源をオンにする

  1. 電源を接続します。

    Plug in power supply

  2. (Arduino * 拡張ボードで DS1 というラベルが付いている) 緑色の LED が点灯して、そのまま点灯を続けます。

  3. ボードの起動が完了するまで 1 分待ちます。

    注意

    DC 電源を使用していない場合でも、USB ポートを介してボードに電源を供給できます。 詳細については、Connect Edison to your computer セクションをご覧ください。 この方法でボードに給電すると、Wi-Fi またはモーターを使用している場合は特に、ボードで予期せぬ動作が発生することがあります。

Edison をコンピューターに接続する

  1. Edison がデバイス モードになるように、マイクロ スイッチを 2 つのマイクロ USB ポート側に切り替えます。 デバイス モードとホスト モードの違いについては、こちらをご覧ください。

    Toggle down the microswitch

  2. 上のマイクロ USB ポートにマイクロ USB ケーブルを接続します。

    上部のマイクロ USB ポート

  3. USB ケーブルのもう一方の端をコンピューターに接続します。

    Computer USB

  4. お使いのコンピューターに新しいドライブがマウントされると、ボードが完全に初期化されていることがわかります (コンピューターに SD カードを挿入するのと同様)。

構成ツールをダウンロードして実行する

Installers という見出しの下に一覧表示されているこちらのリンクから最新の構成ツールを入手します。 ツールを実行し、画面の指示に従って、必要に応じて [次へ] をクリックします。

ファームウェアのフラッシュ

  1. Set up options ページで Flash Firmware をクリックします。
  2. 次のいずれかを実行して、ボードにフラッシュするイメージを選択します。
    • Intel から入手できる最新のファームウェア イメージをダウンロードしてボードをフラッシュするには、Download the latest image version xxxx を選択します。
    • お使いのコンピューターに保存してあるイメージでボードをフラッシュするには、Select the local image を選択します。 ボードにフラッシュする画像を探して選択します。
  3. セットアップ ツールがボードのフラッシュを試みます。 フラッシュのプロセス全体は最大 10 分を要します。

パスワードの設定

  1. Set up options ページで Enable Security をクリックします。
  2. Intel® Edison ボードのカスタム名を設定できます。 これは省略可能です。
  3. ボードのパスワードを入力してから、Set password をクリックします。
  4. 後で使用するため、パスワードをメモしておきます。

Wi-Fi の接続

  1. Set up options ページで Connect Wi-Fi をクリックします。 コンピューターが利用できる Wi-Fi ネットワークをスキャンするまで、最大1分間待ちます。
  2. Detected Networks ドロップダウン リストで、ネットワークを選択します。
  3. Security ドロップダウン リストで、ネットワークのセキュリティ タイプを選択します。
  4. ログイン名とパスワード情報を入力してから、Configure Wi-Fi をクリックします。
  5. 後で使用するため、IP アドレスをメモしておきます。
注意

必ず Edison をコンピューターと同じネットワークに接続してください。 お使いのコンピューターは、IP アドレスを使用して Edison に接続します。

温度センサーへの接続

ご利用ありがとうございます。 Edison を適切に構成できました。

Intel Edison でサンプル アプリケーションを実行する

Azure IoT Device SDK を準備する

  1. 次の SSH クライアントのいずれかを使用して、ホスト コンピューターから Intel Edison に接続します。 構成ツールの IP アドレスと、そのツールで設定済みのパスワードを使用します。

    • Windows では PuTTY
    • Ubuntu または macOS では組み込みの SSH クライアント。
  2. サンプル クライアント アプリケーションをデバイスに複製します。

    git clone https://github.com/Azure-Samples/iot-hub-node-intel-edison-client-app
    
  3. レポジトリ フォルダーに移動し、次のコマンドを実行してすべてのパッケージをインストールします。インストールが完了するまで数分かかることがあります。

    cd iot-hub-node-intel-edison-client-app
    npm install
    

サンプル アプリケーションを構成して実行する

  1. 次のコマンドを実行して、config ファイルを開きます。

    nano config.json
    

    config ファイル

    このファイルには、構成可能な 2 つのマクロがあります。 1 つ目は INTERVAL で、クラウドに送信する 2 つのメッセージの時間間隔を定義します。 2 つ目は simulatedData で、シミュレートされたセンサー データを使用するかどうかを表すブール値です。

    センサーがない場合は、simulatedData 値を true に設定し、シミュレートされたセンサー データをサンプル アプリケーションで作成して使用します。

  2. Control + O キー、Enter キー、Control + X キーの順に押し、保存して終了します。

  3. 次のコマンドを実行して、サンプル アプリケーションを実行します。

    sudo node index.js '<your Azure IoT hub device connection string>'
    
    注意

    デバイスの接続文字列をコピーして貼り付け、必ず一重引用符で囲んでください。

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

出力 - Intel Edison から IoT Hub に送信されるセンサー データ

次のステップ

サンプル アプリケーションを実行してセンサー データを収集し、IoT Hub に送信します。

引き続き Azure IoT Hub の使用方法を確認すると共に、他の IoT のシナリオについて調べるには、次のページを参照してください。