2018年03月26日

中国製据え置きQRコードスキャナの設定用バーコードを生成してみた記録

中国製据え置きQRコードスキャナのSymcode MJ7580 2D Image Desktop Scannerの設定用バーコードをPC上で生成しようとして悪戦苦闘した記録。

まず、英語版説明書に記載の数字や、日本語版説明書のDatamatrixのデータを元にバーコードを作っても、設定用の音(ピコッ)ではなく、読み取り音(ピッ)が鳴って、単に数値として読み取られてしまう。
なぜかというと、バーコードにバイナリデータが含まれているためだ。

CODE128には、アスキーコードの他にFUNC1,2,3,4という拡張コードが含まれる。
まず普通の読み取り装置ではここは無視されてしまうし、使わない。

ので、AndroidアプリでZxingを使い、生データを読み取った。
結果、次のような並びになっていることがわかった。

例えば改行コード(CR+LF)を付けるバーコードの場合
[FUNC3]090300[.]

で、これがわかったなら次にCODE128を生成するのだが、FUNCを付け加えられるサイトがほぼ無い。

最終的にCODE128の生成にはPythonのcode128 0.3ライブラリに付属しているcode128.exeを利用した。
https://pypi.python.org/pypi/code128/0.3

ソースコードを読んだところ~がFUNCに相当するらしく、以下のコマンドで上記のバーコードが生成できた。
code128 ~3090300. output.svg

なお、Datamatrixの中身と、CODE128の中身は同じ為、どちらかに統一して良い。
おわり。

キーエンスのCODE128解説
https://www.keyence.co.jp/ss/products/autoid/codereader/basic_code128.jsp

以下に私好みの設定バーコードを示す。(クリックで拡大)
setup.png

なお、
通常・高速切替モードは、上のボタンで青色のとき1D・2D読み取り、緑色のとき1D専用モードになる。
抑止・通常切替モードは、上のボタンが青色のときスリープ状態になり、緑色のとき1D・2Dを読み取る。
デフォルトだと使わないときにライトがついたり消えたりするが、後者に設定するとオフにできて便利。

以下によく使いそうなバーコードを列挙しておく。(クリックで拡大)
list.png
posted by gpsnmeajp at 03:45| Comment(4) | TrackBack(0) | トラブル解決

2018年03月25日

中国製据え置きQRコードスキャナを買った。

amazonでレビューを書いたが、せっかくなのでブログにも乗せる。
動画を見てほしい。9千円とは思えないすごい性能だ。

商品ページはこちら(アフェリエイトなし)
製造元サイト: Symcode MJ7580 2D Image Desktop Scanner




今まで据え置き型のQRコードスキャナーというと、日本製で十万円近くする高価なものしかなく、個人で扱うには手出しをしにくかったが、
昨今の中国のQRコード支払い文化の影響か、中国製のQRコードスキャナが安価に出回ってきている。本商品も同様で、購入時には9千円程度で入手できた。

さて、性能はと言うと動画に示す通りだが、「日本の空港などでのQRコードの読み取りにくさ」を体験してきた人にとっては驚きなほど読み取り速度も精度も良い。動画の通り、大きめのQRコード+携帯端末ならば(輝度はある程度上げておく必要があるが)かなり距離が離れていても読み取る。かざす必要すらない。複雑なQRコードの場合は、かざすほど近くに置かなければならないが、それでもすんなり読み取りが行われる。

それでは性能以外の点について。
まず、このバーコードスキャナ、ところどころ(説明書にも)ワイヤレスと表記があるが、ワイヤレスではない(USB2.0である)。大きさもそこそこ大きいのでハンドヘルドでもない。これは仕様を読んでおけばわかると思うので問題ではないだろう。

通信方式は、USBキーボードモードと、USBシリアルモードがあり、説明書に記載のバーコードで切り替える。音の有無や大きさもバーコードで切り替える。(注意: 音のオンオフは設定用バーコードの読み取り時は反映されないが、実際のコードを読み取ると反映されている)

読み取り用ライトは近くに物や手をかざすと自動で点灯し、動きがないと自動で消灯するようになっている。

また、本体上面のボタンにより、通常読み取りモード(青色)と、読み取りづらい場合用の高速(高精度?)読み取りモード(緑色が切り替わる。
この2つのモードでは照明ライトの点灯パターンが変わるほか、読み取るバーコードの種別も変化するようである。
通常読み取りモードでは、物が近づくとライトが点灯するが、スマートフォン画面などの輝度の高いものが近づくと消灯して読み取ろうとする。
一方、高速(高精度?)読み取りモードでは、読み取り中ライトは点灯しっぱなしになり、また1次元バーコードのみを読み取るようになっているようである。読み取りにくい印刷物向けと説明書には記載されている。

日本語の説明書は機械翻訳らしい怪しい日本語だが、技術的な説明書を読み慣れていれば特に問題なく読み解ける。同梱されている薄っぺらい英語併記の説明書はむしろ役に立たないので注意(追記:ただし英語版の方にしか乗っていない操作説明や設定用バーコードもある)。

初期設定は、USBキーボードモード、音量大・英語キーボード・自動改行なしなので、少なくとも最初は説明書のコードを読み取って日本語キーボード設定にしないと記号等がおかしくなるので注意(数字だけならおそらく関係ない)
読み取り感度が良すぎる上に、説明書は1ページに何個もバーコードが乗っているため、設定の際は別途コピーをとるか、手でうまく隠して読み取らせる必要があることに注意。

なお、USBキーボードモードでは日本語QRコードには非対応であるので注意。(英字の羅列になってしまう)
USBシリアルモードでは、SJIS、UTF-8共に問題なくデコードできた。(115200bps、8bit、1bit、ノンパリティで動作。通信モードが異なると読み取り動作を行わないので注意。)

また、RS232Cモードも存在するが、付属のケーブルはUSBのみなので注意。(RS232Cの信号がRJ-45端子に出てるのかもしれない)

設定用バーコードはこちら
http://gpsnmeajp.sblo.jp/article/182801384.html
posted by gpsnmeajp at 17:08| Comment(6) | TrackBack(0) | 日記