AsBeacon
Development Reference Guide V1.0

Asterisk,Inc.
2020-06-05

変更履歴#バージョン

修正内容

日付

11.0

新規作成

2020/06/05

1

目次
1.

概要 ...............................................................................................................................................................3

2.

通信プロトコル ...........................................................................................................................................3

2.1.

概要 .............................................................................................................................................................................................. 3

2.2.

Service UUID............................................................................................................................................................................. 3

3.

SDK を使用する前の準備（iOS） ........................................................................................................5

3.1.

SDK を追加する ....................................................................................................................................................................... 5

3.2.

ヘッダーのインポート ............................................................................................................................................................. 6

4.

AsBeacon Class........................................................................................................................................7

4.1.

Properties ................................................................................................................................................................................... 7

4.2.

initWithCBPeripheral .............................................................................................................................................................. 8

4.3.

connect ........................................................................................................................................................................................ 8

4.4.

disconnect .................................................................................................................................................................................. 8

4.5.

immediateAlert ......................................................................................................................................................................... 8

4.6.

linkLoss ........................................................................................................................................................................................ 9

4.7.

openLED ...................................................................................................................................................................................... 9

4.8.

AsBeaconDelegate.................................................................................................................................................................. 95.

AsBeaconManager Class.................................................................................................................... 115.1.

Properties ................................................................................................................................................................................. 11

5.2.

sharedAsBeaconManager................................................................................................................................................... 11

5.3.

getSDKVersion ....................................................................................................................................................................... 12

5.4.

startSearching ........................................................................................................................................................................ 12

5.5.

stopSearching ......................................................................................................................................................................... 12

5.6.

connectAsBeacon ................................................................................................................................................................. 12

5.7.

disconnectAsBeacon ........................................................................................................................................................... 12

5.8.

sendDataWithAsBeacon ..................................................................................................................................................... 12

5.9.

getCurrentConnectedAsBeacon ..................................................................................................................................... 13

5.10.

AsBeaconManagerDelegate .............................................................................................................................................. 13

6.

AsBeaconSDKDefine Class ............................................................................................................... 14

6.1.

AsBeaconSDKImmediateAlert ......................................................................................................................................... 14

6.2.

AsBeaconSDKHostBLEStatus......................................................................................................................................... 142

1. 概要この製品を開発するには 2 つの方法があります。1 つは通信プロトコルを参照する方法で、もう 1 つは開発用に提供された SDK を使用する方法です（iOS プラットフォームのみ）。
クロスプラットフォーム（iOS および Android）である場合、「2.通信プロトコル 」を参照して開発してください。

2. 通信プロトコル
2.1. 概要
この章では、AsBeacon デバイスと APP 間のデータ通信プロトコルを説明します。
通信プロトコルの API 属性には、Read（R）読み取り属性、Notify（N）通知属性、Write（W）書き込み属性の 3 つがあります。

2.2. Service UUID
1.(UUID: 180F)：Battery Level バッテリーレベル
Function

Characteristic UUID

属性

説明

Battery Level

0x2A19R/N

バッテリー%（0-100）

属性

説明

2.(UUID: 1803)：Link Loss 接続切断
Function

Characteristic UUID

切断設定（1- 255），デフォルト
0xFF（255）
0x01-切断後、100ms 後アラート
linkLoss_value

0x2A06

W/R（ほぼ即時）
0x02-切断後、200ms 後アラート...
0xFF-切断後アラートなし

3.(UUID: 1804)：TX POWER 電波出力
Function

Characteristic UUID

属性

説明

txPower_value

0x2A07R

現在の送信電力

4.(UUID: 1802)：Immediate Alert 即時アラート
Function

Characteristic UUID

属性

説明
0x01/0x02-High

immediateAlertLevel_v
alue

0x2A06

W/R

immediateAlertLevel
0x03-Middling immediateAlertLevel
0x00-No immediateAlertLevel

5.(UUID: FFE0)：Private Services プライベートサービス
Function

Characteristic UUID

属性
3

説明

KeyPress

0xFFE1

R/N

LED 制御0xFFE8W/R

キーイベントを通知
0x01-クリック
0x01-LED 点灯
0x02-LED 消灯

6. Device Information デバイス情報
Function

Characteristic UUID属性

説明

Firmware Revision String

2A26

R

ファームウェアバージョン

Hardware Revision String

2A27

R

ハードウェアバージョン

Manufacturer Name String

2A29

R

メーカー情報43. SDK を使用する前の準備（iOS）
SDK を使ってアプリを開発する場合、SDK の使い方を説明します。通信プロトコルを使って直接 AsBeacon デバイスと通信する場合下記を参照する必要はありません。

3.1. SDK を追加する
3.1.1. TARGET -> Build phases -> Link Binary With Libraries

3.1.2. 「Add Other…」、「Add Files…」を選択する

5

3.1.3. AsBeaconSDK.framework を追加する

3.1.4. 下図のようになれば、追加完了

