IoT Edge デバイス ゲートウェイ経由で Modbus TCP デバイスに接続する

適用対象: IoT Edge 1.4 チェックマーク IoT Edge 1.4

重要

サポートされているリリースは、IoT Edge 1.5 LTS と IoT Edge 1.4 です。 以前のリリースの場合は、「IoT Edge を更新する」を参照してください。

Modbus TCP または RTU プロトコルを使用する IoT デバイスを Azure IoT Hub に接続する場合は、ゲートウェイとして IoT Edge デバイスを使用できます。 ゲートウェイ デバイスが Modbus デバイスからデータを読み取り、サポートされているプロトコルを使用して、そのデータをクラウドに伝送します。

IoT Edge ゲートウェイ経由で IoT Hub に接続する Modbus デバイスのスクリーンショット。

この記事では、Modbus モジュール用に独自のコンテナー イメージを作成 (あらかじめ用意されているサンプルを使用してもかまいません) し、ゲートウェイとして機能する IoT Edge デバイスにそのイメージをデプロイする方法について取り上げます。

この記事は、Modbus TCP プロトコルの使用を前提として執筆されています。 Modbus RTU をサポートするようにモジュールを構成する方法について詳しくは、GitHub の Azure IoT Edge Modbus モジュール プロジェクトを参照してください。

前提条件

  • Azure IoT Edge デバイス。 そのセットアップ方法を紹介したチュートリアルについては、「Windows に Azure IoT Edge をデプロイする」(またはその Linux 版) を参照してください。
  • IoT Edge デバイスの主キー接続文字列。
  • Modbus TCP をサポートする物理 (またはシミュレーション) Modbus デバイス。 その IPv4 アドレスがわかっている必要があります。

Modbus コンテナーの準備

Modbus ゲートウェイの機能をテストしたい方のために、Microsoft からサンプル モジュールが提供されています。 このモジュールには Azure Marketplace (Modbus) から、またはイメージの URI (mcr.microsoft.com/azureiotedge/modbus:1.0) を使用してアクセスできます。

Note

Modbus モジュールは 2023 年 10 月 11 日にアーカイブされました。 読み取り専用になりました。

独自のモジュールを作成し、実際の環境に合わせてカスタマイズする場合は、GitHub で公開されているオープン ソースの Azure IoT Edge Modbus モジュール プロジェクトをご利用ください。 プロジェクトのガイダンスに従って独自のコンテナー イメージを作成できます。 コンテナー イメージを作成するには、Visual Studio での C# モジュールの開発に関するページ、または Visual Studio Code を使用した Azure IoT Edge モジュールの開発に関するページを参照してください。 これらの記事では、新規のモジュール作成や、コンテナー イメージのレジストリへの発行に関する手順について説明します。

ソリューションをお試しください

このセクションでは、IoT Edge デバイスに Microsoft のサンプル Modbus モジュールをデプロイする手順について説明します。

  1. Azure Portal で IoT Hub に移動します。

  2. [デバイス] に移動し、IoT Edge デバイスを選びます。

  3. [Set modules](モジュールの設定) を選びます。

  4. [IoT Edge モジュール] セクションで、Modbus モジュールを追加します。

    1. [追加] ドロップダウンを選択し、[Marketplace モジュール] を選択します。
    2. Modbus を検索し、Microsoft の [Modbus TCP Module] (Modbus TCP モジュール) を選択します。
    3. このモジュールが IoT Hub に対して自動的に構成され、IoT Edge モジュールの一覧に表示されます。 また、ルートも自動的に構成されます。 [Review + create](レビュー + 作成) を選択します。
    4. デプロイ マニフェストを確認し、[作成] を選択します。
  5. 一覧内の Modbus モジュール (ModbusTCPModule) を選択し、[モジュール ツインの設定] タブを選択します。モジュール ツインの目的のプロパティに必要な JSON にはデータが自動的に入力されます。

  6. JSON の SlaveConnection プロパティを探し、その値を Modbus デバイスの IPv4 アドレスに設定します。

  7. 更新 を選択します。

  8. [確認と作成] を選択し、デプロイを確認して [作成] を選択します。

  9. デバイスの詳細ページに戻り、[更新] を選びます。 新しい ModbusTCPModule モジュールが IoT Edge ランタイムと共に実行されているようすが表示されます。

データの表示

Modbus モジュールから来ているデータを表示します。

iotedge logs modbus

Visual Studio Code 用の Azure IoT Hub 拡張機能 (旧称 Azure IoT Toolkit 拡張機能) を使用して、デバイスから送信されているテレメトリを表示することもできます。

次のステップ