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