普通の日記

unixサーバー群とRS-232Cでリモートコントロールできる某機器がそばにあるので前々から制御したかったのですが、あっさりできたので記事に。リモートコントロールできる某機器はRS-232C(25pin)が付いて外部から制御できる受信機です。これをunixFreeBSD:Libretto50)と接続しようと思ったのですがどうやってもシリアルポートが認識されない。Libretto50のシリアルポートはIOリプロケーター経由なのでなにか特殊なのかも?ということであきらめ、USB-シリアルに変更。Libretto50にはUSBポートがないためこのマシーンもあきらめ。まず家に転がってるUSBRSAQ2(IODATA製)をWindows7で認識させる方法をググるとIC3のPin5の足をカットするとIODATAからProlific製に戻るらしいので即カット。ドライバーもネットから落として即認識。某機器と接続しても問題なし。次にunixFreeBSD:LibrettoL3)にUSBRSAQ2を接続してググって以下の通り。

version6.1の場合、USB-Serial ケーブルを使用するには、uplcom と ucom ドライバが必要。version9.0はドライバー実装済みのため直ぐ動く。

# man 4 uplcom
uplcom -- USB support for Prolific PL-2303/2303X/2303HX serial adapters driver
# man 4 ucom
ucom -- USB tty support

上記 man から、/boot/loader.conf に次を記述。

uplcom_load="YES"
ucom_load="YES"

バイスは次のとおりcuaU0がそれ。

# cd /dev
# ls -l | grep cua
crw-rw----  1 uucp  dialer      0,  85 Nov 22 19:57 cuaU0
crw-rw----  1 uucp  dialer      0,  86 Nov 22 19:01 cuaU0.init
crw-rw----  1 uucp  dialer      0,  87 Nov 22 19:01 cuaU0.lock
crw-rw----  1 uucp  dialer      0,  79 Nov 22 19:01 cuad0
crw-rw----  1 uucp  dialer      0,  80 Nov 22 19:01 cuad0.init
crw-rw----  1 uucp  dialer      0,  81 Nov 22 19:01 cuad0.lock

pppで通信する

# ppp
Working in interactive mode
Using interface: tun0
Warning: No default entry found in config file.
ppp ON mania> set device /dev/cuaU0
ppp ON mania> set speed 9600
ppp ON mania> term
deflink: Entering terminal mode on /dev/cuaU0
Type `~?' for help

ネットにあるのはpppでモデムを制御する方法ばかり。モデムってコマンドモードとデーターを転送しているモードがあり、pppもコマンドモードとターミナルモードがあり、モデムを操作しないのであればめんどくさいだけ。むかーしむかーしATコマンドをスクリプトで直接制御するために普通に入出力を切り替えるコマンドがあったけど思い出せず。当時も苦労して調べたか教えてもらったコマンドがあったんだけどすっかり忘れて(あんまり使わないし使ってる人もいない。)昔の雑誌を漁ったら見つけたので思い出した。cuコマンドw。cuのmanページ見たらcuなんて古いコマンドで今の流行はtipなのよ。cuは古い人間のために残してるだけよ。tipを使え。と書いてあるので/etc/resolveのリストを追加してこれをsystem-nameとして利用するのがtip。

cuで通信する

#cu -l /dev/cuaU0 -s 9600

終了は”~.””~D”


tipで通信するためsystem-nameを追加する

#vi /etc/remort
・・・・・・・・・・・・・・
# Hardwired line
cuad0c|cua0c:dv=/dev/cuad0:br#9600:pa=none:
##add
cuaU0|cuaU0:dv=/dev/cuaU0:br#9600:pa=none:←追加
・・・・・・・・・・・・・・
#tip -v -9600 cuaU0

終了は”~.””~D”もっと簡単でいい。

#tip cuaU0

tipで接続できてしまえば以前teratermで作った某機器用マクロなどがそのまま使えます。これは便利。この辺*1に詳細があるけど分かってから見ると分かりずらい。

*1:ttp://www.freebsd.org/doc/ja/books/faq/serial.html#access-serial-ports