IIoTエッジ開発–Modbusの使用
編集者注:産業用モノのインターネット(IIoT)は、産業運営に関する深い洞察を提供し、接続されたマシンとシステムの効率を高めることを約束します。大規模なIIoTアプリケーションは、階層化されたアーキテクチャに依存して、さまざまなセンサーからデータを収集し、データを確実かつ安全にクラウドに移動し、その洞察と効率を提供するために必要な分析を実行します。インダストリアルインターネットアプリケーション開発では、著者はIIoTアーキテクチャの詳細な調査を提供し、これらのシステムに関連する幅広い要件を満たすためのアプローチについて説明します。
産業用インターネットアプリケーション開発から改作、Alena Traukina、Jayant Thomas、Prashant Tyagi、KishoreReddipalliによる。
第3章IIoTエッジ開発(続き)
by Alena Traukina、Jayant Thomas、Prashant Tyagi、Kishore Reddipalli
産業用M2Mプロトコル– Modbus
このセクションでは、Raspberry PiハブとModbusプロトコルを使用して、センサーシミュレーターモジュールからレシーバーデバイス(PCまたはクラウド)にデータを送信するためのシンプルなIoTアプリケーションの構築を試みます。
センサーシミュレーターからレシーバーデバイスへのデータフロー
ハードウェアリソースが限られているデバイスの場合、シリアル通信にModbusプロトコルを使用するのが理にかなっています。シンプルですが、機能が異なるいくつかのオープンで独自の実装があります。
このプロトコルはトランスポート層で使用できますが、この例では、アプリケーションレベルで動作するModbusTCPを使用することに注意してください。
次の表に、プロトコルの詳細な説明を示し、ニーズに適しているかどうかを理解します。
キー 価値 オープンソースはい* OSIlayerTransportまたはapplicationDatatypesInteger、float、string、BooleanLimitations•大きなバイナリオブジェクトのサポートなし•マスターノードは、データの変更について各デバイスを定期的にポーリングします*
•単一のデータリンクでアドレス指定される最大254台のデバイス*
•連続した送信のみが許可されます
可能な操作レジスタとコイルの読み取りと書き込み、diagnosticsLatencyHighUsageSMS、GPRS、有線、ワイヤレス、メッシュ通信SecurityNoCompressionNo表4:Modbusプロトコルの仕様

アプリケーションを構築するには、次のものが必要です。
-
必要なソフトウェア:
-
Node.js 6 +( https:/ /nodejs.org/en/download/ )
-
PostgreSQL( https://www.postgresql .org / download / )
-
Cloud Foundry CLI( https:// github.com/cloudfoundry/cli#downloads )
-
リクエスト( https://www.npmjs .com / package / request )
-
Modbus( https://www.npmjs .com / package / modbus )
-
Docker( https://docs.docker .com / engine / installation / )
-
-
必要なハードウェア:
-
Raspberry Pi 3(モデルB)
-
電源アダプター(2A / 5V)
-
microSDカード(8 GB以上)とSDアダプター
-
有線ネットワーク接続用のイーサネットケーブル
-
SDカードの準備
SDカードを準備するには、説明されている一連のアクションに従います。
-
最新のRaspbian LITE画像をダウンロードします(で入手可能) https://raspberrypi.org/downloads/raspbian/ 。
-
SDカードをコンピューターに接続し、エッチャーを使用します ( https:// io / )Raspbianをフラッシュする .img SDカードにファイルします。
-
SSHを有効にする:
cd / Volumes / boot
touch ssh
-
Wi-Fiを有効にするには、 conf 次の内容で:
network ={
ssid =” YOUR_SSID”
psk =” YOUR_WIFI_PASSWORD”
}

-
/ home / pi / hub
-
/home/pi/hub/package.json 次の内容のファイル:
{
"name": "hub"、
"version": "1.0.0"、
"description": ""、
「main」:「index.js」、「scripts」:{
「start」:「node index.js」、
「test」:「echo「エラー:テストが指定されていません」 &&exit 1″
}、
"author": ""、
"license": "ISC"、 "dependencies":{
"modbus": "0.0.16 ”、
“ request”:“ ^ 2.81.0”
}
}
-
/home/pi/hub/index.js REMOTE-SERVER-ADDRESS.com および
REMOTE-SENSOR-ADDRESS 実数値の場合:
-
/ home / pi / hub / Dockerfile 次の内容のファイル:
FROM hypriot / rpi-node:boron-onbuild
RUN apt-get update &&apt-get install -y libmodbus5
-
/ home / pi / Sensor
-
/home/pi/sensor/package.json 次の内容のファイル:
{
"name": "sensor"、
"version": "1.0.0"、
"description": ""、
「main」:「index.js」、「scripts」:{
「start」:「node index.js」、
「test」:「echo「エラー:テストが指定されていません」 &&exit 1″
}、
"author": ""、
"license": "ISC"、 "dependencies":{
"modbus": "0.0.16 ”
}
}
-
/home/pi/sensor/index.js REMOTE-HUB-ADDRESS.com 実際の値で:
-
/ home / pi / Sensor / Dockerfile 次の内容のファイル:
FROM hypriot / rpi-node:boron-onbuild
RUN apt-get update &&apt-get install -y libmodbus5
モノのインターネットテクノロジー