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


前回までは

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

今回のゴール

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

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

LoRaWANに使用する機材等

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

使用部材

基地局(Gateway)

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

Raspberry PiにLoRa/GPS HATを結合

移動端末(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の設定

基地局(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はダウンロードした時点で修正済みなのかもしれません。

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

移動端末(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モジュール関連

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

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

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.