RFIDリーダ制御モジュール APIリファレンス

 

 

Biz/Browser HTと外部サービスを連携する機能「ExternalService」クラスを用いて使用することができるメソッドの一覧です。
本項では、RFIDリーダ制御モジュール(Unitech版)で使用可能な機能を説明します。
サービスの使い方については、Biz/Browser HTのExternalServiceクラスのリファレンスも参照してください。

 

対応機種とモジュール

メーカ

対応機種

サービスID値

略称と対応モジュール

Unitech

EA530

com.accenture.biz.util.rfid.unitech/.MainService

Unitech、Unitech版

※掲載されている会社名や製品名は、一般に各社の商標または登録商標です。

 

本APIリファレンスのバージョン

モジュール

バージョン

Biz/Browserの対応バージョン

Unitech版

v1.0.0

v1.4.8以上

 

 

【注意事項】

EA530について、アプリ「DuraSpeed(※)」が有効になっている場合、以下の動作不具合を起こすことが判明しています。

※DuraSpeedとは、バックグラウンドアプリを制限することで、フォアグラウンドアプリを高速化するアプリケーションです。

 

・下記条件時にRFIDリーダ制御モジュールのサービスプロセスがDuraSpeedによって強制終了される。

 RFIDリーダ制御モジュールがBindされていない状態で端末をスリープ状態にし、5分以上経過した場合。

 

・下記条件時にBiz/Browser HTからRFIDリーダ制御モジュールへのBindが失敗する。

 - 手動でアプリ情報の「強制停止」によってRFIDリーダ制御モジュールのプロセスを強制終了した場合

 - RFIDリーダ制御モジュールのプロセスが強制終了した場合(DuraSpeedにより強制終了された場合も含む)

 - RFIDリーダ制御モジュールを上書きインストールした場合

 

RFIDリーダ制御モジュールを使用する際は、以下の手順でDuraSpeedをOFFに設定してください。

(1)OS設定>DuraSpeedを開く

(2)OFFに切り替える(以降、ONに切り替えない限りは恒常的に維持されます)

 

目次

 

メソッド名 概要
connect RFIDリーダと接続します。
disconnect RFIDリーダとの接続を切断します。
inventoryTag インベントリ(スキャンを開始してRFタグのEPCを収集)を行います。
stopAccessTag スキャンを停止します。
startReadTag タグの読み取りを行います。インベントリと異なり、タグの任意の領域にアクセスしてデータを受け取ります。
setTagAccessOnce 同一のタグ(UII)を一度だけ読み取るようにするかどうかを設定します。
isTagAccessOnce 同一のタグ(UII)を一度だけ読み取るようにするかどうかの設定を取得します。
clearAccessTagList スキャンしたタグの内部のリストをクリアします。同一タグの読み取りの判定に用います。
setMask タグの読み取りマスクを設定します。
clearMask タグの読み取りマスクを消去します。
setTagDecode 読み取ったタグをReadTagイベントで通知する際に、タグのデータをデコードするかどうかを設定します。
setRadioPower 出力電波の強度を設定します。高いほどタグが応答しやすくなり、読み取りが成功しやすくなります。
getRadioPower 出力電波の強度を取得します。
getMaxRadioPower 出力電波強度の上限値を取得します。
setQValue Q値を設定します。高いほどタグの読み取り衝突を抑えやすくなります。
getQValue Q値を取得します。
setBuzzerVolume 読み取り時などのブザー音の音量を設定します。
getBuzzerVolume 読み取り時などのブザー音の音量を取得します。
setSessionFlag タグへのアクセス時のセッションフラグを設定します。
getSessionFlag タグへのアクセス時のセッションフラグを取得します。
writeSingleTag UIIを指定して1枚のタグの任意の領域に書き込みを行います。
lockSingleTag UIIを指定して1枚のタグの任意の領域をロックまたはアンロックします。
getVersion 本モジュールのバージョンを取得します。
getBatteryLevel バッテリー残量を取得します。
startScanBarcode バーコードスキャンを開始します。
stopScanBarcode バーコード読み取りを停止します。
setBarcodeEnabled 指定したバーコードを読み取り対象にするかどうかを指定します。
ReadTagイベント inventoryTagメソッドやstartReadTagメソッドでタグを読み取ったときに発生します。
DeviceStateChangedイベント connectメソッドやdisconnectメソッド、RFIDリーダの操作により、RFIDリーダの状態が変化したときに発生します。
ReadBarcodeイベント startScanBarcodeメソッドでバーコードを読み取ったときに発生します。

 

