SenseWayさんにLoRaWANスターターキットをいただいたのでさっそく試してみました。
結論として、とても簡単にLoRa通信を試すことができました。
順番としては以下の流れで、実際の設定やプログラミングについては公式のマニュアルが整備されていますのでここでは割愛します。
1. SenseWay Mission Connectにてユーザ登録およびGWとエッジデバイス(上記写真の左と右のデバイス)をそれぞれ利用登録(GWの有効化にはSenseWayへの登録申請が必要)
2. GWをインターネットにつなげるため、LANかWi-Fiに接続
3. ArduinoからLoRa通信を行うためのスケッチ作成 & 実行
4. MQTTにてSenseWayのサーバからデータを受信する
これにより「Arduino -> GW -> SenseWayネットワークサーバ -> SenseWay MQTTブローカ -> ユーザ」の流れでエッジデバイス(Arduino)
で取得したデータがLoRa通信を経てSenseWayのサーバに蓄積され、ユーザが取得することができました。
Mosquittoクライアントで実際に取得したデータは以下のようになります。
$ mosquitto_sub -h mqtt.senseway.net -p 1883 -u <SenseWayのID> -P <パスワード> -t 'lora/<SenseWayのID>/+/rx' | jq . { "gw": [ { "date": "2019-04-07T10:29:45.287474Z", "rssi": -9, "snr": 11.8, "gwid": "xxxxxxxxxxxxxxxx" } ], "mod": { "fq": 923.2, "cnt": 28, "data": "09a4", "mt": "ucnf", "devEUI": "xxxxxxxxxxxxxxxx", "dr": "2", "port": 13 } }
- 関連資料・記事
[Mosquitto] Mosquittoインストール手順(Ubuntu 16.04)
[Mosquitto] MosquittoのPub/Sub通信におけるQoS毎の通信フロー
参考サイト
- LoRaWAN技術情報(Qiita)
- いまさら聞けないLoRaWAN入門 (MONOist)