私のLinuxシステムには、/ dev/hidraw1デバイスとしてQR/Barcodeスキャナが接続されています。 私はls -la /dev/hidraw*
をすれば、私はcat /dev/hidraw1
コマンドを使用して、このデバイスから読み取るしようとするたびに、私は私はそれがフォーマットされた方法で起動しますしないも、エンコードされたデータと一緒にジャンクデータの多くを得るLinuxシステムに接続された/ dev/hidraw1デバイスから読み取る
crw------- 1 root root 248, 0 May 5 10:18 /dev/hidraw0
crw------- 1 root root 248, 1 May 5 11:05 /dev/hidraw1
を取得します。ここではそのまた任意の違いを作っていなかったボー・レートの変更、連続読み込み可能な文字列には来ていないのはなぜQRコード
68<,?
.4xml ve7'rsion4="1
..0"4 encod-%in4876g=
"UTF-8"?><PrintLetterB,
.arcod4e&D!'ata"&% ' uid=$"12345,.678",name=
"Rohit 4Ka,
poo.44r,."4 gend&& er=4"M,."4 yob=8"319,93" co
="S
,/O:
Mukesh 4,
の1の出力があります。 Here is the screenshot attached
バイナリデータは必要ありません。私はそれを読みやすい文字列にしたい。私が直面している問題は、私がデバイスを抜くときはいつでも、私は正しい読み込み可能な文字列で結果を得るが、私が連続的にスキャンすると、上のフォーマットでそれを得る。 – user7345878
@ user7345878:あなたがデバイスを起動するときに何かを得るのは本当に疑問です... – rodrigo
@ user7345878:これは、スキャナがモード "Emulate Keyboard"で設定されているためです。 'hidraw'を読むと標準キーボードが得られます キーが入力されたかのようにHIDが報告します。カーネルはそれをキーボードとしても見て、入力されたテキストをコンソールに送るが、コンソールは 'cat'で忙しいので、データが画面にエコーされ、バイナリデータが混乱している間にバッファリングされるスタンダードで。そして 'cat'が最終的に殺されると、すべてのstdinバッファがプレーンテキストとしてダンプされます。説明をありがとうございます。 – rodrigo