コメント
サイト運営のための寄付
作成者: 白鷹2
ページ番号: 1228093883_1232342947
作成日: 2009-01-19
修正日: 2009-01-20
Flic バーコードリーダー
Bluetoothバーコードリーダー
HS2142-95 (Microvision Flic)
販売
IBS Japan

ポイント
Bluetoothアダプタに付属するスタックは使わず、WindowsXpの標準のスタックを使うと良いです。

Windows2000で使用しようとしましたが、付属のソフトは、動きませんでした。インターネットの情報によると、必要なDLLがインストーラに不足しているのが原因のようです。
付属のソフトは、バーコードで読み込んだデータを、キーボードから打ち込んだかのようにみせかけるためのソフトのようです。私には、不要な機能であるため、インストールしませんでした。

バーコードリーダーは、仮想Rs232cポートに接続されます。
読み込んだデータは、デフォルトでは、
[STX] [DATA] [CR][LF]
となります。この設定は、取扱説明書をダウンロードして、取扱説明書にあるバーコードを読み込ませることで、ある程度、変更できます。
また、DATAの最後には、4文字分のデータ判別のためのデータが付加されます。
このデータは、バーコードリーダーからアプリケーションへ無事にデータが送られたかを確認するために利用されます。

バーコードリーダーは、このデータが送られてくるまで、同じデータを再送し続けます。(何度、繰り返すかは不明です)
アプリケーション側で、この4文字とACK(アスキー0x06)をバーコードリーダーに送ることにより、バーコードリーダー側は、アプリケーションが無事にデータを受信できたことを認識でき、データの再送を止めます。

つまり、アプリケーション側では、バーコードリーダーからの受信データから、最後の4文字を抽出し、ACKを加えて、バーコードリーダーに送り返す処理が必要です。この処理により、バーコードリーダーの読み込み処理の一連の処理が完了します。

Bluetooth Stack
接続自体は、スタックの種類(開発メーカー)には依存しないと思います。

東芝のスタックをWindows2000で使った場合、バーコードリーダーからの自動的な接続が行われませんでした。接続が切れた場合、Bluetoothの設定画面を表示し、接続処理を行ってから、データの送信処理を行うという不便を強いられます。

SPP(シリアル通信)は、COM6、COM7、COM40に割り当てられますが、この区別は、不明です。バーコードリーダーで利用するのは、COM40です。COM40は、VB6の付属のコントロールではサポートされないため、VB6で制御ソフトを作る場合は、別途、サードバーティのRs232cコントロールを使うことになります。
例 シンプル通信 など。
東芝のスタックも、マイクロソフトのスタックも、アプリケーションが、仮想ポートを開くと、自動的に、バーコードリーダーと接続されます。しかし、問題は、接続が切れた後の再接続です。
パソコン側、あるいは、アプリケーション側から接続を行うことができますが、バーコードリーダー側から接続することができません。
このあたりを、検討中。
東芝
バーコードリーダーがなくても、仮想シリアルポートを開くことができるようです。接続が可能になったときに、Bluetoothの設定により接続することで、通信が確立されます。おそらく、仮想シリアルポートを開きなおしても接続できると思います。

接続が確立したときに、アプリケーションを開くことができます。
マイクロソフト
バーコードリーダーがないと、仮想シリアルポートを開くことに失敗します。このあたりが、東芝の挙動と異なります。
一定間隔で、仮想シリアルポートを開き続ければ、バーコードリーダーからのデータ送信があったときに、通信が確立されると思いますが、このような方法は、あまり、綺麗ではありません。
©2008-2009 PostTips All Rights Reserved.
新規ページの作成
タイトル:
要約
新規画像の登録
タイトル:
画像ファイルの指定
タイトルの修正
画像タイトルの修正
要約の修正
コメントの書き込み
コメント: