MENU
    エッジIOでのGPIOの使い方
    • 11 Aug 2023
    • 1 読む分
    • 寄稿者

    エッジIOでのGPIOの使い方


    記事の要約

    Edge IOでのGPIOの使い方

    Edge IO でのデジタル入力の読み込みとデジタル出力の書き込みガイド

    この記事では、Edge IO でデジタル入力を読み取り、デジタル出力を書き込む方法を説明します。扱うトピックは以下の通りです:

    • Edge IO GPIOポートの技術仕様
    • TulipアプリでGPIOをGeneric I/Oドライバで使用する
    • GPIOをMachinesとNode-REDで使用する

    技術仕様

    Edge IOには以下のGPIOピンがあります:

    • 4つのデジタル出力
      • 24Vリレー出力
      • ピンあたり最大500mA
    • 8デジタル入力
      • 5-36Vロジックレベル対応
      • 入力高電圧:4V
      • 入力低電圧:1V

    GPIOピンへの接続には、PNPタイプのセンサーを使用するのがベストプラクティスです。NPNタイプのセンサーを使用する場合は、高抵抗を使用する必要があります。すべてのピンにはLEDがあり、ピンがハイ(「オン」)に切り替わると点灯します。

    ピンの位置は以下の図の通りです。入力バンクと出力バンクには、それぞれ追加の(共通の)グランド・ピンがあることに注意してください。

    TulipアプリでのGPIOの使用

    Edge IOのGeneric I/Oドライバは、Tulipアプリで以下のGPIO機能を有効にします:

    • デジタル入力のpinUppinDown、またはpinChangeイベントの監視
    • デジタル入力の読み取り
    • デジタル出力の書き込み

    Generic I/O ドライバの有効化と Tulip アプリのトリガでの使用方法については、Using the Generic I/O Driverを参照してください。

    Node REDでGPIOを使用する

    なぜGPIOを扱うのにNode-REDを使うのでしょうか?このセクションの続きをお読みください:

    • デジタル入力をチューリップマシンのデータソースとして使用する。
    • クラウドを必要とせず、エッジでロジックを使用してGPIOを読み書きしたい。
    • パフォーマンスを向上させるために、GPIOイベントをバッチ処理してからTulipに送信する。
    • カスタムドライバーまたはカスタムロジックを実装して、Tulipに送信する前に信号を処理する
    • 既存のサードパーティのNode-REDサポートがあるGPIOデバイスを統合する

    Edge IO上のNode-REDインストールには、GPIOサブシステムとのやり取りを可能にする以下のカスタムTulipノードが付属しています。ノードの使い方の詳細は、ノードを選択し、サイドバーの "Help "タブで確認できます。

    デジタル入力の読み込み

    tulip-digital-inputノードをフローに追加して、ピンの変化を監視するか(実行モード:連続)、ピンを読み取ります(実行モード:トリガ時)。どちらのオプションでも、8つのピンのうちどれを読み取るかを選択できます。

    {高さ="" 幅="250"}。

    デジタル出力の書き込み

    フローにtulip-digital-outputノードを追加して、デジタル出力ピンに値を書き込みます。4つのピンのサブセットを選択して書き込むことができます。

    {高さ="" 幅="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ノードをマシンのマシンアトリビュートにマッピングする必要があります。Tulip API を使用した Node-RED から Tulip へのデータ送信については、こちらを参照してください。

    **gpio_http_endpoints**は、Tulip アプリから GPIO ピンを制御するためのライブラリフローです。Edge Device のコネクタホストを使用するように設定された HTTP コネクタを作成し、フローで設定された Node-RED HTTP エンドポイントをヒットするコネクタ関数を作成する必要があります。Edge Deviceのコネクタホストを使用したHTTP経由でのNode-REDとの通信については、こちらを参照してください。

    汎用I/OとNode REDの両方を有効にする

    :::(Warning) (警告)Generic I/OとNode-REDの両方を同時に有効にすることができます。これは、Generic I/OとNode-REDの両方がデジタル出力ピンに値を書き込めることを意味します。複数のソースから異なる値がピンに書き込まれた場合、受信した順に書き込みが実行されます。ピンを書き込む前に、そのピンが意図したアプリケーションとは別のデバイスをアクティブに制御していないことを確認してください。チューリップ・エッジ・デバイスのGPIOは、セーフティ・クリティカルなアプリケーションでは使用しないでください:


    この記事は役に立ちましたか?