自宅サーバでは以前仕入れていた、USBで制御できる小型の電光掲示板 (eabadge)を動かしている。
データの書き込み方法は、解析して自作した Perl プログラムなんだけど、 最近掲示板の表示内容が変わっていないので色々試していたけど、 以前のプログラムが動かなくっていた。 サーバを再起動したときに、一時的に動くようになっていたので、 デバイス名などを疑っていたけど、ようやく原因が分かった。
Device::SerialPort (ver.1.04)になったために動かなくなったようだ。 シリアルポートの初期化の部分を変更したら動くようになった。
# シリアルデバイスを初期化 - $port = Device::SerialPort->new( $device ) ; + $port = new Device::SerialPort( $device , 0 ) ; $port->baudrate( 1200 ) ; $port->databits( 8 ) ; $port->parity( "none" ) ; $port->stopbits( 1 ) ; + # ver 1.04から必須 + $port->handshake( "none" ) ;