Raspberry Pi オンライン シミュレーターの Azure IoT Hub への接続 (Node.js)Connect Raspberry Pi online simulator to Azure IoT Hub (Node.js)

このチュートリアルでは、まず Raspberry Pi オンライン シミュレーターの操作の基礎について説明します。In this tutorial, you begin by learning the basics of working with Raspberry Pi online simulator. 次に、Azure IoT Hub を使って、シミュレーターをクラウドにシームレスに接続する方法について説明します。You then learn how to seamlessly connect the Pi simulator to the cloud by using Azure IoT Hub.

Connect Raspberry Pi web simulator to Azure IoT Hub

物理デバイスがある場合、「Raspberry Pi の Azure IoT Hub への接続」に移動して作業を開始してください。If you have physical devices, visit Connect Raspberry Pi to Azure IoT Hub to get started.

作業内容What you do

  • Raspberry Pi オンライン シミュレーターの基礎を説明します。Learn the basics of Raspberry Pi online simulator.

  • IoT Hub を作成します。Create an IoT hub.

  • Pi のデバイスを IoT Hub に登録します。Register a device for Pi in your IoT hub.

  • Pi でサンプル アプリケーションを実行し、シミュレートしたセンサー データを IoT Hub に送信します。Run a sample application on Pi to send simulated sensor data to your IoT hub.

作成した IoT Hub にシミュレートした Raspberry Pi を接続します。Connect simulated Raspberry Pi to an IoT hub that you create. 次にシミュレーターを使用してサンプル アプリケーションを実行し、センサー データを生成します。Then you run a sample application with the simulator to generate sensor data. 最後に、センサー データを IoT Hub に送信します。Finally, you send the sensor data to your IoT hub.

学習内容What you learn

  • Azure IoT Hub を作成し、新しいデバイス接続文字列を取得する方法。How to create an Azure IoT hub and get your new device connection string. Azure アカウントがない場合は、無料試用版の Azure アカウントを数分で作成できます。If you don't have an Azure account, create a free Azure trial account in just a few minutes.

  • Raspberry Pi オンライン シミュレーターの操作方法。How to work with Raspberry Pi online simulator.

  • センサー データを IoT Hub に送信する方法。How to send sensor data to your IoT hub.

Raspberry Pi Web シミュレーターの概要Overview of Raspberry Pi web simulator

Raspberry Pi オンライン シミュレーターを起動するボタンをクリックします。Click the button to launch Raspberry Pi online simulator.

Web シミュレーターには3 つの領域があります。There are three areas in the web simulator.

  1. アセンブリ領域 - 既定の回線は、Pi が BME280 センサーと LED に接続する回線です。Assembly area - The default circuit is that a Pi connects with a BME280 sensor and an LED. プレビュー バージョンではこの領域はロックされているため、今のところカスタマイズを行うことはできません。The area is locked in preview version so currently you cannot do customization.

  2. コーディング領域 - Raspberry Pi を使用してコーディングするためのオンライン コード エディター。Coding area - An online code editor for you to code with Raspberry Pi. 既定のサンプル アプリケーションは、BME280 センサーからセンサー データを収集し、、Azure IoT Hub に送信する際に役立ちます。The default sample application helps to collect sensor data from BME280 sensor and sends to your Azure IoT Hub. このアプリケーションは、実際の Pi デバイスとの完全に互換性があります。The application is fully compatible with real Pi devices.

  3. 統合されたコンソール ウィンドウ - コードの出力が表示されます。Integrated console window - It shows the output of your code. このウィンドウの上部には、3 つのボタンがあります。At the top of this window, there are three buttons.

    • [実行] - コーディング領域でアプリケーションを実行します。Run - Run the application in the coding area.

    • [リセット] - コーディング領域を既定のサンプル アプリケーションにリセットします。Reset - Reset the coding area to the default sample application.

    • [折りたたむ/展開する] - 右側には、コンソール ウィンドウの折りたたみおよび展開を行うボタンがあります。Fold/Expand - On the right side there is a button for you to fold/expand the console window.

注意

Raspberry Pi Web シミュレーターは、プレビュー バージョンで使用できるようになりました。The Raspberry Pi web simulator is now available in preview version. Gitter チャット ルーム」にご意見をお寄せください。We'd like to hear your voice in the Gitter Chatroom. ソース コードは GitHub から入手できます。The source code is public on GitHub.

Pi オンライン シミュレーターの概要

IoT Hub の作成Create an IoT hub

