郊外地域におけるLoRa通信によるIoT機器活用(その2)


前回までは

前回(郊外地域におけるPrivate LoRa通信によるIoT機器活用(その1))では、Private LoRa通信による2点間の疎通確認を実施し、鳥取県八頭町の田園風景が広がる地域では、見通し7キロ程度の通信が可能であることを確認しました。

今回のゴール

今回は、Private LoRaではなく、LoRaWANによる通信を行います。

移動端末(Device)で収集したデータ(室温・湿度・気圧・GPS)をLoRaWAN通信でアップロードし、クラウドサービスを利用して可視化します。
下記スライドが、とても参考になりました。

第1回 The Things Network (TTN) 勉強会@柏の葉

鳥取県八頭町隼ラボの室温・湿度・気圧を可視化

LoRaWANに使用する機材等

前回使用した機材ではGPS情報の取得のみでしたが、今回は室温・湿度・気圧データも取得し、クラウドへアップします。

使用部材

基地局(Gateway)

Wifiのアクセスポイントのようなもので、移動端末からのデータを受信する機材。

Raspberry PiにLoRa/GPS HATを結合

■Raspberry Pi 3 model B
DRAGINO 高周波回路 開発キット LoRa/GPS_HAT
今後、8chに対応した製品が発売されるようですので、そちらを購入された方がよいかもしれません。
ラズパイとLoRaWAN その6、ようやく8チャンネル対応 LoRa GPS HAT for Rasbeery Pi – PG1301の技適がとれました!

低価格の8チャンネルGatewayも発売予定のようです。
ついに低価格8チャンネル LPS8 (LoRa Pico Station) LoRaWANゲートウェイ、技適奪取!

移動端末(Device)

■LoRa通信モジュール EASEL社LoRa通信モジュール「ES920LR
※今回は使用していないが、ピンヘッダが付いた「 ES920LRB」の方が便利。
ES920LRにはPrivate LoRa用ファームとLoRaWAN用ファームがあり、今回はLoRaWAN版を使用します。それぞれのファームは、(株)EASELに問い合わせをすれば対応するファームを用意していただけます。ファームの書き込みはUSBシリアルモジュール等で書き込みます。自身でのファーム書き込みが困難な場合には、 (株)EASEL でもご対応いただけるとのことです。

■マイコン ESP8266 「ESPr Developer
みちびき対応 GPSモジュール
BME280搭載 温湿度・気圧センサモジュール

サーバー・クラウドサービス

TTN(The Things Network)
無料で利用できるLoRaWANサーバー。TTNに基地局(Gateway)を登録すると、Gatewayを介して届いた移動端末のデータをTTNを経由して別のクラウドサービスへ渡すことができます。移動端末の認証等もTTNの機能で行うことができます。そのため、複数のGatewayやDeviceを管理するためにはTTNのようなLoRaWANサーバーが必要になります。
TTNに登録されているGatewayは、Gateway設置者以外の人も利用可能です。

Cayenne(カイエン)
収集したデータを可視化するクラウドサービス(今のところ無料)

TTNの設定

今回はDeviceの認証に「ABP(Activation by Personalization)」を利用します。できればOATT(Over The Air Activation)を利用する方がよいと思うのですが、今回は認証できなかったため、ABPを利用しました。
TTNのABP設定については、下記ページが参考になります。
LoRa IoTスターターキットをThe Things Networkで試す パート3:TTNでデータを見てみよう

基地局(Gateway)の設定

Getawayの設定は「エレキジャックIoT No.1(CQ出版社)」の「2万円台で始めるLoRaWANゲートウェイ」を参照しました。とてもわかりやすいです。

ネットを検索すると、dual_chan_pkt_fwd.cppとglobal_conf.json の2ファイルを修正する手順がありますが、上記手順ではglobal_conf.jsonのみの修正で対応できました。dual_chan_pkt_fwd.cppはダウンロードした時点で修正済みなのかもしれません。

<トラブルシューティング>

今回、Gateway関連で躓いたのは、ちょうどGatewayの設定をしているときに、TTNのサーバー側で障害が発生していたらしく、TTNに登録したGatewayのTrafficではデータ受信が確認できるが、ApplicationのDataではデータ受信できないという状況でした。
障害が発生していたサーバーは、「router.jp.things.network」だったようで、一時的にGatewayの global_conf.json とTTN-Console-Gateway-Settings-Routerの設定を「router.as2.thethings.network」に変更することで解決できました。
同様の内容が下記リンク先にも記載されています。
Gatewayも接続済みで、デバイスからのパケットもゲートウェイで受信しているのに,アプリケーションから見えない

移動端末(Device)の設定

LoRa通信モジュール「ES920LR」 の設定

モジュール関連ドキュメントは下記ページにまとめられています。
https://easel5.com/documents/

今回、主に参照するドキュメントは「LoRaWANソフトウェア説明書」です。
ファームの書き換えについては、「ソフトウェア開発環境説明書」に記載されています。
参考までにモジュール設定情報を記載します。

configuration setting is below
 
 Class                       : Class A
 ADR                         : OFF
 Activate                    : Activation by Personalization
 DevEUI                      : 0000000000000000
 AppEUI                      : 0000000000000000
 AppKey                      : 00000000000000000000000000000000
 DevAddr                     : (TTNのDevice Address)
 NwkSKey                     : (TTNのNetwork Session Key)
 AppSKey                     : (TTNのApp Session Key)
 Acknowledge                 : OFF
 Retry count                 : 0
 RSSI information            : OFF
 Config/Operation            : Configuration
 UART baudrate               : 115200
 Sleep Mode                  : No Sleep
 Sleep Time                  : 50
 Default Data rate           : DR2
 Output Power                : 13dBm
 UplinkDwellTime             : No Limit
 Duty Cycle                  : < 1%
 Format                      : BINARY

マイコン ESP8266 「ESPr Developer」の設定

BME280搭載 温湿度・気圧センサモジュール関連

空気品質を測定し、記録する

みちびき対応 GPSモジュール関連

Raspberry Pi3とArduinoのLoRa通信

可視化サービスCayenne(カイエン)関連

今回は、最終的にCayenneにてデータを表示します。そのため、DeviceからCayenneに対応したフォーマットでデータを送信する必要があります。LoRaWANでは1回に送信可能なデータサイズが限られるため、そのフォーマットも検討する必要がありますが、 Cayenneに対応したライブラリを利用すると簡単にフォーマットを整えることが可能です。

Cayenne LPP
CayenneLPP( Cayenne Low Power Payload) について調べてみた

TTNとCayenneの連携

連携手順については、「 第1回 The Things Network (TTN) 勉強会@柏の葉 」にも記載されています。
TTNのドキュメントの手順では、うまく接続できませんでした。

また、Cayenneにはスマートフォン用のアプリも用意されているのですが、なぜかGPSの位置情報は違う場所が表示されていました。PCのブラウザからは正しい位置情報が表示されています。

次回以降は

■TTN × IFTTT × LINE・Slack 通知

■TTNとMS Azure連携

■Raspberry PiでつくるLoRa+BLEのワイヤレス中継機

国内でのLoRaWAN活用事例

第3回 The Things Network(TTN)勉強会 @柏の葉説明資料 TTNの概要とTTN Japanの紹介 from CRI Japan, Inc.