3.2. ヘッダーのインポート
Objective-C プロジェクトは、SDK を使用するクラスにヘッダーファイルを引用する必要があります。
#import <AsBeaconSDK/AsBeaconSDK.h>6

4. AsBeacon Class
4.1. Properties@property(nonatomic, strong, readonly) NSString *name; //AsBeaconデバイス名@property(nonatomic, strong, readonly) NSString *identifier; // Bluetoothデバイス識
別子@property(nonatomic, strong, readonly) CBPeripheral *peripheral; // Bluetooth経由で接続されたiOS周辺機器オブジェクト（AsBeaconデバイス）@property(nonatomic, strong, readonly) NSString *macAddress; //macアドレス@property(nonatomic, strong, readonly) NSString *manufacturerName; //メーカー名。
デリゲート関数whenAsBeaconReady(4.8.10を参照)を返す前に属性は割り当てられない@property(nonatomic, strong, readonly) NSString *hardwareVersion; //ハードウェアバージョン。デリゲート関数whenAsBeaconReady(4.8.10を参照)を返す前に属性は割り当てられない@property(nonatomic, strong, readonly) NSString *firmwareVersion; //ファームウェア
バージョン。デリゲート関数whenAsBeaconReady(4.8.10を参照)を返す前に属性は割り当てられない@property(nonatomic, assign, readonly) BOOL isConnected; //AsBeaconデバイスの接続状態@property(nonatomic, weak) id<AsBeaconDelegate>delegate; //4.8を参照

7

4.2. initWithCBPeripheral- (instancetype)initWithCBPeripheral:(CBPeripheral *)cBPeripheral bleName:(NSString*)bleName;

説明：AsBeacon オブジェクトを初期化します。
パラメータ：cBPeripheral：Bluetooth を介して接続された iOS 周辺機器オブジェクト（AsBeacon デバイス）。
bleName：AsBeacon デバイス名。
返り値：AsBeacon オブジェクト。

4.3. connect- (void)connect;
説明：AsBeacon デバイスを接続します（Bluetooth 経由）。
このメソッドの実行後、「receivedAsBeaconIsConnected」（4.8.1 を参照）により、接続のステータスがコールバックされます。

4.4. disconnect- (void)disconnect;
説明：AsBeacon デバイスを切断します。
このメソッドの実行後、「receivedAsBeaconIsConnected」（4.8.1 を参照）デリゲートにより、接続のステータスがコールバックされます。

4.5. immediateAlert- (void)immediateAlert:(AsBeaconSDKImmediateAlert)value;
説明：アラートを即時発行します。
パラメータ：value：AsBeaconSDKImmediateAlert 列挙型(6.1 を参照)。
このメソッドが実行された後、「didSetImmediateAlertReceived」（4.8.8 を参照）により、即時アラートのステータスがコールバックされます。

84.6. linkLoss- (void)linkLoss: (uint8_t)value;
説明：切断後アラートの遅延時間を設定します。設定範囲：0~255（例：0x01-切断後、100ms 後アラート）
パラメータ：value：切断後アラートの遅延時間(2.2-2 を参照)。
このメソッドが実行された後、「didSetLinkLossReceived」（4.8.7 を参照）により、切断後アラートの遅延時間の設定値がコールバックされます。

4.7. openLED- (void)openLED:(BOOL)isOpen;
説明：LED を On/Off します。
パラメータ：isOpen：YES：On、NO：Off。
このメソッドが実行された後、「didSetOpenLEDAlertReceived」（4.8.9 を参照）により、LEDライトのオン/オフのステータスがコールバックされます。

4.8. AsBeaconDelegate
4.8.1. receivedAsBeaconIsConnected- (void)receivedAsBeaconIsConnected:(BOOL)isConnected;
説明：現在の AsBeacon デバイスの接続ステータスをコールバックします。 メソッド
connect（4.3 を参照）と disconnect（4.4 を参照）を呼び出した後、接続のステータスをコールバックします。
パラメータ：isConnected：YES：接続、NO：切断。
4.8.2. receivedBatteryValue- (void)receivedBatteryValue:(int)batteryValue;
説明：現在の AsBeacon デバイスのバッテリー残量をコールバックします。 AsBeacon デバイスとの接続が成功した後、このメソッドを一度だけコールバックします。
パラメータ：batteryValue：現在の AsBeacon デバイスのバッテリー残量。
4.8.3. whenAsBeaconImmediateAlertServiceReady-(void) whenAsBeaconImmediateAlertServiceReady;9説明：AsBeacon デバイスの即時アラートが使用できる状態になったらこのメソッドをコールバックします。
4.8.4. whenAsBeaconLinkLossServiceReady- (void) whenAsBeaconLinkLossServiceReady;
説明：AsBeacon デバイスの切断設定後のアラートサービスが使用できる状態になったらこのメソッドをコールバックします。
4.8.5. whenAsBeaconLEDServiceReady- (void) whenAsBeaconLEDServiceReady;
説明：AsBeacon デバイスの LED 制御サービスが使用できる状態になったらこのメソッドをコールバックします。
4.8.6. pushedPowerButton- (void) pushedPowerButton;
説明：接続された AsBeacon デバイスの電源キーが押されたとき、このメソッドをコールバックします。
4.8.7. didSetLinkLossReceived- (void)didSetLinkLossReceived:(uint8_t)value;
説明：切断後アラームの遅延時間を設定したときにコールバックします。。linkLossメソッド（4.6を参照）を呼び出した後、切断後アラームの遅延時間の設定をコールバックします。
4.8.8. didSetImmediateAlertReceived- (void)didSetImmediateAlertReceived:(uint8_t)value;
説明：即時アラームを設定したときにコールバックします。「immediateAlert」（4.5を参照）を呼び出した後、即時アラームの設定状態をコールバックします。

