- 印刷する
I/O Gatewayで汎用シリアルドライバーを使用する方法
I/O Gatewayを任意のシリアルデバイスと通信させる方法をご紹介します。
**2021年11月1日、チューリップはI/O Gatewayデバイスの販売を終了します。Edge IOおよびEdge MCデバイスは引き続きご利用いただけます。詳細はこちら
Edge IOシリアルガイド
この記事では、I/O Gatewayの汎用シリアルドライバを使用して、ほとんどのシリアルデバイスと通信する方法を説明します。この記事は、Edge MCや Edge IOなど、他のTulip Edgeデバイスにも適用できます。
この記事は、I/Oゲートウェイのセットアップが完了していることを前提としています。
このドライバは、現在Windows Tulip Playerでのみ利用可能なシリアルドライバ(Player Only)とは異なることに注意してください。
汎用シリアルドライバーとは?
汎用シリアルドライバーは、I/Oゲートウェイが一般的なシリアルプロトコルを使用して他のデバイスと通信できるようにします。これらのデバイスは以下のようなものです:
- Arduino
- ラズベリーパイ
- 他のTulip Edgeデバイス
- マイクロコントローラー
- その他多くのデバイス
このドライバは多機能なため、複雑な設定になっています。このコンフィギュレーションは、他のデバイスのコンフィギュレーションと正確に一致させる必要があります。
このドライバは一度に複数のデバイスと通信することができます。
注意:Tulipは、汎用シリアルドライバーに接続するデバイスのカスタムコードを書きません。
汎用シリアルドライバーをオンにする
I/O Gatewayが作成するローカルネットワークにログインして、コンピュータをI/O Gatewayに接続します。
デバイス・ポータルを開きます。ダッシュボード・ページで、ページ左側の "Configure Drivers" ボタンをクリックします。
ドライバ設定ページで、"Generic Serial" オプションをクリックします。
デフォルトでは、「Generic Serial」オプションはすでに緑色(有効)になっており、いくつかの一般的な設定で構成されているはずです。
Windowsは、キャリッジリターンに"◆"を使う傾向があります。
汎用シリアルドライバをオンにするには、いくつかの設定が必要です。
以下は各フィールドのオプションです:
接尾辞の書き込み
- 期待される入力:期待される入力:任意の文字列 - I/O Gatewayがデバイスに送信するメッセージに付加され、一般的に改行( \n)またはキャリッジリターン( \nAr)です。
- 必須:いいえ
パスマッチャー
- 期待される入力デバイスへのシステムパス - 未使用のシリアルデバイスと一致させるために * を指定できます。
- 必須: はい
名前
- 期待される入力このデバイスの名前(これはアプリからデバイスを参照するために使用されます)
- 必須:はい
区切り文字
- 期待される入力任意の文字列(デバイスからのメッセージをチャンクに分割し、Tulipアカウントに送信するために使用されます。)
- 必須:はい
ボー
- 期待される入力デバイスが通信に使用するボーレート
- 必須:はい
ネイティブDB9ポート
I/O GatewayのネイティブDB9ポートを使用する場合は、パスマッチャーに /dev/ttyO4という
パスを使用する必要があります。これはゼロではなく大文字のOです。
シリアル・ドライバーで動作するアプリのビルド
ドライバをテストするアプリの作り方を説明します。
まず、新しいアプリを作成し、ボタンを追加します。
そのボタンにトリガーを追加し、ドライバの設定に使用した名前の汎用シリアルデバイスを呼び出します。
以下は、"Then "文で必要なフィールドです:
- "デバイス関数の実行"
- "汎用シリアルデバイス"
- 「シリアルデバイスに文字列を送る。
- このステーション "で
- 送信先デバイス「テキスト" "RS232"
- 送信するメッセージ送信するメッセージ: "text" "testing generic serial"
ジェネリック・シリアル・ドライバがデータを出力した時に、変数にデータを記録するトリガーをそのアプリに追加する。If "ステートメントを使用して、正しいデバイスがデータを出力した場合のみデータを保存する。
いつ
- "デバイス" "ジェネリックシリアルデバイス "が "このステーション "で出力する。
もし
- "デバイス出力"
- "名前"
- "="
- 「テキスト" "RS232"
次に
- "データ操作"
- "保存"
- 「デバイス出力" "データ"
- の場所を指定します:"汎用シリアル"(変数名です)
その変数をアプリに追加する。name "と "data "プロパティを持つオブジェクトになります。
アプリをテストする
ヌルモデムとUSB-RS232コンバーターを使ってアプリをテストしてください。
USBをコンピューターに接続します。次に、ヌル・モデム・アダプターをRS232アダプターとI/O GatewayのDB9ポートに接続します。
から開始する:
Windowsの場合は、Puttyを使って接続をテストする。デバイスマネージャーを使用してポート番号を取得します。
Speed "ボックスにCOMポート番号を入力し、"Connection Type "に "Serial "を選択する。
Puttyターミナルは、起動しているアプリのボタンをクリックしたときだけ、I/O Gatewayにメッセージを出力します。
メッセージ'Tulip'をPuttyに入力し、Enterキーを押して送信します。
LinuxまたはMacでNode.jsを使って汎用シリアル・ドライバをテストする方法
node.jsとnpmが必要です。次に、npmを通してserialport
パッケージをインストールする。
const Readline = require('@serialport/parser-readline')
const port = new SerialPort('/dev/ttyUSB0', { baudRate: 19200 })
const parser = new Readline()
port.pipe(parser)
parser.on('data', line => {)
console.log(> ${line})
});
let test = false;
setInterval(()=>{
if (test){
port.write('outputn');
test = false
}
else {
port.write('other outputn');
test = true
}
},1000) ```