GPSトラッカーGWを使って部屋の利用状況を見える化する方法

会議室の利用状況を見える化するDIYレシピを紹介します。
室内灯の点灯状態で利用の有無を判断する方法です。
![レシピイメージ.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/f23d8be2-7a34-ef70-47b4-6e8956e1f2e9.gif)


# こんな人におすすめ
- 簡易的に部屋の利用状況の監視がしたい人
- GPSトラッカーGWの利用方法を知りたい人
- DIYでIoTを導入したい人

# レシピ作成に必要な時間など
- 必要な時間：約60分
- 概算費用：55,880円 
- 使用するソラコムサービス
  - データ通信サービス SORACOM Air
  - データ収集・蓄積サービス SORACOM Harvest Data
  - ダッシュボード作成・共有サービス SORACOM Lagoon

# はじめに
みなさんは会議室を利用する際、

　　・予約システムでは空いていたのに部屋に行ったら別の人が使っていた。
　　・いつ行っても使われていて会議室が利用できない。

...なんて経験ありませんか？（私はあります）
会議室が居室から遠い場合などは往復の時間が非常にもったいないですよね。

そこで、部屋の利用状況を見える化する仕組みを考えました。
ここにレシピを紹介します。

# このレシピでできること
- 会議室などの利用状況がリアルタイムで確認できるようになります。
- 利用の履歴を記録に残せるようになります。

