BLEビーコン送信設定
WEB-UIのIoTデータ
→送受信設定
タブのビーコン送信設定
メニューより、ビーコンの送信設定を行うことが出来ます。
ビーコンの送信を行うためには、WEB-UIのサービス
→基本
→BT I/F
タブより、サービス機能の基本設定としBT I/F (hci0)が使用する
に設定されている必要があります。 サービス機能の基本設定については、スタートアップガイド のサービス機能を参照して下さい。
ビーコン送信設定
メニューが表示されていない場合は、アプリ設定を参照し、PD Handler BLEを使用する
に設定して下さい。
初期状態の送信先設定は上図のようになっています。ここで、ビーコンデータをクラウド等への送信する場合には、送信する
を選択します。
caution
後述のデバイス情報送信設定で送信対象としているビーコンには、本項は適用されません。
送信する
を選択すると各設定項目が上図のように表示されます。
ビーコン送信設定の設定項目
設定項目 | 説明 |
---|---|
デバイス番号 | OpenBlocksシリーズのWEB-UI内で管理している番号です。変更はできません。 |
データ間引間隔 | データを間引くための入力データを受け取らない時間をmsec単位で設定します。 0の場合、間引きは行われません。 |
バッファーサイズ | データの最大サイズを設定します。単位はバイトです。 |
ビーコンソナー機能 | 受信対象となっているビーコンデータを受信した際にビーコンソナーを有効 か無効 かを設定します。 *1 |
制御タイプ | ビーコンデータを管理する方式を以下から選択します。 各方式については後述のビーコン重複制御アルゴリズムを参照してください。
|
重複制御時間間隔[ms] | 各制御タイプにて用いる制御時間をmsec単位で設定します。 |
ペイロード管理 | ビーコンデータをPD Repeaterへ渡す際に、ビーコンの各情報を付随させるかを選択します。
|
データフィルタ機能 | 送信対象のビーコンを選別するフィルタを設定します。 データプレフィックスに16進ASCII文字列でフィルタ条件を入力すると、ビーコンのアドバタイズ情報を前方一致で比較し一致したもののみを送信先へ送信します。
|
受信信号強度閾値フィルタ設定 | 受信対象とするビーコン の信号強度閾値フィルタを使用するか設定します。 |
受信信号強度閾値 | 受信対象とするビーコンの信号強度を設定します。 |
固定情報付与(JSON) | データに付加する静的情報をJSON文字列で設定します。 |
送信先設定 | 使用する を選択した送信先に対してチェックボックスが選択できるようになります。チェックを付けた送信先に対して、送信を行います。 チェックをつけると送信先固有の設定項目が表示されます。送信先固有の設定については、送受信先毎の設定を参照して下さい。 |
info
- ビーコンソナー機能を有効にしUSBスピーカー(型番:MM-SPU8BK)を接続した状態にて、受信対象(データフィルタ及び受信信号強度閾値フィルタについても考慮)となっているビーコンデータを受信した場合にはスピーカーから検出音が鳴ります。
- C言語版 PD Handler BLE で対応していない非コネクション型BLEセンサーについては、Lua拡張機能で対応することが可能です。
ビーコンのフィルタリング
ビーコンは、ほとんどの製品がiBeaconフォーマットを採用しています。(このiBeaconをベースに解説します。)
iBeaconは前項で説明されている"Manufacturer Specific Data"部分の16進ASCII文字列の先頭4文字が"0201"(2バイト)となっている場合にiBeaconと考えてください。
ここから続く46文字(23バイト)文字が大体固定値になっています。(割と多い)
この中身はiBeacon製品毎にまちまちなのですがこの範囲へUUIDなどが書き込まれています。
ここまで全部で16進ASCII文字で50文字(25バイト)になります。
そして51文字目~54文字目(26バイト目と27バイト目)がMajor Number、55文字目~58文字目(28バイト目と29バイト目)がMinor Numberとなっており、iBeaconセンサーではここにセンサー値や識別子などが書き込まれている製品が多いです。
このため特定メーカーでかつ特定製品のiBeaconをフィルターするには、前項のデータフィルタ機能
を有効
にして、プレフィックス文字列に先頭からの50文字を設定します。
(前もってフィルターなしで該当するビーコンのデータを受信しておくとログでビーコンデータの文字列が確認できます。)
エイブリック社のバッテリレス漏水センサ(S-CBTGAAAC)はMajor Numberまで製品共通の為、54文字をフィルタ条件とすることで全てのバッテリレス漏水センサーが取得できます。
また、 このバッテリレス漏水センサはMinor NumberにシリアルNoが入っており、特定のビーコン1個として識別する場合は58文字をフィルタ条件にすると良いです。
そしてビーコンセンサーの場合で、Major / Minor部分をセンサー値へのパースが必要な場合は、別項のビーコンセンサーとして登録しLUA言語を使ってパースします。
※全てのiBeaconセンサーのMajor / Minorの位置が26バイト目~29バイト目あるわけではないので、製品の仕様書で個々に確認してください。
ビーコン重複制御アルゴリズム
- この説明における前提となる設定
- ビーコンの送信間隔 = 1秒
- 重複制御時間間隔(CHt)= 5秒
- インターバルトランスファー
ビーコンを受信している間は、指定された一定間隔で送信プログラムへ。
- エントリーポイントトランスファー
(CHt時間内の一時非受信は退場扱いとしない)
- インアウトステータストランスファー
(CHt時間内の一時非受信は退場扱いとしない)