オープンソースのIIoTゲートウェイを使用してModbusデバイスの統合を高速化
産業用モノのインターネット(IIoT)アプリケーションは通常、Modbus周辺機器やその他のデバイスを統合するためにエッジゲートウェイを必要としますが、ゲートウェイの実装にはコストと時間がかかる可能性があります。オープンソースのエッジコンピューティングフレームワークは、展開を大幅に簡素化できます。
産業用モノのインターネット(IIoT)とは、製造、輸送、エネルギー、小売、ヘルスケア、サプライチェーン管理などの産業インフラストラクチャおよびアプリケーションとネットワーク化された相互接続されたデバイス、センサー、およびアクチュエーターを指します。この接続により、データの収集、交換、分析が可能になり、生産性と効率の向上、およびその他の経済的メリットが促進される可能性があります。エッジコンピューティングは、産業用IoTアプリケーションの台頭に対応して登場しました。エッジコンピューティングでは、データはデータセンターに送信されるのではなく、デバイス自体またはローカルコンピューターやサーバーによって処理されます。
多数のセンサーをエッジゲートウェイとインターフェースする必要がある産業ユースケースでは、ソリューションアーキテクトと開発者はソフトウェアの設計とエッジゲートウェイの開発を決定する必要があります。さまざまなセンサーからのデータを処理する方法。設計および開発段階でデータ分析を実行する方法。このような状況で、オープンソースフレームワークがない場合、新しいソフトウェア開発とバグ修正は多くの労力とコストを消費する可能性があります。これらの問題は、オープンソースのエッジコンピューティングフレームワークを使用して、開発段階でエッジゲートウェイソフトウェアを開発することで軽減できます。 EdgeX Foundryは、エッジゲートウェイのソフトウェア開発に使用できるオープンソースのエッジコンピューティングフレームワークであり、遅延とコストを削減します。 Modbusは、産業用システムで広く使用されているオープンプロトコルであり、エッジコンピューティング要件の出現に伴い、Modbus周辺機器をエッジコンピューティングシステムに接続する機能が重要になっています。
この2部構成のシリーズでは、EdgeX Foundryベースのエッジゲートウェイの設計と、エッジコンピューティング機能用のアプリケーションの開発について説明します。この最初の記事では、産業用センサーとユースケースについて説明し、エッジゲートウェイの要件の概要と、EdgeXがエッジゲートウェイの要件にどのように対応するかについて説明します。
産業用センサーの概要
産業用自動化では、センサーとアクチュエーターがあらゆる知的製品で重要な役割を果たします。センサーを使用すると、さまざまな変換を検出、分析、および処理できます。アクチュエータはセンサーから信号を受信し、入力に基づいてアクションを実行します。
産業で使用されるセンサーには、温度および湿度センサー、圧力センサー、近接センサー、ガスおよび化学センサーなどがあります。これらのセンサーの使用例には、次のものがあります。
- 温度は、生物学的サンプルの完全性を定義する上で重要な役割を果たします。サンプルを厳密な温度管理下に置かないと、サンプルは役に立たなくなり、実験の結論に影響を及ぼし、さらに悪いことに、患者の健康に影響を及ぼします。病院のITシステム管理者は、温度センサーを設置して、研究所や診療所の温度を24時間監視できます。
- 一部の製品は湿度と温度に敏感です。このような製品を通常の倉庫に保管すると、腐食が発生する可能性があるため、温度管理された環境で保管する必要があります。倉庫管理者は、センサーを配置して倉庫環境を常に監視できます。
- 圧力センサーは、気体と液体の圧力変化を感知するために使用されます。水圧センサーは、コンテナ内に沈められたオープンエンドのチューブの上部に取り付けて、タンク内の水位または水位の変化率を常に測定するために使用できます。
リアルタイムの産業環境では、デバイス間の通信、デバイス間の一方向または双方向の通信が体系的に行われます。機器の製造元に応じて、独自のプロトコルまたはオープンソースプロトコルが使用されます。多くのメーカーは、オープンプロトコルを採用して、自社製品を市場に簡単に統合できるようにしています。産業用電子機器とSCADA(監視制御およびデータ取得)を接続する最も一般的な自動通信プロトコルの1つは、Modbusです。
Modbusプロトコルの利点は、複数のメーカー、ソフトウェアベンダー、サービス組織をサポートし、サポートのためのアクティブなコミュニティグループを持っていることです。シリアルポートとイーサネット用にModbusプロトコルのいくつかのバージョンが存在し、最も一般的なものはModbus RTU、Modbus ASCII、Modbus TCP、およびModbusPlusです。シリアルRS-232、RS-485、RS-422、イーサネットなどのいくつかのタイプの物理メディアを介して通信し、ピアツーピアネットワークとマルチドロップネットワークの両方をサポートできます。 Modbus TCP / IP over Ethernetを使用すると、Modbusと他のタイプの混合プロトコルを同じ物理インターフェイスを介して同時に共存させることができます。これらの機能により、業界とユーザーはModbusプロトコルでサポートされているセンサーを選択するようになります。
エッジゲートウェイの概要
デバイス接続
エッジゲートウェイの重要な要件は、センサーおよびアクチュエーターとの接続を可能にすることです。デバイス通信のさまざまな方法を容易にする多くの業界プロトコルがあります。エッジソリューションは、ZigBee、Bluetooth LE、BACnet、Modbus、SiemensS7などの最も一般的な産業プロトコルをサポートする必要があります。
データ分析とルールエンジン
アプリケーションをローカルで実行するゲートウェイの機能を使用して、データをローカルで計算できます。人工知能サービスは、ダウンストリームデバイスからのデータをローカルで処理し、洞察にローカルで反応し、データのサブセットをクラウドに送信できます。ルールの作成も重要です。
データストレージ
ローカル処理に加えて、ゲートウェイにはデータをローカルに保存する機能が必要です。これは、ゲートウェイを自律的に実行できるようにするための鍵です。ローカル計算とローカルストレージの組み合わせにより、ゲートウェイもオフラインモードで動作できるようになります。
相互運用性
エッジゲートウェイで実行されている接続されたデバイスとアプリケーションは、他の製品またはシステム間の相互運用性を提供する必要があります。
セキュリティ
エッジゲートウェイ内の異なるモジュール間でデータを交換する必要がある場合があります。そのようなモジュールとデバイスは相互の接続を認証する必要があるため、セキュリティをエッジソリューションに統合する必要があります。エッジソリューションでは、アクセス許可ベースのアクセス制御、安全な暗号化通信、証明書管理、および既存のセキュリティソリューションへの統合が可能である必要があります。
デバイス管理
エッジゲートウェイには、個々のゲートウェイをリモートで管理およびアクセスする方法が必要です。リモート管理機能により、オペレーターはゲートウェイとそれに接続されているデバイスをリモートで開始、停止、構成、および更新できるようになります。
クラウド接続
エッジゲートウェイとクラウドシステム間の接続は不可欠です。詳細な分析のために正確なデータをログに記録し、収集したデータをオンデマンドで他のアプリケーションに転送するのに役立つ場合があります。
移植性
エッジソリューションのソフトウェアは、さまざまなオペレーティングシステムやハードウェアプラットフォームに移植できる必要があります。これにより、ユーザーは特定のベンダーのハードウェアおよびソフトウェアソリューションに縛られることを回避できます。
EdgeX Foundry
開発ではなくオープンソースなのはなぜですか?
新しいソフトウェアフレームワークの開発には、多くの時間、労力、およびコストがかかります。設計、開発、テストなど、すべての段階でほとんどの時間が必要です。 EdgeX Foundryは、エッジゲートウェイの保守性に必要なすべてのマイクロサービスをすでに提供しているオープンソースのエッジコンピューティングフレームワークです。このフレームワークは疎結合のマイクロサービスを実行し、すべてのサービスを一緒に実行する必要がないため、依存するサービスのみを実行する必要があります。他のサービスは必要に応じて使用できます。これらの利点があるため、エッジゲートウェイのソフトウェア基盤としてオープンソースのエッジコンピューティングフレームワークが推奨されます。
EdgeX Foundryプロジェクトは、LinuxFoundationの下で立ち上げられました。これは、IoTエッジ向けのオープンで相互運用可能なプラットフォームです。フレームワークはさまざまなレイヤーで構成されており、各レイヤーは複数のマイクロサービスで構成されています。モジュラーアーキテクチャにより、ユーザーはロジックを簡単にスケーリング、更新、さまざまなシステムに分散できるため、保守性が向上します。
EdgeXは、Windows、macOS、およびLinuxシステムと互換性があります。このプラットフォームアーキテクチャは、すべての技術者が短期間でそれを学び、実装し、自分で貢献できるように設計されています。
EdgeXは、デバイスデータの取り込み、正規化、エッジインテリジェンス(AI / ML)の交換可能なリファレンスサービスを提供し、新しいIoTデータサービスと高度なエッジコンピューティングアプリケーションのサポートを共有することで、完全なエッジソリューションやエッジSW / HW製品の市場投入までの時間を短縮します。
EdgeXは、EdgeXpert、EdgeXRT、HP Engage Edge、EdgeBox、Dellゲートウェイなどの製品にすでに実装されています。これらの多くの製品でのEdgeXフレームワークの使用は、他のエッジゲートウェイでの使用に対する信頼をさらに構築します。
EdgeXはエッジゲートウェイの要件にどのように対応していますか?
EdgeX Foundryは、オープンソースのベンダーニュートラルなソフトウェアプラットフォームであり、物理的な検知と作動の「モノ」と情報技術(IT)システムの間のエッジミドルウェアとして機能します。
図1.EdgeX Foundry(出典:www.edgexfoundry.org)
データストレージ– Redis DB
EdgeXは、デフォルトでデータベースとしてオープンソースのRedisを提供します。 Redisは、RDB、AOFなどのさまざまな永続性オプションを提供します。これは、ストアアンドフォワードに使用されるメモリ内のデータ構造です。これは、エッジデバイスが接続モードと切断モードを切り替えている場合に役立ちます。
データ分析–Kuiperルールエンジン
EdgeXは、IoTエッジ分析およびストリーム処理用の軽量オープンソースソフトウェアパッケージであるEMQ XKuiperを提供します。 Kuiperは、リソースに制約のあるさまざまなエッジデバイスで実行できます。 Kuiperルールは、ソース、SQL、およびシンクに基づいています。
- ソース:MQTTブローカーからのデータなどのストリーミングデータのデータソース。
- SQL:SQLは、ストリーミングデータ処理のビジネスロジックを指定する場所です。 KuiperはSQLに似たステートメントを提供し、ユーザーがデータを抽出、フィルタリング、変換できるようにします。
- シンク:シンクは、MQTTブローカーやHTTPRESTアドレスなどの指定されたターゲットに分析結果を送信するために使用されます。
Kuiperを使用するには、次の4つの手順が必要です。
- データソースを指定する必要があるストリームを作成します
- データ分析用のSQL /ルールを作成する
- 分析結果を保存するためのシンクターゲットを指定します
- ルールを展開して実行する
デバイス接続–デバイスサービス
EdgeXは、4つの疎結合マイクロサービスレイヤーを提供します。その中で、デバイスサービスレイヤーはデバイスサービスと相互作用します。 EdgeXデバイスサービスは、デバイスからの情報を数百のプロトコルと数千の形式で変換し、EdgeXに取り込みます。
デバイスサービスは、スマートホームアプライアンス、センサー、アクチュエーター、および業界のあらゆるマシンなどのデバイスと相互作用するエッジコネクタです。センサーデータの取得とデバイスの作動に加えて、デバイスサービスも次のとおりです。
- デバイス/センサーからステータスの更新を取得する
- センサーデータをEdgeXに送信する前にデータを変換する
- 構成の変更
- デバイスを発見する
デバイスサービスは、一度に1つまたは複数のデバイスにサービスを提供できます。デバイスは、エッジ/ IoTゲートウェイ(およびそのゲートウェイのすべてのデバイス)、デバイスマネージャー、センサーハブ、HTTP経由で利用可能なWebサービス、またはEdgeXへのデバイスまたはデバイスのコレクションとして機能するソフトウェアセンサーである可能性があります。ファウンドリ。
相互運用性–MQTTブローカーとRESTAPI
EdgeXは、軽量のMQTTメッセージングプロトコルをサポートしています。これにより、ユーザーは、小さなコードフットプリントと最小限のネットワーク帯域幅でリモートデバイスを接続するのに理想的なメッセージングトランスポートを公開またはサブスクライブできます。
EdgeXは、サードパーティアプリケーションがRESTプロトコルを介してEdgeXにデータをプッシュする簡単な方法を提供するレストデバイスサービスをサポートしています。
セキュリティ–セキュリティストアとAPIゲートウェイ
EdgeXは、2つの主要なセキュリティコンポーネントを提供します。 1つはセキュリティストアで、パスワード、証明書、アクセスキーなどのEdgeXシークレットを安全に保管する場所を提供するために使用されます。 2つ目はAPIゲートウェイで、EdgeX RESTリソースへのアクセスを制限し、アクセス制御関連の作業を実行するためのリバースプロキシとして使用されます。
デバイス管理–デバイス管理API
EdgeXには、定期的にヘルスを検査するオプションがあります。任意のデバイスに関するメタデータを取得するために使用されるデバイス管理API。
クラウド接続
EdgeXは、AWS、Microsoft Azure、IBMWatsonクラウドなどのクラウドプラットフォームに接続するためのサポートを提供します。
EdgeXのクラウド接続は、次の2つの方法で提供されます。
- アプリケーションサービス:これらのサービスは、AWSやMicrosoftAzureなどのクラウドサービスにデータを送信するためにデプロイするためにコンパイルする必要があります。 edgex-core-dataがデータイベントを公開するメッセージバスから直接データを受信します。
- 構成可能なアプリケーションサービス:サービスをコンパイルしてビルドインSDK関数を使用するのではなく、構成をすばやく使用する方法を提供します。
2番目の記事では、エッジコンピューティング機能を実現するために産業用センサーをEdgeXとインターフェースするケーススタディを提供します。
モノのインターネットテクノロジー
- オープンDDSとRTIDDSソフトウェア
- 2020年のIIoTセキュリティのヒントとトレンド
- オープンソース用語の紹介
- オープンソースとIoT:コラボレーションによるイノベーション
- AT&T、TechMahindraが新しいオープンソースAIプラットフォームでコラボレーション
- アプリケーションの脆弱性により、IoTデバイスは攻撃を受けやすくなります
- ソフトウェアのリスク:IoTでのオープンソースの保護
- オープンソースのIoT開発ツールとベンダーがサポートするツール
- IIoTシステムへの5G統合がインダストリー4.0の採用を加速
- エッジでのオープンソースの必要性(eBook)
- オープンソースがIoTとエッジコンピューティングの採用を促進