Xport UDP通信で複数の相手と送受信する方法

Lantronix Xportは組込機器にLANインタフェースを追加するのに非常に便利なインタフェースだ。

今回は正式に対応するUDPでの1対1通信でなく、公式にはドキュメント化されていない多対多での使い方を紹介しよう。まずは1対1通信時と同様の手順で

Connection Settings->Channel1->Connect Protcol :UDP

Connection Settings->Channel1->Datagram Type:01

Connection Settings->Channel1->Local Port:1000

Connection Settings->Channel1->Remote Port:1000

OK

後にApply Settingsで書換後に、

Connection Settings->Channel1->Datagram Type:00

OK

後にApply Settingsを行うと有効になる。

・ConnectMode「0xCC」

・Datagram Type「0x00」

が条件となるのだ。ここまで設定を行ったらシリアルから以下のバイナリを送出してみよう。

0x02 (スタートバイト)
0xC0 (接続先IP 1バイト目 例: 192)
0xA8 (接続先IP 2バイト目 例: 168)
0x00 (接続先IP 3バイト目 例: 00)
0x0A (接続先IP 4バイト目 例: 10)
0x00 (データバイト数 BigEndian H)
0x02 (データバイト数 BigEndian L 例: 2バイト)
0x41 (データ) ASCII A
0x42 (データ) ASCII B

0x02 (スタートバイト)
0xC0 (接続先IP 1バイト目 例: 192)
0xA8 (接続先IP 2バイト目 例: 168)
0x00 (接続先IP 3バイト目 例: 00)
0x0B (接続先IP 4バイト目 例: 11)
0x00 (データバイト数 BigEndian H)
0x02 (データバイト数 BigEndian L 例: 2バイト)
0x43 (データ) ASCII C
0x44 (データ) ASCII D

 

上記を送出すると、

192.168.0.10:1000に対してUDPで「AB」

192.168.0.11:1000に対してUDPで「CD」

を送信することができる。受信に関しては不特定多数から1000番ポートあてに送られてくるデータを送受信できる状態になる。1対1しかできず困ったなという時は是非試してみて欲しい。

 

Xportが搭載している機器であれば、すべて同じ実装であると思われる為

・Xport

・WiPort

・Cobox

・LINEEYE SI-60,SI-65等々

 

いろんな機器で使用できるだろう。