バーコードリーダーを使ってみよう
作成日: 2004/5/23  最終更新日: 2005/1/18



◆概要

バーコードは現在最も幅広く普及しているIDシステムであり,書籍やCD,情報機器など身の回りの様々なモノに標準添付されています.ここでは,Windowsパソコンから簡単に利用できるUSB接続バーコードリーダーを例として,バーコードリーダーの基本的な使い方やバーコードの規格,簡単な応用例について紹介します.

サンプルソフトウェアでは,身の回りの製品についているいろいろなバーコードをスキャンすることで,Amazon Webサービスを用いて製品の関連情報を表示・保存することが可能です.


◆更新情報
2004/5/24:
サンプルソフトウェアの細かな不具合を修正しました.

 




◆バーコードリーダーの使い方

それでは,バーコードリーダーの簡単な使い方を紹介します.今回利用するのは,秋葉原の若松通商で販売しているUSB接続のバーコードリーダーです(図1).価格は\14800でした(2004年1月時点).図2のようにバーコードリーダーのUSBケーブルをPCに接続して利用します.USB接続のバーコードリーダーは,一般的にはHIDキーボードとして認識されますので,ドライバなどは必要ありません.図3のように,リーダー裏側のスイッチを押すことでLEDが駆動され,バーコードのスキャンが行われます.リーダーからの入力は,図4のように単なるキーボード入力として処理されるので扱いやすいといえます.

図1 USB接続バーコードリーダー
若松通商にて購入)

図2 バーコードリーダーとPCの接続

図3 バーコードの読み取り
(リーダー背面のスイッチを押す)


図4 バーコードの入力
(キーボード入力として動作する)




◆バーコードリーダーを活用したソフトウェア

ここでは,バーコードリーダーの簡単な応用例として,書籍やCDなどのバーコードから,それらの詳細情報をAmazon Webサービスを用いて取得するソフトウェアを作成してみました.
このサンプルを使うと,

  1. スキャンしたバーコード種別の判別.
  2. Amazon Webサービスを用いて書籍・CDなどの詳細情報を取得.
  3. 取得した詳細情報の履歴閲覧.

などを行うことができます.また,詳細情報の履歴を保存して,手元に残すことも可能です.(データはタブ区切りのテキストファイルとして保存されます.)

図5 ソフトウェアのスクリーンショット



◆ダウンロード

◆インストール

このソフトは .NET + C# で書かれているため,事前に Microsoft .NET Framework再頒布パッケージ (23.7 MB) をインストールしておく必要があります. .Net Frameworkがインストールされていれば,実行ファイルを起動すれば動作するはずです.

また,アマゾン検索を利用するために,Amazon Webサービスのページから,事前にAmazonアソシエイトのアカウントと Developer's Tokenを取得する必要があります.





◆基本的な使い方

1. Amazon Webサービスの設定

- Amazon関連の設定で,Amazon Webサービスのページから取得した,アソシエイトIDDeveloper Tokenを入力します.

- 一度入力した設定情報は,「アマゾンIDとトークンを保存する」をチェックしておけば,ソフトウェアの終了時に保存され,次回起動時も利用できます.

2. バーコードの読取

- サンプルソフトウェアのウインドウが最前面にある状態で,バーコードリーダー側の読取ボタンを押すと,「バーコードID」「バーコードの種類」が表示されます.

※なお,キーボードのフォーカス(入力カーソル)が「アソシエイトID」「DeveloperToken」のテキストボックスにある状態では検索が行えません.その場合は何度かタブキーを押すなどしてフォーカスを変更してください.

-「バーコードID」には,読み取られたバーコードの数値が表示されます.
-「バーコードの種類」 には,読み取られたバーコードの種類が表示されます.ここでは,「ISBN」「UPC」「EAN」「Other」の四種類を判別します.詳しくは,バーコードの規格についてを参考にしてください.

3. アマゾン検索の実行

- アマゾンのアソシエイトIDとDeveloper Token が入力されており,「登録済みのID情報」にバーコードIDが登録されていない場合,バーコードの読み取り後,自動的にアマゾン検索が行われます.

