-
印刷する
Edge IOでGPIOを使う方法
Edge IOでのデジタル入力の読み込みとデジタル出力の書き込みのガイド
この記事では、Edge IO でデジタル入力を読み取り、デジタル出力を書き込む方法について説明します。扱うトピックは以下の通りです。
- Edge IOのGPIOポートの技術仕様
- TulipアプリでGeneric I/Oドライバを使用してGPIOを使用する
- GPIOをMachinesとNode-REDで使用する
技術的な仕様
Edge IOには、以下のGPIOピンがあります。
- 4デジタル出力
- 24Vリレー出力
- 1ピンあたり最大500mA
- 8デジタル入力
- 5-36Vのロジックレベル互換性
- 入力高電圧:4V
- 入力低電圧:1V
すべてのピンは、ピンがハイ("オン")にトグルされたときに点灯するLEDを備えています。
ピンは下図のように配置されています。入力バンクと出力バンクには、それぞれ追加の(共通の)グランドピンがあることに注意してください。
TulipアプリでGPIOを使用する
Edge IOのGeneric I/Oドライバを使うと、Tulipアプリで次のGPIOの機能を利用できます。
- デジタル入力のpinUp、pinDown、またはpinChangeイベントの監視
- デジタル入力の読み込み
- デジタル出力の書き込み
Generic I/Oドライバの有効化とTulipアプリのトリガーでの使用方法については、Using the Generic I/Oドライバを参照してください。
Node REDでGPIOを使用する
なぜNode-REDを使ってGPIOを処理するのでしょうか?このセクションを読むと、次のことがわかります。
- チューリップ・マシンのデータ・ソースとしてデジタル入力を使用する
- クラウドを使わずに、エッジでロジックを使用してGPIOを読み書きしたい。
- パフォーマンスを向上させるために、GPIOイベントをTulipに送信する前にバッチ処理する。
- カスタムドライバーやカスタムロジックを実装して、チューリップに送信する前に信号を処理します。
- 既存のサードパーティ製Node-REDをサポートするGPIOデバイスを統合する。
Edge IOにインストールされたNode-REDには、GPIOサブシステムと対話するための以下のカスタムTulipノードが付属しています。ノードの使い方の詳細は、ノードを選択してサイドバーの「Help」タブに移動して確認することができます。
デジタル入力の読み込み
フローにtulip-digital-input
ノードを追加して、ピンの変化をモニタする(Run Mode: Continuous)か、ピンを読み込む(Run Mode: On Trigger)か、どちらかの方法を選択します。どちらの方法でも、8本のピンのうち、どのピンを読み込むかを選択できます。
{height="" width="250"}.
デジタル出力の書き込み
フローにtulip-digital-output
ノードを追加して、デジタル出力ピンに値を書き込みます。4つのピンのうち、任意のサブセットを選択して書き込むことができます。
{height="" width="250"}.
ライブラリフロー
Edge IOにはNode-REDにプリインストールされたTulipライブラリフローがあり、TulipからNode-REDのGPIOとインタラクションすることができます。Node REDでTulipライブラリ・フローを見つけてインポートする方法については、「Tulip Node-REDフローのインポート」を参照してください。
**gpio_to_machine_attr
**は Node-RED の GPIO ピンをモニタして、ピンの値をマシン属性に書き込むライブラリ・フローです。このフローを使うには、tulip-digital-input
ノードを設定して監視するピンを選択し、tulip-machine-attribute
ノードを Machine のマシン属性にマップする必要があります。Tulip API を使って Node-RED から Tulip へデータを送信する方法については、 こちらを参照してください。
**gpio_http_endpoints
**は、Tulip アプリから GPIO ピンを制御できるようにするライブラリフローです。Edge Deviceのコネクタホストを使用するように設定したHTTPコネクタを作成し、フローで設定したNode-REDのHTTPエンドポイントを叩くためのコネクタ関数を作成する必要があります。Edge Deviceのコネクタホストを使用したHTTPでのNode-REDとの通信の詳細については、こちらを参照してください。
Generic I/O と Node RED の両方を有効にする
Generic I/OとNode-REDの両方を同時に有効にすることは可能です。これは、Generic I/OとNode-REDの両方がデジタル出力ピンに値を書き込むことができることを意味します。複数のソースから1つのピンに異なる値が書き込まれた場合、受信した順番に書き込みが行われます。ピンの書き込みを行う前に、そのピンが意図したアプリケーションとは別のデバイスをアクティブに制御していないことを確認してください。Tulip Edge DeviceのGPIOは、セーフティクリティカルなアプリケーションでは使用しないでください。