connectメソッド

説明

RFIDリーダと接続します。

 

呼出形式

externalService1.invoke("connect");

 

戻り値

なし

 

引数

なし

 

 

disconnectメソッド

説明

RFIDリーダとの接続を切断します。

 

呼出形式

externalService1.invoke("disconnect");

 

戻り値

なし

 

引数

なし

 

 

inventoryTagメソッド

説明

インベントリ(スキャンを開始してRFタグのEPCを収集)を行います。
読み取ったタグはReadTagイベントで受け取れます。
既に他のタグアクセスが行われている場合は、それらを停止してからこのメソッドを実行します。

 

呼出形式

externalService1.invoke("inventoryTag");

 

戻り値

なし

 

引数

なし

 

 

stopAccessTagメソッド

説明

スキャンを停止します。

 

呼出形式

externalService1.invoke("stopAccessTag");

 

戻り値

なし

 

引数

なし

 

 

startReadTagメソッド

説明

タグの読み取りを行います。インベントリと異なり、タグの任意の領域にアクセスしてデータを受け取ります。
読み取ったタグはReadTagイベントで受け取れます。
既に他のタグアクセスが行われている場合は、それらを停止してからこのメソッドを実行します。

 

アクセスパスワードは常に"00000000"が使用されます。

呼出形式

externalService1.invoke("startReadTag", memoryType, wordOffset, wordCount);

 

戻り値

なし

 

引数

integer memoryType

 

読み取るメモリ領域

値

説明

0

RESERVED領域

1

EPC領域

2

TID領域

3

USER領域

 

integer wordOffset

 

アクセス対象のオフセット位置(ワード単位) ※1ワードは2バイト。0以上の値を指定してください。

 

integer wordCount

 

オフセット位置から読み取るデータの長さ(ワード単位)。0以上の値を指定してください。

 

 

setTagAccessOnceメソッド

説明

同一のタグ(UII)を一度だけ読み取るようにするかどうかを設定します。

 

呼出形式

externalService1.invoke("setTagAccessOnce", once);

 

戻り値

なし

 

引数

boolean once

 

一度だけ読み取りようにするかどうかを設定します。
trueなら1度だけ読み取り、falseなら何度でも読み取ります。デフォルトはfalseです。

 

 

isTagAccessOnceメソッド

説明

同一のタグ(UII)を一度だけ読み取るようにするかどうかの設定を取得します。

 

呼出形式

var res = externalService1.invoke("isTagAccessOnce");

 

戻り値

一度だけ読み取るようにするかどうかの設定を返します。
trueなら1度だけ読み取り、falseなら何度でも読み取ります。

 

引数

なし

 

 

clearAccessTagListメソッド

説明

スキャンしたタグの内部のリストをクリアします。同一タグの読み取りの判定に用います。

 

呼出形式

externalService1.invoke("clearAccessTagList");

 

戻り値

なし

 

引数

なし

 

 

setMaskメソッド

説明

タグの読み取りマスクを設定します。
マスクを設定すると、設定したマスクパターンに一致するタグのみ読み取るようになります。

設定したマスクは、writeSingleTag、lockSingleTagの各メソッドを実行した後も維持されます。
マスクを解除するにはclearMaskメソッドを呼び出してください。
なお、disconnectメソッドによりリーダとの接続を切断した場合、マスクの設定は消去されます。

 