10

4.8.9. didSetOpenLEDAlertReceived- (void) didSetOpenLEDAlertReceived:(uint8_t)value;
説明： LEDライトをオンまたはオフにしたときにコールバックします。 メソッドopenLED（4.7を参照）を呼び出した後、LEDライトのオン/オフのステータスをコールバックします。
4.8.10. whenAsBeaconReady- (void)whenAsBeaconReady;
説明： AsBeaconデバイスの基本情報が取得されたときにコールバックします。

5. AsBeaconManager Class
5.1. Properties@property(readonly) AsBeaconSDKHostBLEStatus deviceBLEStatus; // iOS デバイスの Bluetooth ステータス。6.2 を参照@property(readonly) BOOL isSearching; // Bluetooth の検索ステータス。 YES：検索
中、NO：検索していない。
@property(nonatomic, strong, readonly)CBCentralManager *centeralManager//Bluetooth管理オブジェク。
@property(nonatomic, weak) id<AsBeaconManagerDelegate>delegate; //5.10を参照

5.2. sharedAsBeaconManager+(AsBeaconManager *)sharedAsBeaconManager;
説明：AsBeaconManager オブジェクトの作成（シングルトンモード）。
返り値：AsBeaconManager オブジェクト。

11

5.3. getSDKVersion- (NSString *)getSDKVersion;
説明：SDK バージョン番号を取得します。
返り値：NSString 型：SDK バージョン。

5.4. startSearching-(BOOL)startSearching;
説明：AsBeacon デバイスの検索を開始します。
返り値：YES：コマンドの送信に成功。
NO：コマンドの送信に失敗。
このメソッドの実行後、「whenSearchedAsBeaconList」（5.10.1 を参照）により、実行結果がコールバックされます。

5.5. stopSearching-(void)stopSearching;
説明：AsBeacon デバイスの検索を停止します。

5.6. connectAsBeacon-(void)connectAsBeacon:(AsBeacon *)AsBeacon;
説明：指定された AsBeacon デバイスを接続します。
パラメータ：AsBeacon：AsBeacon オブジェクト。

5.7. disconnectAsBeacon-(void)disconnectAsBeacon:(AsBeacon *)AsBeacon;
説明：指定された AsBeacon デバイスを切断します。
パラメータ：AsBeacon：AsBeacon オブジェクト。

5.8. sendDataWithAsBeacon-(void)sendDataWithAsBeacon:(AsBeacon *)AsBeacon data:(NSData *)data
service:(NSString *)server characteristic:(NSString*)characteristic;
説明：AsBeacon デバイスにコマンドを送信します（SDK 内部で使用）。
12パラメータ：AsBeacon：AsBeacon オブジェクト。
data：送信したデータ。
server：Bluetooth サービス。
characteristic：Bluetooth サービスの特性。

5.9. getCurrentConnectedAsBeacon-(AsBeacon *)getCurrentConnectedAsBeacon;
説明：正常に接続された AsBeacon デバイスオブジェクトを取得します。
返り値：AsBeacon オブジェクト。

5.10. AsBeaconManagerDelegate
5.10.1. whenSearchedAsBeaconList-(void)whenSearchedAsBeaconList:(NSArray *)AsBeaconList;
説明：検索した AsBeacon デバイスをオブジェクトとして配列に保存し、コールバックします（メソッドは複数回コールバックします）。メソッド startSearching（5.4 を参照）を呼び出した後、実行結果をコールバックします。
パラメータ：AsBeaconList：配列には、検索したデバイスオブジェクト(AsBeacon)が含まれます。

13

6. AsBeaconSDKDefine Class
6.1. AsBeaconSDKImmediateAlert
即時アラートのレベル。
定義値

説明

AsBeaconSDKHight_immediateAlertLevel

0高。

AsBeaconSDKMiddling_immediateAlertLevel

1中。

AsBeaconSDKNo_immediateAlertLevel

2低。

定義値

説明

AsBeaconSDKHostBLEStatus_PowerOff

0

iOS の Bluetooth はオフ

AsBeaconSDKHostBLEStatus_PowerOn

1

iOS の Bluetooth はオン

AsBeaconSDKHostBLEStatus_Unsupported

2

iOS の Bluetooth は未サポート

6.2. AsBeaconSDKHostBLEStatus
iOS の Bluetooth ステータス。

14