# 準備するもの
| 品名 | 数量 | 価格 | 備考 |
|:-:|:-:|:-:|:--|
| [ビーコン対応GPSトラッカーGW](https://soracom.jp/store/5527/) | 1 | 21,780円 | ソラコムストアから購入できる |
| [照明光発電ビーコン  PB10-B](https://www.sd.toyonics.co.jp/01_solution/02_ecobeacon/pb10-b.html) | 5※ | 34,100円 | 購入先：[ぷらっとオンライン](https://online.plathome.co.jp/item/detail/11270209/%E6%9D%B1%E6%B4%8B%E3%82%A8%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AD%E3%83%8B%E3%82%AF%E3%82%B9/%E7%85%A7%E6%98%8E%E5%85%89%E7%99%BA%E9%9B%BB%E5%9E%8B-%E9%9B%BB%E6%B1%A0%E3%83%AC%E3%82%B9BLE%E3%83%93%E3%83%BC%E3%82%B3%E3%83%B3-PB10-B%E3%80%805%E5%80%8B%E3%82%BB%E3%83%83%E3%83%88/PB10-B-5)<br>※設置する部屋の数だけ準備する<br>※メーカー（東洋エレクトロニクス）へのコンタクト：ecobeacon@toyonics.co.jp |
| Windows🄬 OS を搭載したパソコン | 1 | － | ビーコン対応 GPS トラッカー GW への設定および SORACOM ユーザコンソールの操作に用います。 mac OSやLinux OSには対応していません。当レシピでは Windows🄬 10 Pro で検証しました。インターネット接続が可能でサイトへの接続が自由であること、Google Chrome 等の最新ブラウザーが利用可能な事が必要です。 |
| USBケーブル (Type-A ↔ Type-C) | 1 | － | ビーコン対応GPSトラッカーGWとパソコンを接続するためです。パソコンのUSBポートが Type-C のみの場合は、Type-C ↔ Type-C ケーブルをご用意ください。 |
| iOS もしくは Android&trade; OS が動作するスマートフォン | 1 | － | BLEビーコンのAdvA,Minorを確認するために使用します。 |

# 事前準備
- ソラコムアカウント（コンソール）を作成しておく。作成は[＞＞こちらから＜＜](https://console.soracom.io/#/login?return_to=%2F)
- 使用する照明光発電ビーコンのAdvA,Minor値を確認しておく。<br>確認方法は[＞＞こちらから＜＜](https://qiita.com/umasa/private/6195370c6ec80d73edf5)

# システム構成
![システム構成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/dc9805af-bca3-8c77-fd90-912fa69dd4bf.png)

# レシピ
## 1.GPSトラッカーGWの設定
**事前準備**
- GPSトラッカーGWのセットアップをしておく。
  - ドライバーとキッティングツールのセットアップ
  - SIMの取り付け

※セッティングの手順、ツールのダウンロードは[＞＞こちらから＜＜](https://users.soracom.io/ja-jp/guides/iot-devices/beacon-gps-tracker/setup/)

### 1-1.キッティングツールの設定

キッティングツールで以下の設定をする。
   - ゲートウェイモードを選択（利用時間は任意）
   - 「ビーコン情報を受信する」にチェック
   - クラウドへの送信間隔は10秒

<details><summary>送信周期を10秒に設定している理由</summary>
　
さらに短い周期（例えば1秒周期）で送信するとSORACOM Harvestのリクエスト回数が多くなり、通信料が高額になってしまうため、ここでは10秒周期で信号を送信し、過去1分間に何回の信号受信があったかというロジックで部屋の利用を判定しています。<br>
　参考：SORACOM Harvestのリクエスト料金（2022年3月現在）<br>
　　　　→2001回目/日から0.0044円/回（2000回/日までは無料）<br>
　　　　→1秒周期の場合最短1時間で無料枠を超えてしまう

</details>

![GPSトラッカーGW設定_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/673f84e4-ace4-665d-ec6d-180ef4df8514.png)

- 「ビーコン項目」タブにて、「その他センサービーコン」を選択する。

:::note warn
「ビーコン(iBeaconフォーマット)」を選択すると後半の設定でうまく個別判定できないため注意すること
:::

![GPSトラッカーGW設定_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/d59217ab-a07f-6798-aa87-c444af599144.png)

- 「要素1」内、AD Type に"FF"を記入する。
- AdvAにチェックを入れ、対象のビーコンのAdvAを記入する。
  ※ビーコンのAdvA確認方法は[＞＞こちら＜＜](https://qiita.com/umasa/private/6195370c6ec80d73edf5)
- 「センサーデータ」内のAD Type に"FF"と記入し、"23"Byte目から"2"Byteと記入する。
- ビッグエンディアンを選択する。

![GPSトラッカーGW設定_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/90dad31a-900e-2540-d403-f87444a4e019.png)

![GPSトラッカーGW設定_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/ac3c56bc-0c5f-1e13-e33a-cddbab5a3f7d.png)

- 記載が終わったら”端末へダウンロード”をクリック
　（端末への書き込みを実施）
![GPSトラッカーGW設定_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/f5bcd153-6a50-9d48-d819-2d438883134d.png)

- 設定ファイルは保存しておくと良いです。
![GPSトラッカーGW設定_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/bf50e299-7fb8-36a1-837c-fb1c136bc9f5.png)

- クラウドの送信データフォーマットの"表示"を押し、内容をコピーをしておく。
![GPSトラッカーGW設定_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/33c033ed-9d52-5bd5-cd80-e3155f520539.png)

- 任意のポート番号を指定し、開始をクリック
![GPSトラッカーGW設定_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/0192fad3-b40e-ddcd-04ea-6264e33003b5.png)

以上でGPSトラッカーGWの設定は完了です！

### 1-2.データ送信の確認
任意のデータが正常に送信されていることを確認する。
データの送信設定などは  [＞＞こちら＜＜](https://users.soracom.io/ja-jp/guides/iot-devices/beacon-gps-tracker/send-ble-sensor-data/)  を参照してください。
- 必要な作業
    - [グループの設定①  バイナリパーサーの設定](https://users.soracom.io/ja-jp/guides/iot-devices/beacon-gps-tracker/send-ble-sensor-data/#%e3%82%b9%e3%83%86%e3%83%83%e3%83%97-4-soracom-%e3%82%b0%e3%83%ab%e3%83%bc%e3%83%97%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b)
    - [グループの設定②  SORACOM Harvest Dataの設定](https://users.soracom.io/ja-jp/guides/iot-devices/beacon-gps-tracker/send-ble-sensor-data/#%e3%82%b9%e3%83%86%e3%83%83%e3%83%97-4-soracom-%e3%82%b0%e3%83%ab%e3%83%bc%e3%83%97%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b)
    - [データの送信](https://users.soracom.io/ja-jp/guides/iot-devices/beacon-gps-tracker/send-ble-sensor-data/#%e3%83%87%e3%83%bc%e3%82%bf%e3%81%ae%e9%80%81%e4%bf%a1)
    - [データの確認](https://users.soracom.io/ja-jp/guides/iot-devices/beacon-gps-tracker/send-ble-sensor-data/#%e3%83%87%e3%83%bc%e3%82%bf%e3%81%ae%e7%a2%ba%e8%aa%8d)

以下のような表示がされたら成功です。
※あとで使用するため、どのsns番号にどのデータが格納されているかメモしておくと良いです。

![コンソール設定_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/0c636975-ce08-d1cb-d082-227bdf1171fa.png)

## 2.SORACOM Lagoonの設定
SORACOM Lagoonの準備や基本的な操作方法は[＞＞こちら＜＜](https://users.soracom.io/ja-jp/docs/lagoon-v2/getting-started/)を参照してください。
### 2-1.利用状況のリアルタイム表示
部屋の利用状況がリアルタイムで確認できます。
![Lagoon設定_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/106c68bc-ae2c-91e5-f921-76fe9432b96a.png)

**基本的な流れ**
1. minor値を取得する。（数値として取り扱いができる個体のユニーク値）
2. 取得した数値を”Expression”機能で”1”にする。
3. ”Expression”機能を使い、2.で”1”にした数値の60秒の合計をとる。
4. 3.で合計した数値が”3”以上なら使用中、それ以下なら空室として表示を変化させる。

<details><summary>上記の手順をふむ理由</summary>

照明光発電ビーコンは50lux程度のわずかな光でも反応するため、意図せぬ信号により誤検知してしまう可能性がある。そのため、「単位時間あたりに受信した信号の数」で判断するロジックとしている。

</details>

**事前準備**
- 背景画像、空室、使用中のpngファイルを作成し、アクセス可能なストレージへ保存しておく。
- Googleドライブを利用した設定方法は[＞＞コチラ＜＜](https://qiita.com/umasa/private/ee9db28c341b43bf3938)
![会議室.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/e906f2b7-6f63-24f1-4c67-3d0b08d40f88.png)

![空室.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/426dd663-1229-1c44-f90f-eafe5cdca205.png)
![使用中.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/5abe99ca-fe70-942e-064f-10a3c6398e84.png)



**2-1-1.新規パネルの作成**
- 右上の"Add panel"を押し、"Add an empty panel"を選択する。
![Lagoon設定_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/12c3924c-1992-6e7f-0bd1-926a39569960.png)

**2-1-2.Queryの設定**
- "+ Query"を押し、"任意のSIM","Standard","sns*"を選択する。
※*はGPSトラッカーGWの設定で指定した番号（「1-2.データが正常に送信されることを確認する」を参照のこと）
![2022-04-22_21h30_50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/6c420c11-2128-c989-c150-dfdb175ab02d.png)

- Expressionを選択し、下記の通り設定する。
![2022-04-22_21h39_42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/5f04e262-29c1-d851-486b-7616f4d39a43.png)

- 再度Expressionを選択し、下記の通り設定する。
![2022-04-22_21h52_30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/5239d080-057e-80c9-ab34-7f1c839def03.png)


- 上記を監視したい部屋の数だけ設定する。

:::note warn 
照明光発電ビーコンとGPSトラッカーGWの距離が離れていたり、間に複数の遮蔽物が存在するとGPSトラッカーGWがビーコンの信号を受信できない可能性があるので注意すること。
:::

**2-1-3.Panelの設定**

- VisualizationでSoracom Image Panelを選択する。
![Lagoon設定_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/8f8cc564-5998-fd1e-708c-15b9b7e7bf3b.png)

- Imageタブを選択し、下記の通り入力する
![Lagoon設定_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/af3d235a-7d8f-ec61-1a97-6b5ec0dbff5b.png)

:::note warn
通信環境などによっては”Name”の項目の表示に時間がかかる場合があります。
:::

- 上記を監視したい部屋の数だけ設定する。

リアルタイムでの利用状況の確認ができます。
※部屋の利用開始から反映まで約1分のタイムラグが発生します。
![Lagoon設定_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/c122376a-61f5-e64c-390f-3546571e84f5.png)

### 2-2.利用状況の記録
部屋の利用状況の記録ができます。
![Lagoon設定_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/f8e13495-da1f-5138-7be5-44525c8b700a.png)

**2-2-1.新規パネルの作成**
- 右上の"Add panel"を押し、"Add an empty panel"を選択する。
![Lagoon設定_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/12c3924c-1992-6e7f-0bd1-926a39569960.png)

**2-2-2.Queryの設定**
- Queryタブから下記の設定をする。
![Lagoon設定_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/d7861ab2-b705-9248-8f22-a59af5ea4fbb.png)

**2-2-3.Panelの設定**
- VisualizationでSoracom Image Panelを選択する。
![Lagoon設定_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/46dfdac6-e73c-70c7-a8d4-5a04147548db.png)

- Axesを下記の通り設定する。
![Lagoon設定_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/84088e17-00ad-a665-c48a-8ba3ded6005a.png)

- Displayを下記の通り設定する。
![Lagoon設定_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/4c27903e-7cd2-dce4-e790-7bb7f61c183e.png)

過去の利用の記録が表示されます。
![Lagoon設定_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/f8e13495-da1f-5138-7be5-44525c8b700a.png)

# 注意事項
:::note warn 
本システムは外光の影響のない、または影響の小さい部屋への設置を想定しています。外光が差し込む部屋など設置場所によっては正常に判定できない可能性があるのでご注意ください。
- 照明点灯時の明るさが200lux以上であること
- 照明消灯時の明るさが20lux以下であること
※明るさ測定はandroidアプリ(Lux Light Meter)を利用した参考値
:::

# 補足1 このレシピを利用した場合の費用（参考値）
- 平日8:00~20:00、月22日稼働、部屋の稼働率100%を想定した場合（料金MAX想定）
  - ビーコン　1台利用　　720円/月
  - ビーコン　2台利用　 1,138円/月
  - ビーコン　3台利用　 1,556円/月
  - ビーコン　4台利用　 1,974円/月
  - ビーコン　5台利用　 2,392円/月

※参考にしたソラコムサービスの利用金表は[＞＞こちらから＜＜](https://soracom.jp/pricing/)

- 実際に稼働させた例（平日8:00~20:00、月22日稼働）
  - ビーコン　4台利用　 794円/月

# 補足2 レシピが生まれた背景
このレシピは  ifLinkオープンコミュニティ  というIoTの普及を目的としたオープンコミュニティの活動から誕生しました。「電池レスビーコンでIoT部」のみなさまのご協力に感謝いたします。

「誰でもつくれるIoT」を合言葉としたこの活動にご興味のある方は下記をご確認ください。
https://iflink.jp/
![ifLink説明イラスト３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1188107/2849781c-e2fa-5a61-8980-00f7817db169.png)

---
- 商標
※Windows®およびWindows®10は米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。Microsoft® Windows® の正式名称は、Microsoft® Windows® Operating Systemです。
※Google、Android、Google Chrome およびその他のマークは、Google LLC の商標または登録商標です。
※Bluetooth®ワードマークおよびロゴは、Bluetooth SIG, Inc.が所有する登録商標であり、京セラ株式会社は、これら商標を使用する許可を受けています。
※USB Type-C®はUSB Implementers Forumの登録商標です。
※LTEは、ETSIの商標です。
※iBeaconは、米国およびその他の国で登録されたApple Inc.の商標です。
※SORACOM は、株式会社ソラコムの登録商標または商標です。
※その他本文中に記載されている会社名および商品名は、各社の商標または登録商標です。