呼出形式

externalService1.invoke("setMask", memoryType, maskOffset, maskBits, maskPattern);

 

戻り値

なし

 

引数

integer memoryType

 

マスクの対象とするメモリ領域

値

説明

1

EPC領域

2

TID領域

3

USER領域

 

integer maskOffset

 

メモリ領域内の、マスク対象とするオフセット位置(ビット単位)。0以上の値を指定してください。
EPC領域を対象とする場合、32以上の値を指定してください。

 

integer maskBits

 

マスク対象とするデータの長さ(ビット単位)。0以上の値を指定してください。

maskBitsはmaskPatternの長さ(文字数)× 4と完全に一致している必要があります。

 

String maskPattern

 

マスクパターン。16進数文字列で指定。

 

 

clearMaskメソッド

説明

タグの読み取りマスクを消去します。

 

呼出形式

externalService1.invoke("clearMask");

 

戻り値

なし

 

引数

なし

 

 

setTagDecodeメソッド

説明

読み取ったタグをReadTagイベントで通知する際に、タグのデータをデコードするかどうかを設定します。

 

呼出形式

externalService1.invoke("setTagDecode", mode);

 

戻り値

なし

 

引数

integer mode

 

デコード内容を、以下のビットの組み合わせ(ビットOR)で指定します。0以上の値を指定してください。

値(ビット)

説明

0x01

EPCヘッダーを参照してデコードします(現在はSGTIN-96のみ対応)。
該当する場合、ReadTagイベントにdetailオブジェクトが付加されます。

0x02

EPC/UII全体をASCII文字に変換します(変換できないバイトは'X'に置換)。
該当する場合、ReadTagイベントにdecodedataが付加されます。

 

 

setRadioPowerメソッド

説明

出力電波の強度を設定します。高いほどタグが応答しやすくなり、読み取りが成功しやすくなります。

 

呼出形式

externalService1.invoke("setRadioPower", power);

 

戻り値

なし

 

引数

integer power

 

出力電波強度 [dBm] 11~getMaxRadioPowerメソッドで取得できる上限値
※日本の電波法に基づいて適切な値を使用するようご注意ください。

 

 

getRadioPowerメソッド

説明

出力電波の強度を取得します。

 

呼出形式

var res = externalService1.invoke("getRadioPower");

 

戻り値

出力電波強度 [dBm]

 

引数

なし

 

 

getMaxRadioPowerメソッド

説明

出力電波強度の上限値を取得します。

 

呼出形式

var res = externalService1.invoke("getMaxRadioPower");

 

戻り値

出力電波強度の上限値 [dBm]

 

引数

なし

 

 

setQValueメソッド

説明

Q値を設定します。高いほどタグの読み取り衝突を抑えやすくなります。

 

呼出形式

externalService1.invoke("setQValue", val);

 

戻り値

なし

 

引数

integer val

 

Q値。0~15の範囲で設定します。

 

 

getQValueメソッド

説明

Q値を取得します。

 

呼出形式

var res = externalService1.invoke("getQValue");

 

戻り値

Q値

 

引数

なし

 

 

setBuzzerVolumeメソッド

説明

読み取り時などのブザー音の音量を設定します。

※getBuzzerVolumeメソッドで取得したとき、設定値と異なる値が戻る場合があります。

 

呼出形式

externalService1.invoke("setBuzzerVolume", val);

 

戻り値

なし

 

引数

integer val

 

ブザー音量 [%] 0~100の範囲で設定します。

 

 

getBuzzerVolumeメソッド

説明

読み取り時などのブザー音の音量を取得します。

 

呼出形式

var res = externalService1.invoke("getBuzzerVolume");

 

戻り値

ブザー音量 [%]
※setBuzzerVolumeメソッドの設定値と異なる値が戻る場合があります。

 

引数

なし

 

 

setSessionFlagメソッド

説明

タグへのアクセス時のセッションフラグを設定します。

 

