シリアルポートとの間でデータを送受信するために使用できるコマンドラインプログラムを探しています。テストプロセスを自動化したい-ファイルをttyPC
に送信し、output
をファイルに受信して結果を比較するテストスクリプトを開始します。まず、2つのプロセスでcat
を試しました。
# output
echo "Output"
cat /dev/ttyPC > ./out/out${fileNumber}.txt &
outputPID=$!
#input
echo "Input"
cat ./in/in${fileNumber}.txt > /dev/ttyPC
しかし、これは安定していません。時々、それは絶えずデータを送信している、または「以前に開かれたファイル」に問題がある、または2番目のttyの開始が最初にcat
を閉じる。
次に、minicomを試しました(script.txtがデータを送信しています)minicom -D /dev/ttyPC -b 115200 -8 -C log1.txt -S script.txt
ですが、コマンドラインからパリティを設定できません。
もっと良いものはありますか?
私は問題を解決するためにpythonスクリプトを記述しました。このスクリプトは、シリアルポートデバイス、入力ファイル、出力ファイルを引数として取り、入力ファイルの内容をシリアルポートに送信し、同時に読み取ります(量バイトは入力ファイルサイズに等しい)から出力ファイルへ。すべてが読み込まれた場合、または5秒間データが発生しなかった場合、スクリプトはポートを閉じて終了します。
https://github.com/folkien/pyIoCat
usage: serialCat [-h] -i INPUTFILE -o OUTPUTFILE -d DEVICE [-B BAUDRATE]
[-P PARITY]
optional arguments:
-h, --help show this help message and exit
-i INPUTFILE, --inputFile INPUTFILE
input file
-o OUTPUTFILE, --outputFile OUTPUTFILE
output file
-d DEVICE, --device DEVICE
tty Device
-B BAUDRATE, --baudrate BAUDRATE
-P PARITY, --parity PARITY
minicom
は、主に構成ファイルから設定を取得します。デフォルトは/etc/minicom/minirc.dfl
ですが、他の構成を/etc/minicom/minirc.<configuration name>
として保存したり、ホームディレクトリに~/.minirc.<configuration name>
として保存したりできます。
/dev/ttyPC
をデフォルトのポートとして使用し、必要に応じて速度とパリティを設定して、1つ以上の準備済み構成ファイルをセットアップできます。たとえば、minicom -s ttyPC
をrootとして実行し、Serial port setup
メニューに移動し、必要に応じて調整(パリティを含む)し、Save setup as ttyPC
を選択してMinicomを終了します。これで/etc/minicom/minirc.ttyPC
ファイルができました。 root以外のユーザーとしても、minicom ttyPC
のようにMinicomを起動することで、その設定を使用できます。複数の構成設定セットが必要な場合は、必要に応じて、異なる構成名を使用して繰り返します。
コマンドラインオプションを使用して、構成ファイルの設定を上書きできます。したがって、可能なすべてのパリティ設定を含む複数の構成ファイルを作成し、コマンドラインオプションを使用して残りを上書きすることができます。
minicom
構成ファイルは単なるテキストです。テスト環境のセットアップを完全に自動化する必要がある場合、スクリプトに構成ファイルの内容を含めることができ、構成ファイルに書き込むminicom
の使用を開始する前。