- 「登録済みのID情報」に登録されている場合は再検索を行わずにローカルのハッシュから検索を行います.

※Amazon Webサービスでは,現時点ではEANコードの検索には対応していないため,EANコードを認識した場合には検索処理を行いません.

- 検索に成功した場合,上の図のように「登録済みのID情報」にバーコードIDが追加されます.また,「詳細情報」の各欄に,コンテンツの情報が表示されます.
- 検索に失敗した場合,右下のメッセージ欄にエラーメッセージの情報が表示されます.

4. 登録済みIDの閲覧

- 「登録済みのID情報」に表示されるIDを選択すると,IDごとの詳細情報を確認することができます.



 

5. ソフトウェアの終了
- ウインドウの×ボタンを押すと,いつでもソフトウェアを終了できます.検索履歴やアマゾンのID情報は,終了時に自動的に保存されます.(実行ファイルと同じディレクトリの,"items.txt"と"amazon.txt"です.)
番外: オプション設定

-「その他の設定」の「検索したデータを保存する」をチェックしておくと,ソフトウェアの終了時に「登録済みのID情報」に格納されているIDと関連情報が自動的に保存されます.

-「デバッグメッセージを表示する」をチェックしておくと,右下のメッセージ欄にデバッグ用メッセージが表示されます.(通常は非表示).




◆バーコードの規格について

バーコードには数多くの規格が存在しますが,ここでは市販製品の大半で利用されている,「ISBN」,「UPC」,「EAN(JAN)」の三つについて簡単に紹介します.より詳しい情報については,参考URLをごらんください.

ISBN

-ISBN( International Standard Book Number)は市販されているほとんどの書籍につけられているバーコードで,データ部は10桁の数字(9桁のデータ + 1桁のチェックサム)で構成されます.

-バーコードをスキャンした場合は,先頭に「978」というヘッダ情報がつけられて,13桁の文字列になります.サンプルプログラムでは,4文字目〜12文字目を9文字分を抽出し,この9文字からチェックサムを計算して,10文字目に付加しています.

-チェックサムの計算方法は,「n10= (1*n1+2*n2+3*n3+4*n4+5*n5+6*n6+7*n7+8*n8+9*n9) % 11」となります.C#プログラムのコードとしては,以下のようになります.

	string barcode = "123456789";
	int sum = 0;
	int checksum = 0;
				
	for(int i=0;i<9;i++)
	{
		sum = sum + (int.Parse(new String(barcode[i],1))) * (i+1);
	}
	checksum = sum % 11;
	
UPC

- UPC( Universal Product Code)は,主に米国製のCDやDVD,電化製品などに幅広く利用されているバーコードで,データ部は12桁の数字(1桁のヘッダ+ 10桁のデータ + 1桁のチェックサム)で構成されます.(7桁のものもあるようです.)

- バーコードの見た目としては,バーコード下部に添えられている数字の両端が小さくなっています.

EAN(JAN)

- EAN(European Article Number)ヨーロッパ製や日本製のCDやDVD,ゲームや電化製品などに幅広く利用されているバーコードです.日本製のものはJAN(Japanese Article Number)と呼ばれます.データ部は13桁の数字(2桁の国コード + 10 桁のデータ + 1桁のチェックサム)で構成されます.(8桁のものもあるようです.)




◆おわりに

ここでは,Windowsパソコンから簡単に利用できるUSB接続バーコードリーダーを例として,バーコードリーダーの基本的な使い方や,簡単な応用例について紹介しました.

サンプルソフトウェアでは,身の回りの製品についているいろいろなバーコードをスキャンすることで,Amazon Webサービスを用いて製品の関連情報を表示することが可能です.一度検索した製品情報は,タブ区切りのテキストファイル(実行ファイルのディレクトリの"items.txt")として保存され,エクセルなどの表計算ソフトで読み込むができるため,工夫次第では文献データベースのように利用することもできると思います.

最後に,バーコードは非常に幅広く普及しているため,用途によってはRFIDを使うよりも面白い実世界システムを作れる可能性もあるかと思いますので,検討してみてください.




◆参考URL


[デバイスふらり旅]