呼出形式

externalService1.invoke("setSessionFlag", session);

 

戻り値

なし

 

引数

integer session

 

セッションフラグを、以下の値のいずれかで指定します。

値

説明

0

S0を指定。一度アクセスしたタグにすぐに再アクセス可能。

1

S1を指定。一度アクセスしたタグに一定時間後に再アクセス可能。

2

S2を指定。一度アクセスしたタグは電波が届かなくなってから一定時間後に再アクセス可能。

3

S3を指定。動作はS2と同じ。

 

 

getSessionFlagメソッド

説明

タグへのアクセス時のセッションフラグを取得します。

 

呼出形式

var res = externalService1.invoke("getSessionFlag");

 

戻り値

セッションフラグを返します。

値

説明

0

S0を指定。一度アクセスしたタグにすぐに再アクセス可能。

1

S1を指定。一度アクセスしたタグに一定時間後に再アクセス可能。

2

S2を指定。一度アクセスしたタグは電波が届かなくなってから一定時間後に再アクセス可能。

3

S3を指定。動作はS2と同じ。

 

引数

なし

 

 

writeSingleTagメソッド

説明

UIIを指定して1枚のタグの任意の領域に書き込みを行います。
このメソッドは同期的に実行され、実行を終えるかタイムアウトするまで処理が返りません。

setMaskメソッドでマスクが設定されている場合、本メソッドの実行後もマスクの設定は維持されます。

 

アクセスパスワードは常に"00000000"が使用されます。

呼出形式

externalService1.invoke("writeSingleTag", memoryType, wordOffset, words, uii);

 

戻り値

なし

 

引数

integer memoryType

 

書き込み先のメモリ領域

値

説明

0

RESERVED領域

1

EPC領域

2

TID領域

3

USER領域

 

integer wordOffset

 

アクセス対象のオフセット位置(ワード単位)。0以上の値を指定してください。

 

String words

 

タグに書き込むデータ。16進数文字列で指定します。ワード単位(2バイトの倍数)の長さである必要があります。

 

String uii

 

書き込むタグのUII

 

 

lockSingleTagメソッド

説明

UIIを指定して1枚のタグの任意の領域をロックまたはアンロックします。
このメソッドは同期的に実行され、実行を終えるかタイムアウトするまで処理が返りません。

setMaskメソッドでマスクが設定されている場合、本メソッドの実行後もマスクの設定は維持されます。

 

アクセスパスワードは常に"00000000"が使用されます。

呼出形式

externalService1.invoke("lockSingleTag", target, type, uii);

 

戻り値

なし

 

引数

integer target

 

操作対象。複数の値のビットORで複数領域を指定可能です。-1を指定すると全領域が対象となります。

値

説明

0x10

EPC領域

0x40

USER領域

 

integer type

 

操作内容

値

説明

0

アンロック

1

ロック

 

String uii

 

操作するタグのUII

 

 

getVersionメソッド

説明

本モジュールのバージョンを取得します。

 

呼出形式

var res = externalService1.invoke("getVersion");

 

戻り値

本モジュールのバージョン情報を示す文字列。

型

戻り値(例)

String

1.0.0_r1

 

引数

なし

 

 

getBatteryLevelメソッド

説明

バッテリー残量を取得します。
※EA530は端末一体型のため、Android端末のバッテリー情報から取得します。

 

呼出形式

var res = externalService1.invoke("getBatteryLevel");

 

戻り値

バッテリー残量 [%]

 

引数

なし

 

 

startScanBarcodeメソッド

説明

バーコードスキャンを開始します。

読み取ったバーコードはReadBarcodeイベントで受け取れます。

 

呼出形式

externalService1.invoke("startScanBarcode", sameInterval, oneshot);

 

戻り値

なし

 

引数

integer sameInterval

同一バーコードの読み取り抑制時間を100ms単位で指定します。

値

同一バーコード

異なるバーコード

0未満

