LPWAN Loggerの使い所 その1

LPWAN Loggerの使い所 その1

LPWAN Loggerの使い所 その1

先日、当社よりLPWAN Loggerをリリースしました。 現時点では、The Things Stack V3 Community Edition と LINE Bot を介して所定の設定をすれば、自分の指定する Google Sheet にデータを(無償で)ログできる簡単なサービスです。

今回は、「LPWAN Logger はどんな時に使えるか?」について、一例をご案内したいと思います。

1. おさらい LPWAN Logger とは?

LPWAN Logger とは、

  • TTN に登録したデバイスのデータを Google スプレッドシートに記録する中継を担うサービス
  • デバイスの DevEUI と Google スプレッドシートの URL を LINE Bot から登録するだけで、 簡単にデータを記録することができる

というものです。詳細は、LPWAN Logger サイトをご覧ください。

2. 出力されるデータ

LPWAN Logger に正しく設定を行うと、自分で指定した Google Sheet に Uplink のデータが記録されます。

LPWAN Loggerによる出力結果

ご覧の通り、TTN 側で受信した際の主要なデータが保存されています。デバイス入手直後などに、アプリケーションレベルで動作結果を確認するには十分なログと思います。

Tips として、受信時刻が UTC ですので、エクセル/GoogleSheet 関数を使って日本時間に変換すると、よりリアルな動作がイメージできると思います。変換方法は、FAQ Q-08をご覧ください。

3. 活用例

3.1. コンソール画面イライラからの解放

TTNのWebコンソール画面では、飛んでいるはずのデータが表示されない事象が時々発生します。単に手元で画面がスリープしてデータが更新されないこともありますが、ネットワークが不安定で期待したようにデータが送信できないこともあるようです。無償で提供されているサービスであり、仕方がないとも思いますが、これが何度か大切なタイミングで見られなかったりすると、結構イライラします。

このイライラをなくせるというだけでも、LPWAN Logger の使いどころでは?と思っています。

3.2. データ受信具合の評価

LoRaWAN は免許不要で利用できるところが良いです。一方で、それがために、ゲートウェイ(基地局)を自前で立てて利用する場合、どの程度の範囲でデータ通信が可能なのか?を把握しておく必要があります。

そんな時も、LPWAN Logger で記録されたデータを分析することで、ざっくり評価することが可能です。

LoRaWAN 仕様では、通常の Uplink データ(センサーノードが上位へ送るパケットという言い方がわかりやすいでしょうか)は、2種類定義されています。UnconfirmedConfirmed です。多くのセンサーノードは電力消費をケチるために、初期設定では、Unconfirmed モードになっていると思います。これは、要するに上位へ送信した後、ACK を求めるか求めないか?の違いになります。

Unconfirmed モードの場合は、送信して終わりです。届いたか否かは関係ありません。 Confirmed モードの場合は、送信して ACK を求めるため、ACK が戻らない場合は(ファーム次第ですが)再送を数回行います。

電力消費を極力小さくする場合は前者、送達率をあげたい場合は後者を選択することになります。

そこで、ほぼ同じ条件(同一デバイス、同一設置環境、ただし計測時間帯は別)下で2モードの受信(送達)具合を比較することにしました。LPWAN Logger を使って、簡単にできます。

ログの中に、f_cnt というカラムがあります。これは、センサーノード側として、Join 後何回目の送信か?を表すカウンタです。Join のたびに初期化されます。この値が連続的に増えていくことが期待されます。もし値が飛び飛びの場合は、受信できていない Uplink が存在するということです。

モードf_cnt 最大値=送信回数f_cnt が連続的でない回数1 = 受信失敗回数受信成功率
Unconfirmed1742088.5 %
Confirmed5592096.4 %

実行時の環境が必ずしも同一でなく、またオフィスルータの寸断も時々発生しているため、統計的な正しい評価までは至りませんが、ざっくりといえば、当たり前ですが、再送処理が入る Confirmed モードの方が、送達可能性が高くなることが、データからも読み取れると思います。

メモ

当方のこれまでの経験から、TTN から LPWAN Logger のような外部アプリケーションの部分でデータが届かない、ということもまれに見受けます。 利用するアプリケーションの要求次第で、利用する手立てを検討することが重要と感じています。

参考


  1. より正しく言えば、f_cnt の飛び方によって失敗回数のカウントが異なります。例えば、「 f_cnt-直前f_cnt=2 」であれば 1 回失敗しています。「 f_cnt-直前f_cnt=3 」であれば、直前で 2 回失敗しています。これを考慮して失敗回数をカウントしています。 ↩︎