line monitor
http://qiita.com/7of9/items/028556c5a819a6a8de96
全部つなげた状態でのテスト。
接続形態
接続形態は以下とした。
block diagram @ mindmup
上記において「DSUB9 <-> USB」の記載はUSBシリアルケーブル。以下を利用した。
- VE488 (Wiretek) x 2本
- SRC06-USB (バッファロー) x 1本
- USB-RS232 (TFTEC JAPAN) x 1本
使用プログラム
- python line monitor v0.4 on RPi2
- unity line monitor UI v0.3 on 304SH (android)
環境と設定
- RPi2 > IP: 192.168.10.7, command port=7000
- 304SH > IP: 192.168.10.3, monitor port=9000
- Win8.1 + TeraTerm (CRLF terminating) [COM3]
- Win8.1 + TeraTerm (CRLF teminating) [COM5]
- CentOS for setting through UDP port7000
CentOSから以下を実行して設定しておく。
$echo "set,mon,192.168.10.3,9000" | nc -w 1 -u 192.168.10.7 7000
$echo "set,combaud,115200" | nc -w 1 -u 192.168.10.7 7000
304SHにてlinemonitor UIを起動しておく。
Win8.1にてTeraTermを立ち上げる(COM3)。通信速度を115200baudにする。CRLF送信設定する。
もう1つTeraTermを立ち上げて同様の設定をしておく(COM5)。
(通信速度は9600, 19200, 115200で確認済。他の速度でもlinuxのドライバで処理しているので、問題ないと思われる)
動作確認
以下のファイルをCOM3側のTeraTermの「ファイル送信」機能で送信した。
//--------------------------
test, from 1, 115200
3.1415926535
2.718281828
6.022
1023
同様に、COM5側のTeraTermの「ファイル送信」機能で送信した。
結果、以下のように304SHにてモニターできた。
また、Win8.1上でもCOM3からCOM5への通信、COM5からCOM3への通信ができた。
しかしながら、1行ごとに1秒程度の遅れが出ている。COM3からCOM5へループバックした場合はこのような遅延は起きない。python側のプログラムの改善が必要だと分かった。