例外が発生し、スキャンは開始されません。

0

無制限に読み取りを拒否します。

即座に通知されます。

1以上

値 × 100ms 以内の再読み取りを拒否します。経過後は通知されます。

即座に通知されます。

 

boolean oneshot

一度バーコードを読み取ったら自動的にスキャンを終了するかどうか。

 

 

stopScanBarcodeメソッド

説明

バーコード読み取りを停止します。

 

呼出形式

externalService1.invoke("stopScanBarcode");

 

戻り値

なし

 

引数

なし

 

 

setBarcodeEnabledメソッド

説明

指定したバーコードを読み取り対象にするかどうかを指定します。

 

呼出形式

externalService1.invoke("setBarcodeEnabled", type, enabled);

 

戻り値

なし

 

引数

integer type

バーコードの種類を指定します。

値

バーコードの種類

1

EAN-13 (JAN-13)

2

EAN-8 (JAN-8)

3

UPC-E

4

UPC-A

5

AZTEC

6

郵便カスタマーバーコード

9

ITF

10

ISBT 128

11

CODE-128

12

CODE-93

13

CODE-39、CODE-32

14

CODABAR (NW-7)

16

MSI/Plessey

17

QR(Micro QRを含む)

18

GS1 DataBar(Limited/Expandedを含む)

21

GS1 Composite(CC-A/B/C)

22

HANXIN

23

GS1-128

24

MaxiCode

25

PDF417

26

Data Matrix

27

MICRO PDF417

 

boolean enabled

trueなら読み取り対象にする、falseなら対象から外す。

 

 

ReadTagイベント

説明

inventoryTagメソッドやstartReadTagメソッドでタグを読み取ったときに発生します。

 

Eventオブジェクトには以下の子オブジェクトが付加されています。

型

名前

説明

String

epc

タグのUII(大文字16進数文字列)

Number

rssi

タグアクセス時のRSSI値 [dBm]

String

data

startReadTagメソッドによって読み取った場合、読み取ったタグの領域のデータ(16進数文字列)。inventoryTagメソッドの場合は付与されません。

String

decodedata

EPC/UIIをASCII変換した文字列(setTagDecodeメソッドで0x02ビットを指定した場合)

Object

detail

デコードしたデータの連想配列(setTagDecodeメソッドで0x01ビットを指定した場合)

※SGTIN96の場合は、["header"]=>EPCヘッダ部分, ["indicator"]=>インジケータ(GTIN-14), ["jan"]=>JANコード, ["serial"]=>シリアルNo

 

 

DeviceStateChangedイベント

説明

connectメソッドやdisconnectメソッド、RFIDリーダの操作により、RFIDリーダの状態が変化したときに発生します。

 

Eventオブジェクトには以下の子オブジェクトが付加されています。

型

名前

説明

String

state

接続状態
Finding … 接続待機状態
Connected … 接続状態
Disconnected … 切断状態

 

 

ReadBarcodeイベント

説明

startScanBarcodeメソッドでバーコードを読み取ったときに発生します。

 

Eventオブジェクトには以下の子オブジェクトが付加されています。

型

名前

説明

integer

type

バーコードの種類

値

バーコードの種類

1

EAN-13 (JAN-13)

2

EAN-8 (JAN-8)

3

UPC-E

4

UPC-A

5

AZTEC

6

郵便カスタマーバーコード

9

ITF

10

ISBT 128

11

CODE-128

12

CODE-93

13

CODE-39

14

CODABAR (NW-7)

15

CODE-32

16

MSI/Plessey

17

QR(Micro QRを含む)

18

GS1 DataBar(Limited/Expandedを含む)

21

GS1 Composite(CC-A/B/C)

22

HANXIN

23

GS1-128

24

MaxiCode

25

PDF417

26

Data Matrix

27

MICRO PDF417

String

data

バーコードのデータの文字列表現

String

rawdata

バーコードのデータの生データ(バイト列)をBase64エンコードした文字列