ようこそNICのホームページへ(なが〜い試運転中 from 2001/5/12)
HP パソコン 健康 落語 海外 思うまま 電子工作


USBシリアル変換ケーブルを使って温湿度データロガーを試す(Freebsd6.1)

Last update:2010/12/01    Build:2010/12/01

 新しく作った温湿度データロガーを秋月電子のUSBシリアル変換ケーブルを使ってfreebsd6.1で利用可能か確認する。  

秋月電子のUSBシリアル変換ケーブルです
ICはPL2303を使用している模様
延長ケーブル付きで1200円でした
 ページ上部に移動します

1.パソコンに端末ソフトkermitを導入

仮想シリアルポートにアクセスするため、ターミナルソフトkermitを導入する

# find / -name kermit
/usr/ports/comms/kermit
cd /usr/ports/comms/kermit

# ls
Makefile        distinfo        files           pkg-descr


# ./configure ./configure: Command not found. ports内にファイルがないので直接インストールする # make install clean ===> Vulnerability check disabled, database not found => cku211.tar.gz doesn't seem to exist in /usr/ports/distfiles/. => Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/. cku211.tar.gz 100% of 2811 kB 636 kBps ===> Extracting for kermit-8.0.211 => MD5 Checksum OK for cku211.tar.gz. => SHA256 Checksum OK for cku211.tar.gz.   (途中 略) For more information, and contact details about the security status of this software, see the following webpage: http://www.columbia.edu/kermit/ ===> Cleaning for kermit-8.0.211
# ls Makefile distinfo files pkg-descr
# kermit kermit: Command not found.
 ページ上部に移動します

2.kermitが立ち上がらない??

flora# time find / -name kermit
/usr/local/bin/kermit
/usr/local/share/doc/kermit
/usr/local/share/examples/kermit
/usr/ports/comms/kermit
/usr/compat/linux/usr/share/terminfo/k/kermit
1.256u 4.029s 0:09.70 54.3%     42+1095k 914+0io 0pf+0w
kermitがインストールされているが立ち上がらない。
flora# kermit
kermit: Command not found.
flora# exit 
dialerグループにユーザー(USER)を追加
/etc/group
にユーザーを追加した

ユーザー(USER)にkermitのファイルを追加
.mykermrc  このファイルを追加
 ページ上部に移動します

3.  〜USER/.mykermrcのデバイスを変更

変更前の~USER/.mykermrcです
# cat .mykermrc
; .mykermrc の記述 シリアル利用
;set escape ^@           ; デフォルトの^\はかな漢(kinput2)に
                        ; とられてしまう(ktermの場合)
set modem type none     ; There is no modem   
set line /dev/cuad0     ; Specify device name             ここを/dev/cuaU0に変更
set carrier-watch off   ; If DTR CD are not cross-connected
set speed 9600          ; Or other desired speed
;set flow rts/cts       ; If RTS and CTS are cross-connected
set parity even         ; (or "mark" or "space", if necessary)
;set stop-bits 2        ; (rarely necessary)
;set flow xon/xoff      ; If you can't use RTS/CTS
eightbit                ; 8bitスルーにする。漢字の表示のため。
;connect                 ; Enter Connect (terminal) state
変更後の~USER/.mykermrcです
# cat .mykermrc
; .mykermrc の記述 シリアル利用
;set escape ^@           ; デフォルトの^\はかな漢(kinput2)に
                        ; とられてしまう(ktermの場合)
set modem type none     ; There is no modem
set line /dev/cuaU0     ; Specify device name
set carrier-watch off   ; If DTR CD are not cross-connected
set speed 9600          ; Or other desired speed
;set flow rts/cts       ; If RTS and CTS are cross-connected
set parity even         ; (or "mark" or "space", if necessary)
;set stop-bits 2        ; (rarely necessary)
;set flow xon/xoff      ; If you can't use RTS/CTS
eightbit                ; 8bitスルーにする。漢字の表示のため。
;connect                 ; Enter Connect (terminal) state
 ページ上部に移動します

4.USBシリアル変換ケーブルを繋ぐと(温湿度データーロガーを繋いで電源オン状態で)

# tail -f /var/log/messages
Nov 30 20:53:51 flora kernel: acd0: CDROM <SR244W/T02D> at ata1-master UDMA33
Nov 30 20:53:51 flora kernel: Trying to mount root from ufs:/dev/ad0s1a
Nov 30 20:53:51 flora savecore: no dumps found
Nov 30 20:53:52 flora kernel: re0: link state changed to UP
Nov 30 20:53:52 flora ntpd[623]: ntpd 4.2.4p5-a Thu Jan  1 09:59:32 UTC 2009 (1)
Nov 30 20:56:22 flora su: USER to root on /dev/ttyp0
Nov 30 20:57:14 flora ntpd[624]: time reset +4.797952 s
Nov 30 20:57:14 flora ntpd[624]: kernel time sync status change 2001
Nov 30 20:57:22 flora kernel: ucom0: <Prolific Technology Inc. USB-Serial Controller, class 0/0, rev 1.10/3.00,
                addr 2> on uhub2 挿した時
