2020/08/24

[第1回]LoRa IoT入門シリーズの概要

iotrola

概要

本シリーズはLoRaという無線通信規格を使い、IoTに入門してみたいので、それをまとめたものになります。
昨今では、IoTやDigital Twinなどという言葉に代表されるように、インターネット技術の応用範囲が広がってきているのを感じています。

私(筆者)は、Webアプリや業務系アプリを開発するソフトウェアエンジニアでしたが、

  • 画面やConsoleだけでなく、もっとハードウェアよりのものも動かしてみたい
  • 今後を考えて、流れにのってみた方が良いかな

みたいな動機から、今回の入門をやってみようと思い立ちました。

実際にやることですが・・以下のような感じです。

  • 温度・湿度センサーから取得したデータを、ThingSpeakにアップロードします
    • Arduino+センサーから温度・湿度を取得して、LoRaを使ってServer(Gateway)に送信
    • LoRaサーバーは送信された、温度・湿度の情報をHTTPでクラウドにアップロード

正直、Openwave社が提供しているマニュアル通りに設定するだけなので、
特段プログラミングしたりすることはほとんどありませんでした。

とはいえ、今回実施したことで、LoRaやIoTに関する開発フローの理解が深まったと感じています。

LoRaとは?

そもそもLoRaとは何か?を簡単に説明します。

簡単に説明すると、低電力(電池や小型バッテリーなど)で動く、無線通信技術のことです。

以下のようなメリットが挙げられます。

  • 電力が上手く確保・供給できないような場所(山奥とか倉庫とか?)にセンサーを設置して、情報を集めることができるようになります。
  • また、低電力=低コストなので、大量にセンサーを設置する場合でも、運用コストの低減につながります。

準備するもの

この記事を執筆中にはすでに商品ページが消えてしまっていますが・・
私が購入したものは必要なものが全てセットになっている、スターターキットというものでした。
RSコンポーネンツというIoTの部品を専門に取り扱っているECサイトから以下のものを購入しました。

スターターキットに含まれていたものは以下になります。

↓↓実際に届いた商品↓↓

starter-kit1-min.jpg
starter-kit2-min.jpg

開発手順

以下のような手順で実施しました。

  1. LG01(Gateway)のwifiの設定
  2. Arduino IDEを使って、LG01の動作確認
  3. Arduino IDEを使って、LoRa Mini DevとLG01の通信を検証
  4. ThingSpeakのアカウントの作成
  5. DHT11(湿度・温度センサー)とLoRa Mini Devをつなぎ、LG01を経由してThingSpeakにデータをアップロードする

実際には、No.2とNo.3のStepはなくても動きますが、いきなりNo.5を実施して動かなかった経緯があるので、検証をかねてNo.2とNO.3を実施しました。
おかけで、より深く理解することができたので、No.2とNo.3のStepを踏むことをお勧めします。

第1回は以上になります。
第2回以降で、No.1から順にキリの良いところまで記事にしていきたいと思います。