ユーザ用ツール

サイト用ツール


spreadrouter_tips:setup_serialconv:start

シリアル変換機能のパケット分割について

SpreadRouterシリーズには標準で高機能なシリアル変換機能が搭載されています。
シリアル変換機能は、SpreadRouter の WebUI画面から設定することで使用可能になります。

このシリアル変換機能というのは簡単に説明すると、シリアルポートから流れてくるデータを、
TCPまたはUDPのパケットにそのまま乗せて指定先のIPアドレスに転送することができます。

当然、逆側の指定されたTCPまたはUDPからのデータもシリアル側に転送され、TCP/UDP経由で
遠隔からシリアル機器との通信を実現することができます。


WebUIのシリアル変換設定画面

この設定画面上に「最小読み込みデータ(バイト)」とありますが、この設定は次の様な意味になります。

シリアルからSpreadRouterにデータが送られてきたものを、「最小読み込みデータ」バイト数を受け取って
TCP側に送信するという意味になります。 画面サンプルの 10 という設定の時に、シリアル側から途切れ無く

“abcdefg1234567890AAAAABBBBBCCCCCDDDDDEEEEEFFFFF”

を受信した場合、“abcdefg123” の時点でTCP側に1つのパケットとして送信することになります。
そして、2パケット目に残りの“4567890AAAAABBBBBCCCCCDDDDDEEEEEFFFFF”が送信されます。
また、最小読み込みデータに満たないデータを受信した場合は、「データ待ち受け時間」を過ぎた時点で送信されます。
これが、SpreadRouterのシリアル変換機能でのシリアルからTCPへの送信仕様になります。

もしシリアルからのデータが途切れ無く多く出てくる場合は、「最小読み込みデータ」を最大の 255 に設定してください。
255バイト以下を途切れ無く1パケットに納めて転送することが可能になりパケットの節約になります。



255バイト以上のデータもパケット分割させたくない場合

WebUI設定上では、最大255バイトを上限で「最小読み込みデータ」を設定できますが、これ以上のデータを
まとめて転送したい場合は、SpreadRouterの内部ファイルをカスタマイズする必要があり、次のファイルを
ダウンロードし書き換える必要があります。

socat_server.txt

上記ファイル名を「socat_server.txt」から「socat_server」に変更します。
SpreadRouter の /usr/local/sbin/ 内に上書きします。
# overlaycfg -s other
でフラッシュに保存します。

※注意点:
但しこのファイルを使用し有効にした場合、転送時間が「データ待ち受け時間」で設定している時間よりも
長くなるため、レスポンスが低下する可能性があります。
標準のファームウェアと比較しご検討のうえ使用してください。

spreadrouter_tips/setup_serialconv/start.txt · 最終更新: 2023/09/19 17:08 by 127.0.0.1

ページ用ツール