Nov 30 21:54:52 flora su: USER to root on /dev/ttyp0
Nov 30 21:55:09 flora kernel: ucom0: at uhub2 port 2 (addr 2) disconnected 抜いた時
Nov 30 21:55:09 flora kernel: ucom0: detached
となる。これはUSBシリアル変換ケーブルのみを繋いだ時と同じ状態。
デバイスは /dev/cuaU0 となる


# ls -l /dev |grep cua
crw-rw----  1 uucp  dialer      0,  99 Nov 30 20:53 cuaU0     *** 以下の3行 ***
crw-rw----  1 uucp  dialer      0, 100 Nov 30 20:53 cuaU0.init
crw-rw----  1 uucp  dialer      0, 101 Nov 30 20:53 cuaU0.lock
crw-rw----  1 uucp  dialer      0,  45 Nov 30 20:53 cuad0
crw-rw----  1 uucp  dialer      0,  46 Nov 30 20:53 cuad0.init
crw-rw----  1 uucp  dialer      0,  47 Nov 30 20:53 cuad0.lock
 ページ上部に移動します

5.USBシリアル変換ケーブルのみを繋ぐ

参考にUSBシリアル変換ケーブルのみを繋いだ場合の載せます
# tail -f /var/log/messages
Dec  2 20:21:15 flora kernel: Timecounters tick every 1.000 msec
Dec  2 20:21:15 flora kernel: ad0: 38146MB <Maxtor 2F040L0 VAM51MJ0> at ata0-master UDMA100
Dec  2 20:21:15 flora kernel: acd0: CDROM <SR244W/T02D> at ata1-master UDMA33
Dec  2 20:21:15 flora kernel: Trying to mount root from ufs:/dev/ad0s1a
Dec  2 20:21:15 flora savecore: no dumps found
Dec  2 20:21:16 flora kernel: re0: link state changed to UP
Dec  2 20:21:16 flora ntpd[623]: ntpd 4.2.4p5-a Thu Jan  1 09:59:32 UTC 2009 (1)
Dec  2 20:24:33 flora ntpd[624]: time reset +3.182082s
Dec  2 20:24:33 flora ntpd[624]: kernel time sync status change 2001
Dec  2 20:24:55 flora su: USER to root on /dev/ttyp0
Dec  2 20:26:33 flora kernel: ucom0: <Prolific Technology Inc. USB-Serial Controller, class 0/0,
                rev 1.10/3.00,addr 2> on uhub2

# ls -l /dev |grep cua
crw-rw----  1 uucp  dialer      0,  99 Dec  2 20:21 cuaU0     *** 以下の3行 ***
crw-rw----  1 uucp  dialer      0, 100 Dec  2 20:21 cuaU0.init
crw-rw----  1 uucp  dialer      0, 101 Dec  2 20:21 cuaU0.lock
crw-rw----  1 uucp  dialer      0,  45 Dec  2 20:21 cuad0
crw-rw----  1 uucp  dialer      0,  46 Dec  2 20:21 cuad0.init
crw-rw----  1 uucp  dialer      0,  47 Dec  2 20:21 cuad0.lock
# usbdevs -v
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
 port 1 powered
 port 2 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
 port 1 powered
 port 2 powered
Controller /dev/usb2:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
 port 1 powered
 port 2 addr 2: full speed, power 500 mA, config 1, USB-Serial Controller(0x2303),
                 Prolific Technology Inc.(0x067b), rev 3.00
Controller /dev/usb3:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
 port 1 powered
 port 2 powered
Controller /dev/usb4:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), Intel(0x0000), rev 1.00
 port 1 powered
 port 2 powered
 port 3 powered
 port 4 powered
 port 5 powered
 port 6 powered
 port 7 powered
 port 8 powered
 ページ上部に移動します

6.うまく行った

kermitを使って0,2または3を入力すると、湿度または温度のデジタル変換値を返してくる
# kermit
C-Kermit 8.0.211, 10 Apr 2004, for FreeBSD 4.0
 Copyright (C) 1985, 2004,
  Trustees of Columbia University in the City of New York.
Type ? or HELP for help.
(/usr/home/nic/) C-Kermit>connect          コネクトする
Connecting to /dev/cuaU0, speed 9600         繋がった
 Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------
   462                   0,2,3のどれかを入れると値が帰ってくる
(Back at flora.ddo.jp)                      入力した値はオーバーライトされて消えています
----------------------------------------------------
(/usr/home/nic/) C-Kermit>ex        kermitから抜ける
Closing /dev/cuaU0...OK
$ su
うまく行った。
これでUSBシリアル変換ケーブルがFreebsd6.1で使えることが確認できた。

 ページ上部に移動します

電子工作へ     HomePage