目次
LoRaWANとは
LoRaWANとは無料で誰でも使える無線の一種です。免許などは不要です。
送信できるデータ量は非常に少ないため画像データなどの送信は不可能ですが、GPSの位置情報、温度センサー情報などを低消費電力で長距離まで送信可能です。デバイスの性能や障害物にもよりますが、半径5km程度は送信できます。
詳しくは下記記事をご覧ください。
GPSトラッカー SenseCAP T1000-A
カードサイズでとても薄いGPSトラッカーです。
GPS以外にも、温度、照度、モーションセンサが付属しています。(GPSのみのモデルもあります)
今回は、このGPSトラッカーからTTN(The Things Network)にデータを送信し、TagoIoやDATACAKEにて地図にマッピングして見える化してみます。
GPSトラッカーの設定
GPSトラッカーは、専用のスマートフォンアプリをダウンロードし、Bluetooth接続にて設定します。
GPSトラッカーと記載していますが、 Bluteoothのビーコンにも対応しているため、屋内での位置把握も可能ですが、今回は使用しません。
まずは、専用アプリをスマートフォンにダウンロードします。
GPSトラッカーとの接続方法等は画面で案内されるため、その指示に従います。
今回の設定では「Advanced Configuration」を選びます。
LoRa設定では、PlatformにてThe Things Networkを選択し、表示される、Device EUI、AppEUI、AppKeyをコピーして控えてください。
TTNのアプリケーション設定にて使用します。
WorkMode設定は下図のようにします。今回は、1分間隔でデータを送信します。
Work Modeを変更すると、モーションセンサーが動きを検知した場合にデータを送信する等の設定もできるようですが、未検証です。
Geolocation設定は下図のようにします。
Location Data Cacheがデフォルトでは有効になっていますが、これの影響か意図しないタイミングで意図しない位置情報が送信されることがあったため、OFFにしたところ改善しました。
TTN(The Things Network)の設定
TTNにはゲートウェイの登録などが必要ですが、今回は説明を省略します。
別途ゲートウェイ(基地局)を購入して、TTNに登録します。
今回は、弊社が設置済みのTTN Yazuのゲートウェイを利用します。
以降の設定は下記ページの内容を参考に行いました。
アプリケーション作成
TTNのコンソール画面からアプリケーション画面に遷移し、画面右上の「アプリケーションの作成」ボタンをクリックします。
その後、アプリケーションID に任意のIDを入力し、アプリケーションを作成します。
デバイス追加
先ほど作成したアプリケーションにGPSトラッカーをデバイスとして追加します。
画面左メニューの「エンドデバイス」を選択し、画面右上の「エンドデバイスの登録」ボタンをクリックします。
End device brand, モデル、Hardware Ver (1.0しか選べない), Firmware Ver.(1.0しか選べない), プロフィール(リージョン)を選択します。
周波数プランはゲートウェイの設定を参考に設定します。
JoinEUIは、スマホアプリで設定した際に控えたAppEUIを設定します。
以上の設定で、GPSトラッカーからTTNにデータが送信されるようになります。
GPSトラッカーの電源をONすると1分間隔でデータが送信されます。
送信されたデータはTTNの画面左メニューの「ライブデータ」から確認できます。
データの見える化
TTNはデータを受信するのがメインの処理です。TTN Mapperという機能を利用すると一部情報の見える化は可能ですが、外部サービスと連携して見える化する方が使いやすいです。
今回は2つのサービスと連携してみました。
DATACAKE
今回はじめて使うサービスです。デバイス5台までは無料で利用できます。
DATACAKEにはT1000用のダッシュボードテンプレートが用意されているため、簡単に見える化が可能です。
手順の詳細は下記ページを参照してください。
ダッシュボード例
TagoIO
TagoIOは使いやすいので、お気に入りです。デバイス10台まで無料で使えます。
ただし、DATACAKEのようにT1000用のダッシュボードテンプレートは用意されていないため、自分でウィジェットを組み合わせてダッシュボードを作成する必要がありますが、一度操作を覚えればそれのほど難しくはありません。
手順の詳細は下記ページを参照してください。
ダッシュボード例
まとめ
今回のテストでは、GPSトラッカーの設定からデータの見える化まで比較的簡単に利用することができました。
GPSトラッカーの性能確認としては、徒歩での計測だったためGPSトラッカーとゲートウェイ間の距離が最大1kmまでは確認できました。1km地点のRSSIが-91だったため、もっと距離が離れていても通信はできそうです。アンテナ内蔵のコンパクトなデバイスとしては、LoRaWANの性能としては良いのではないかと感じました。
後日追記
自動車にGPSトラッカーを乗せて移動したところ、ゲートウェイから直線距離で3.2km地点でも通信できることを確認しました。
問題はGPSセンサの性能です。時々雨が降る曇り空での測定でしたが、GPSの測位ができない場所が多くありました。後半はほぼ測位に失敗しています。GPSトラッカーの説明書にはトラッカーの表面部分が空を向くようにと注意書きがありましたが、測定中は徒歩だったので向きをあまり気にしていなかったためかもしれませんが、他のセンサーの場合はそこまで注意しなくとも測位できるため、何か設定などの工夫する必要があるかもしれません。
送信間隔をもう少し長く設定し、GPS測位失敗判定時間も長く設定するなど。
<後日追記>
快晴時に再度測定してみたところ、GPSの位置情報もほぼ問題なく取得できていました。ただし、このときはアンテナが上空を向くように気をつけていました。
ちなみに、GPSトラッカーからTTNに送信されるデータをTTNのコンソール画面にて確認すると、GPS測位に成功しているときのデータ(ペイロード)は 0x06から始まるデータになっています。GPS測位に失敗した際のデータは0x11から始まるデータになっています。
GPS測位失敗時の0x11に対するデータフォーマット仕様は、SenseCAP Tracker T1000-A/B User Guide V1.0には記載がないのですが、V1.2には記載されています。それによると、「Positioning status」が「The GNSS scan timed out and failed to obtain the location.」になっていました。