質問: usbバスパワーの感知について 今、バーコードリーダー(usb接続)を1つのpcに複数台接続し、複数のバーコードリーダーから読み込みができないかを検討しています。 この場合、同時にバーコードリーダーからの入力があった際に、読み取りの文字列が混ざってしまうことが解りました。usb接続のバーコードリーダーに関しては、同時に読み込みを行った場合これを制御するのは難しいようです(できれば最高なのですが...)。 そこで、下記のようなことができないかを検討しています。 u2h-sw4という、ポートごとに電源の供給を制御できるusbハブがあり、 節電usb・hub(u2h-sw4)の制御ソフト(http://www.iteclub.net/2011/08/12/u2h-sw4x_control_software/)という、cuiでu2h-sw4を制御できるソフトを見つけました。 ここで、例えばu2h-sw4に4つのバーコードリーダーを接続し、その中の1つに電源が供給(使用された)場合、他の3つのポートをoffにして、その1つの電源供給が停止した際に(使用が終了)すべてのポートをonにできないかと考えました。その場合、1つがスキャンしている時は、他の3つは切断され、その間スキャンはできませんが、データが混じることはないと考えています。 ただ、その際スピーディーな切り替えが求められるます。 このようなことは可能でしょうか? cui関係はそれほど馴染みはありません。 ご教授いただければと思います。
回答: 直接の回答ではありませんが。 usb 接続タイプの、バーコードリーダーには、「キーボードエミュレーション(hid タイプ)」と、「仮想comタイプ」のものがあります。(切り替えが可能なものもあります) キーボードエミュレーションのものは、キーボードを複数台つないだのと同じ動きをしますので、信号の分離は難しいですが、仮想comタイプのものは、個別に制御できますので、データが混ざるようなことはないです。 (ただし、データの読み取り部分のソフトが必要です。難易度としては高くありません) たとえば、 http://www.j-itecs.co.jp/xenon1900.html のusbタイプは切り替えできそうです。 そういうタイプの物を使用するというのも考え方のひとつだと思います。 あと、バーコードリーダーが、バーコードを読み取って信号を返すには、正しくusb接続されている必要があります(もちろん給電も) なので、「使用されたら給電される」訳ではありませんから、usbの電源制御をするのであれば、「順次ポートをonにする」という方法しかないと思います。