ブログ

Armadillo-640:シリアル通信をブリッジする方法(socatを使用)

at_kazutaka.bito
2022年3月7日 17時44分

シリアルポートを持つ2つのデバイス間のシリアル通信をArmadillo-640経由でブリッジする方法です。
ここでは、socatを使います。

1. socatのインストール

パッケージ情報をアップデートします。

root@armadillo:~# apt-get update

補足)上記コマンドでエラーになる場合は、 Armadillo-X1/IoT(G3/G3L)/640/610:apt-get updateでエラーになる場合 の方法でアップデートします。

socatをインストールします。

root@armadillo:~# apt-get install socat


2. socatの実行

シリアル通信のブリッジを開始するには、ブリッジするシリアルポートのデバイスファイル名を指定してsocatコマンドを実行します。

socat [デバイスファイル名],raw,echo=0,crnl [デバイスファイル名],raw,echo=0,crnl


例えば、シリアルポートのデバイスファイル名が
/dev/ttyACM0
/dev/ttyACM1
となっているシリアルポートを
ボーレート(※):38400
でブリッジする場合は、下記のようにコマンドを実行します。
※)ボーレート等、オプションを設定する場合の用法はmanコマンドで確認できます。

root@armadillo:~# socat /dev/ttyACM0,raw,echo=0,b38400,crnl /dev/ttyACM1,raw,echo=0,b38400,crnl