2020/08/24
[第1回]LoRa IoT入門シリーズの概要
概要
本シリーズはLoRaという無線通信規格を使い、IoTに入門してみたいので、それをまとめたものになります。
昨今では、IoTやDigital Twinなどという言葉に代表されるように、インターネット技術の応用範囲が広がってきているのを感じています。
私(筆者)は、Webアプリや業務系アプリを開発するソフトウェアエンジニアでしたが、
- 画面やConsoleだけでなく、もっとハードウェアよりのものも動かしてみたい
- 今後を考えて、流れにのってみた方が良いかな
みたいな動機から、今回の入門をやってみようと思い立ちました。
実際にやることですが・・以下のような感じです。
- 温度・湿度センサーから取得したデータを、ThingSpeakにアップロードします
- Arduino+センサーから温度・湿度を取得して、LoRaを使ってServer(Gateway)に送信
- LoRaサーバーは送信された、温度・湿度の情報をHTTPでクラウドにアップロード
正直、Openwave社が提供しているマニュアル通りに設定するだけなので、
特段プログラミングしたりすることはほとんどありませんでした。
とはいえ、今回実施したことで、LoRaやIoTに関する開発フローの理解が深まったと感じています。
LoRaとは?
そもそもLoRaとは何か?を簡単に説明します。
簡単に説明すると、低電力(電池や小型バッテリーなど)で動く、無線通信技術のことです。
以下のようなメリットが挙げられます。
- 電力が上手く確保・供給できないような場所(山奥とか倉庫とか?)にセンサーを設置して、情報を集めることができるようになります。
- また、低電力=低コストなので、大量にセンサーを設置する場合でも、運用コストの低減につながります。
準備するもの
この記事を執筆中にはすでに商品ページが消えてしまっていますが・・
私が購入したものは必要なものが全てセットになっている、スターターキットというものでした。
RSコンポーネンツというIoTの部品を専門に取り扱っているECサイトから以下のものを購入しました。
スターターキットに含まれていたものは以下になります。
- Dragino LG01 (LoRaのGateWay)
- ATMega328P LoRa Mini Dev Development Board for LoRa Mini (LoRaのclient部分)
- DHT11 (湿度・温度センサー)
↓↓実際に届いた商品↓↓
開発手順
以下のような手順で実施しました。
- LG01(Gateway)のwifiの設定
- Arduino IDEを使って、LG01の動作確認
- Arduino IDEを使って、LoRa Mini DevとLG01の通信を検証
- ThingSpeakのアカウントの作成
- 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から順にキリの良いところまで記事にしていきたいと思います。
関連する記事
[第1回]LoRa IoT入門シリーズの概要
LoRaを使ったIoTの入門シリーズでやる内容の概要を説明します。
[第2回]LoRa GatewayであるDragino LG01のwifiを設定
LoRa GatewayであるDragino LG01のwifiを設定して、LG01からインターネットアクセスできるようにしてみましょう
[第3回]LoRa GatewayであるDragino LG01のLEDを点灯させてみよう
LoRa GatewayであるDragino LG01にプログラムをアップロードして、LEDを点灯してみましょう
[第4回]LoRa ClientとServerでLoRaの通信を試してみよう
LoRa Mini Dev(LoRa Client)とLG01(LoRa Server)間の通信を試してみましょう
[第5回]ThingSpeakのアカウントの作成して、データを書き込んでみよう
ThingSpeakのアカウントの作成して、HTTP APIを使って、データを書き込んでみましょう
[第6回]温度・湿度センサーの情報をThingSpeakにアップロードしてみよう
DHT11(湿度・温度センサー)とLoRa Mini Devをつなぎ、LG01を経由してThingSpeakにデータをアップロードしてみましょう