SDKの使用方法

SDKの追加

“Add Other…” を選択

ファイルブラウザを通じてSDKフレームワークファイルを選択します。

AsReaderDockSDK.frameworkとAsReaderBLESDK.frameworkを追加

これら2つのフレームワークファイルをプロジェクトに追加します。

追加完了後

フレームワークがプロジェクトのリンクライブラリリストに正しく追加されていることを確認します。

AsReaderプロトコルの追加

plistファイルの Supported external accessory protocols オプションに以下のプロトコルを追加します。

  • ASX - 510R,520R: jp.co.asx.asreader.barcode

  • ASR - 010D,020D,022D, M24D: jp.co.asx.asreader.6dongle.barcode

  • ASX - 300R,ASX - 301R: jp.co.asx.asreader.rfid

  • ASR - 030D,ASR - 031D: jp.co.asx.asreader.6dongle.rfid

  • ASR - 0230D,ASR - 0240D: jp.co.asx.asreader.0230D, jp.co.asx.asreader.0240D

  • ASR-M30S: jp.co.asx.asreader.slim

例えば

クラスでのSDKの使用

SDKを使用するクラスでヘッダーファイルをインポートします。

#import "AsReaderDevice.h"

注意事項

  • Dock SDK4 を利用するためには、C++ のコードに対応する必要があります。SDKヘッダーファイルを参照する .m ファイルを .mm に変更するか、libc++ ライブラリをインポートしてビルドしてください。

  • 連続して命令を送信する場合は、前の命令の応答を受け取ってから次の命令を送信する必要があります。応答を受信する前に再度コマンドを送信すると、異常が発生する可能性があります。

SDKの使用方法

AsReaderRFIDDeviceオブジェクトの作成と初期化(シングルトンパターン)

AsReaderRFIDDevice *asReaderRFIDDevice = [AsReaderRFIDDevice sharedInstance];

デリゲートの設定

[AsReaderRFIDDevice sharedInstance].delegateDevice = self;
[AsReaderRFIDDevice sharedInstance].delegateRFID = self;

接続状態デリゲートの受信

- (void)plugged:(BOOL)plug {
    if (plug) {
        AsReaderInfo *info = [AsReaderInfo sharedInstance];
        if (!info.isEnginePowerAlwaysOn) {
            // 030Dは電源をオンにする必要があります
            [[AsReaderRFIDDevice sharedInstance] setReaderPower:YES
                beep:YES
                vibration:YES
                batteryGaugeLed:YES
                barcodeAimer:YES
                barcodePowerOnBeep:YES
                mode:1];
        } else {
            // ASR - M30、ASR-M24Dは電源をオンにする必要はありません
        }
    }
}

AsReaderの電源をオンにする

[[AsReaderRFIDDevice sharedInstance] setReaderPower:YES
    beep:YES
    vibration:YES
    batteryGaugeLed:YES
    barcodeAimer:YES
    barcodePowerOnBeep:YES
    mode:1];

デバイスの電源状態の受信

- (void)readerConnected:(int)status {
    if (status == 0xFF) {
        // 電源が正常にオンになりました
    } else {
        // 電源のオンに失敗したか、電源が既にオフになっています
    }
}

スキャンを開始する

[[AsReaderRFIDDevice sharedInstance] startScan:0
    readUntilInSec:0
    repeatCycle:0];

RFIDタグのスキャン(RSSI取得あり)を開始する

[[AsReaderRFIDDevice sharedInstance] startReadTagsAndRssiWithTagNum:0
    maxTime:0
    repeatCycle:0];

スキャン開始データの状態の受信

- (void)startedReadScan:(int)status {
    if (status == 0x00) {
        // スキャンが正常に開始されました
    } else {
        // スキャンの開始に失敗しました
    }
}

RFIDタグのスキャンを停止する

[[AsReaderRFIDDevice sharedInstance] stopScan];

スキャン停止データの状態の受信

- (void)stopReadScan:(int)status {
    if (status == 0x00) {
        // スキャンが正常に停止されました
    } else {
        // スキャンの停止に失敗しました
    }
}

RSSI付きのタグデータの受信

- (void)pcEpcRssiReceived:(NSData *)pcEpc rssi:(int)rssi {
    // pcEpc: タグのPCEPCデータ
    // rssi: タグのRSSI値
}