ここでは、Azure portal を使用して IoT ハブを作成する方法について説明します。This section describes how to create an IoT hub using the Azure portal.

  1. Azure portal にサインインします。Sign in to the Azure portal.

  2. Azure ホームページから [+ リソースの作成] ボタンを選択し、 [Marketplace を検索] フィールドに「IoT Hub」と入力します。From the Azure homepage, select the + Create a resource button, and then enter IoT Hub in the Search the Marketplace field.

  3. 検索結果の [IoT Hub] を選択し、 [作成] を選択します。Select IoT Hub from the search results, and then select Create.

  4. [基本] タブで、次のように各フィールドに入力します。On the Basics tab, complete the fields as follows:

    • サブスクリプション:ハブで使用するサブスクリプションを選択します。Subscription: Select the subscription to use for your hub.

    • リソース グループ:リソース グループを選択するか、新しく作成します。Resource Group: Select a resource group or create a new one. 新たに作成するには、 [新規作成] を選択して、使用する名前を入力します。To create a new one, select Create new and fill in the name you want to use. 既存のリソース グループを使用するには、そのリソース グループを選択します。To use an existing resource group, select that resource group. 詳しくは、「Manage Azure Resource Manager resource groups (Azure Resource Manager のリソース グループの管理)」をご覧ください。For more information, see Manage Azure Resource Manager resource groups.

    • [リージョン] :ハブを配置するリージョンを選択します。Region: Select the region in which you want your hub to be located. ユーザーに最も近い場所を選択します。Select the location closest to you. 一部の機能 (IoT Hub デバイス ストリームなど) は、特定のリージョンでのみご利用いただけます。Some features, such as IoT Hub device streams, are only available in specific regions. これらの制限のある機能については、サポート対象のいずれかのリージョンを選択する必要があります。For these limited features, you must select one of the supported regions.

    • [IoT Hub 名] : ハブの名前を入力します。IoT Hub Name: Enter a name for your hub. この名前はグローバルに一意である必要があります。This name must be globally unique. 入力した名前が使用可能な場合は、緑色のチェック マークが表示されます。If the name you enter is available, a green check mark appears.

    重要

    IoT ハブは DNS エンドポイントとして公開されるため、名前を付ける際に機密情報や個人を特定できる情報を入力しないように注意してください。Because the IoT hub will be publicly discoverable as a DNS endpoint, be sure to avoid entering any sensitive or personally identifiable information when you name it.

    Azure portal でハブを作成する

  5. 次へ:Size and scale(次へ: サイズとスケール) を選択して、ハブの作成を続けます。Select Next: Size and scale to continue creating your hub.

    Azure portal を使用して新しいハブのサイズとスケールを設定する

    ここでは、既定の設定をそのまま使用できます。You can accept the default settings here. 必要に応じて、次のフィールドに変更を加えることができます。If desired, you can modify any of the following fields:

    • [価格とスケールティア] : 選択したレベル。Pricing and scale tier: Your selected tier. 必要な機能およびソリューションで 1 日に送信するメッセージの数に応じて、複数のレベルから適切なものを選びます。You can choose from several tiers, depending on how many features you want and how many messages you send through your solution per day. 無料レベルは、テストおよび評価用です。The free tier is intended for testing and evaluation. ハブに接続できるデバイスは 500 個で、1 日に許可されるメッセージ数は最大 8,000 件です。It allows 500 devices to be connected to the hub and up to 8,000 messages per day. Azure サブスクリプションごとに、Free レベルの IoT ハブを 1 つ作成できます。Each Azure subscription can create one IoT hub in the free tier.

      IoT Hub デバイス ストリームのクイックスタートに取り組んでいる場合は、Free レベルを選択してください。If you are working through a Quickstart for IoT Hub device streams, select the free tier.

    • [IoT Hub ユニット] : ユニットごとに許可される 1 日あたりのメッセージの数は、ハブの価格レベルによって決まります。IoT Hub units: The number of messages allowed per unit per day depends on your hub's pricing tier. たとえば、ハブで 700,000 件のイングレス メッセージをサポートする場合は、S1 レベルのユニットを 2 つ選択します。For example, if you want the hub to support ingress of 700,000 messages, you choose two S1 tier units. 他のレベルのオプションについて詳しくは、適切な IoT Hub レベルの選択に関するページをご覧ください。For details about the other tier options, see Choosing the right IoT Hub tier.

    • Azure Security Center:IoT およびお使いのデバイスに、脅威に対する保護のレイヤーを別途追加するには、これをオンにします。Azure Security Center: Turn this on to add an extra layer of threat protection to IoT and your devices. このオプションは、Free レベルのハブでは使用できません。This option is not available for hubs in the free tier. この機能の詳細については、Azure Security Center for IoT に関するページを参照してください。For more information about this feature, see Azure Security Center for IoT.

    • [詳細設定] > [Device-to-cloud パーティション] : このプロパティでは、device-to-cloud メッセージがそのメッセージの同時閲覧者数に関連付けられます。Advanced Settings > Device-to-cloud partitions: This property relates the device-to-cloud messages to the number of simultaneous readers of the messages. ほとんどのハブでは、4 つのパーティションのみが必要となります。Most hubs need only four partitions.

  6. 次へ:[Next](次へ) を選択して、次の画面に進みます。Select Next: Tags to continue to the next screen.

    タグは、名前と値の組です。Tags are name/value pairs. 複数のリソースおよびリソース グループに同じタグを割り当てることで、リソースを分類したり、課金情報を統合したりすることができます。You can assign the same tag to multiple resources and resource groups to categorize resources and consolidate billing. 詳細については、タグを使用した Azure リソースの整理に関するページを参照してください。For more information, see Use tags to organize your Azure resources.

    Azure portal を使用してハブにタグを割り当てる

  7. 次へ:次へ: レビューと作成 をクリックして、選択内容を確認します。Select Next: Review + create to review your choices. 次の画面のようになります。ただし、表示されるのはハブの作成時に選択した値です。You see something similar to this screen, but with the values you selected when creating the hub.

    新しいハブを作成するための情報を確認する

  8. [作成] を選択して、新しいハブを作成します。Select Create to create your new hub. ハブの作成には数分かかります。Creating the hub takes a few minutes.

