Wanesy Wave で Beacon情報を取得する

2021年09月09日
by RAMBO

 

Wanesy Wave には、Beacon情報を取得する機能があります。
この機能を使うことで、工場や倉庫の見える化(モノや人にビーコンを装着し、位置情報をリアルタイムで把握)が実現できるのではないでしょうか。

実際にどのようなデータを取得することができるのか説明していきます。

LoRaWANゲートウェイは Kerlink Wirenet iStation(以降iStation)、ネットワークサーバーは Kerlink WANESY MANAGEMENT CENTER(以降WMC) を使っています。
Wanesy Wave と iStation は弊社内に設置、WMC はクラウド上のサービスです。

Wanesy Wave からのデータ

ネットワークサーバー(WMC)から送信されるJSON内にある、payload に値が格納されています。
payloadを変換することで、

  • 新しくスキャンされたBeacon
  • 前回から引き続きスキャンされたBeacon
  • スキャンされなくなったBeacon

の情報を MAJOR+MINOR(若しくはMAC Address), RSSI 値として得られます。

payload は次のようになっています(WMCからBase 64で送信)。

o2FugoMaB/8AAyMBgxoAAWHbAwBhcoIaCABGlRm5mGFjgoMaCAAL8CAAgwEvAA==

Base 64 デコードし、HEX値に変換します。

A3616E82831A07FF00032301831A000161DB03006172821A0800469519B998616382831A08000BF0200083012F00

CBORでデコードします。

{
 "n": [[0x7FF0003, -4,1], [0x161DB, 3,0]], 
"r": [0x8004695, 0xB998],
 "c": [[0x8000BF0, -1,0], [0x1, -16,0]] 
}

得られたJSONには
n: 新しくスキャンされたBeacon([MAJOR+MINOR iBeacon, RSSI, Moving Status])
r: スキャンされなくなったBeacon(MAJOR+MINOR identifier)
c: 前回から引き続きスキャンされたBeacon([MAJOR+MINOR iBeacon, RSSI, Moving Status])
が格納されています。

新しくスキャンされたBeacon情報を見てみます。

[[0x7FF0003, -4,1], [0x161DB, 3,0]]

2つの Beacon の情報が得られました。
1つ目の MAJOR+MINOR 0x07FF0003 はそのまま記載されています。
2つ目以降は配列の1項目目の和を求めることで取得します。
この場合だと、0x7FF0003 + 0x161DB = 0x080061de となります。

 

RSSI値も計算が必要です。

RSSI=JSONRSSI×247

1つ目は、-4 × 2 – 47 = -55 となります。

弊社では、WaveのPayloadを変換できるツールを公開しています(こちら)。
(サイトの利用には認証が必要です。Waveを購入されたお客様へは認証情報をお伝えいたします。)

 

例で使ったPayloadを次のJSON形式に変換し出力します。
データの確認等にご利用ください。

[ 
{ "tag_key": "n", "beacon": "0x07ff0003", "rssi": -55, "move": 1 }, 
{ "tag_key": "n", "beacon": "0x080061de", "rssi": -41, "move": 0 }, 
{ "tag_key": "r", "beacon": "0x08004695" }, 
{ "tag_key": "r", "beacon": "0x0801002d" }, 
{ "tag_key": "c", "beacon": "0x08000bf0", "rssi": -49, "move": 0 }, 
{ "tag_key": "c", "beacon": "0x08000bf1", "rssi": -79, "move": 0 } 
]

 

 


Wanesy Wave詳細はこちら