zebian.log

技術系備忘録とか

ジャンクなバーコードスキャナを使ってみた話

そういえばハードオフでUSBバーコードスキャナを買って数ヶ月。すっかり忘れて放置してたのを思い出したので、今回はそれを使ってみようという話(ブログネタがどうしても思いつかなかった) 税込み330円!安いのか高いのかよくわからん。表面の白いやつはLED。スキャンすると光る。 次に裏面。メーカーと型番が印字されてた。調べてみるとちゃんと公式ページがあった。仕様によると、JANコードだけじゃなくて他にも色々なバーコードに対応しているっぽい(というかこんなに種類あったのか...)。 www.keyence.co.jp 早速PCにUSBを繋げてみる。ボタンを押すとおなじみの赤いランプが光った! PC側でも認識していることを確認。Bus 001 Device 011: ID 04da:1160 Panasonic (Matsushiba) USB keyboard compliant Barcode Scannerパナソニック製なんだ... シリアル通信でスキャンしたデータを送信してるんかな?とその時は勝手に想像していたので、ls -l /dev/serial/by-id/で何も出なくて悩んだ。 悩んでいてもしょうがないので、とりあえずスキャンしてみることにした。何をスキャンするかというと、机の上にあったさっき食べたじゃがりこのバーコード。 バーコードに向けてボタンを押す。するとスキャンに成功したのか、「ピッ」という音と同時に表面のLEDが光った。お前音なるんか!?光るし鳴るしこれはもうDXバーコードスキャナですよ。 開きっぱなしのターミナルを見てみると、4901330578862の文字が。じゃがりこのバーコードの下側に印字されていた数字の羅列と一致していた。なんで勝手に入力されてるの?と思ったが、答えはUSBデバイス名にあった。Bus 001 Device 011: ID 04da:1160 Panasonic (Matsushiba) USB keyboard compliant Barcode Scanner→USB keyboard compliant Barcode Scanner...つまりこのバーコードスキャナがキーボードと同じ働き、というかスキャンによって得られた数字の羅列を1文字ずつキーボードのスキャンコードに変換し、それをPCに送信しているというもの。シリアル通信でわちゃわちゃするんかなと思い込んでいたので全く気づかなかった。 メモ帳でもう一度試してみたところ、数字のあとにEnterキーのスキャンコードが送信されていることがわかった。

メーカーの公式サイトにバーコードの解説ページが載ってた。ほへーこんな仕組みだったのか。 www.keyence.co.jp

なんか振り返ってみたらバーコードスキャナをPCに繋げてスキャンしただけな記事になってしまった。