IoT ハブに新しいデバイスを登録するRegister a new device in the IoT hub

このセクションでは、IoT ハブの ID レジストリにデバイス ID を作成します。In this section, you create a device identity in the identity registry in your IoT hub. ハブに接続するデバイスは、あらかじめ ID レジストリに登録されている必要があります。A device cannot connect to a hub unless it has an entry in the identity registry. 詳細については、IoT Hub 開発者ガイドを参照してください。For more information, see the IoT Hub developer guide.

  1. IoT ハブのナビゲーション メニューの [IoT デバイス] を開き、 [新規] を選択して IoT ハブにデバイスを追加します。In your IoT hub navigation menu, open IoT Devices, then select New to add a device in your IoT hub.

    ポータルでデバイス ID を作成する

  2. [デバイスの作成] で、新しいデバイスの名前 (myDeviceId など) を入力し、 [保存] を選択します。In Create a device, provide a name for your new device, such as myDeviceId, and select Save. この操作で、IoT ハブのデバイス ID が作成されます。This action creates a device identity for your IoT hub.

    新しいデバイスを追加する

    重要

    デバイス ID は、カスタマー サポートとトラブルシューティング目的で収集されたログに表示される場合があります。そのため、名前を付ける際は機密情報を含めないようにしてください。The device ID may be visible in the logs collected for customer support and troubleshooting, so make sure to avoid any sensitive information while naming it.

  3. デバイスが作成された後、 [IoT デバイス] ウィンドウの一覧からデバイスを開きます。After the device is created, open the device from the list in the IoT devices pane. 後で使用するためにプライマリ接続文字列をコピーします。Copy the Primary Connection String to use later.

    デバイスの接続文字列

注意

IoT Hub の ID レジストリには、IoT ハブに対するセキュリティで保護されたアクセスを有効にするためのデバイス ID のみが格納されます。The IoT Hub identity registry only stores device identities to enable secure access to the IoT hub. セキュリティ資格情報として使用するキーとデバイス ID、そして個々のデバイスについてアクセスを無効にすることのできる有効/無効フラグが格納されます。It stores device IDs and keys to use as security credentials, and an enabled/disabled flag that you can use to disable access for an individual device. その他デバイス固有のメタデータをアプリケーションで保存する必要がある場合は、アプリケーション固有のストアを使用する必要があります。If your application needs to store other device-specific metadata, it should use an application-specific store. 詳細については、IoT Hub 開発者ガイドをご覧ください。For more information, see IoT Hub developer guide.

Pi Web シミュレーターでのサンプル アプリケーションの実行Run a sample application on Pi web simulator

  1. コーディング領域で、既定のサンプル アプリケーションで作業していることを確認します。In coding area, make sure you are working on the default sample application. 行 15 のプレースホルダーを Azure IoT Hub デバイスの接続文字列に置き換えます。Replace the placeholder in Line 15 with the Azure IoT hub device connection string.

  2. デバイスの接続文字列を置き換える

  3. [実行] をクリックまたは「npm start」と入力してアプリケーションを実行します。Select Run or type npm start to run the application.

IoT Hub に送信されるセンサー データとメッセージを示す次の出力が表示されます。出力 - Raspberry Pi から IoT Hub に送信されるセンサー データYou should see the following output that shows the sensor data and the messages that are sent to your IoT hub Output - sensor data sent from Raspberry Pi to your IoT hub

ハブに送信されたメッセージを読み取るRead the messages received by your hub

シミュレートされたデバイスから IoT ハブが受信するメッセージを監視する方法の 1 つに、Azure IoT Tools for Visual Studio Code を使用することがあります。One way to monitor messages received by your IoT hub from the simulated device is to use the Azure IoT Tools for Visual Studio Code. 詳細については、「Visual Studio Code 用 Azure IoT Tools を使用してデバイスと IoT Hub の間のメッセージを送受信する」を参照してください。To learn more, see Use Azure IoT Tools for Visual Studio Code to send and receive messages between your device and IoT Hub.

デバイスから送信されたデータを処理する詳しい方法については、次のセクションに進んでください。For more ways to process data sent by your device, continue on to the next section.

次のステップNext steps

サンプル アプリケーションを実行してセンサー データを収集し、IoT Hub に送信します。You’ve run a sample application to collect sensor data and send it to your IoT hub.

引き続き Azure IoT Hub の使用方法を確認すると共に、すべての拡張された IoT のシナリオについて調べるには、次のページを参照してください。To continue to get started with Azure IoT Hub and to explore all extended IoT scenarios, see the following: