LoRaとは
LoRa:400~1000MHzあたりの超波長を使ってデータを通信する技術でLPWA(Low Power Wide Area)の一種。フランスで最初に開発され、現在ではアメリカのSemtech社がLoRa通信をするためのチップを専売している。
LoRa通信はIoTに最適
BluetoothやLTE, Wifiに比べて使っている波長が長いため、LoRa通信の特徴として以下のような特徴が挙げられる。
デバイス電力消費量が低い
LoRa通信はデータ送信をしている時以外はデバイスとゲートウェイは接続をしていない。データを送信するときだけLoRaチップが動く。データの送信は双方向可能で、例えばクラウドからデータを送りたい場合は決まった時間にLoRaチップを数秒間だけ起動させてその間にクラウドからデータを送信するという仕組みになっている。データ送信は意外と電力を消費するのでマイコンのDeepSleepだけだと消費電力が抑えきれない。LoRaとDeepSleepを実装したデバイスだとボタン電池で長期間動いたり太陽電池で半永久的に動くようになる。
遠くまで届く
超波長を使っているので送れるデータ量が少ない分、エネルギー(dBm)の減衰が少ない。結果として同じエネルギーで電波を送信した場合に他の通信技術に比べて長距離まで届く。通信技術にはLink Budgetという概念がある。これはわかりやすく例えると遠くから人が何かを言った時に距離が遠かったり間に遮蔽物があるとその人の言ったことがわからなくなる現象と一緒で、ある程度の距離や直線的な見通しの良さが求められるということだが、この距離がLoRaは他の通信技術に比べて圧倒的に長い。
例えば下記の動画9分頃のテストだと(実際の計測データではなく理論的な値)、LTEだと100kmしか届かないのに対しLoRaだと10倍の1000km届く計算になっている。
※ちなみにセンサー機器でよく見るぶっといRG-58ケーブルは仮にケーブル長が10メートルあたり8dBmの減衰となるので、ケーブル長が200メートル以上だとデータ通信ができないということになる。
ただやりとりできるデータ量が少ない
これも物理的な性質によるものなのでどうやっても改善はできないのだが、LoRaの場合最大で50kbpsくらいしかでない。さらにそれを複数のデバイスで食い合うので、1デバイスあたり数bpsになるケースもある。ただIoTの場合やりとりするデータはごくごく微量なので問題にならない。ちなみに熟練者のモールス信号が20bpsなので、数bpsと言ったらそれよりも少ない。
導入例①
例えば個人的にLoRaを使ったIoTをやりたい場合を考える。大体Wifi✖︎ラズパイで結果を自作のWebアプリやAWSのS3でホストしたWebサイトに表示させたいというのが、初手だと思う。ただそこに「Wifiが届かない距離にデバイスを置きたい」とか「デバイスがコンセントの届く範囲外でモバイルバッテリーを頻繁に取り替えるのが面倒」とかいう問題が出てくる。そこでその人が次にとるべき一番簡単な手は、
①LoRaチップを内蔵したボードを2つ買う(センサー用とゲートウェイ用)
②Arduino IDEでLoRa通信用のスケッチを二台の機器にフラッシュする
③センサーデバイスを所定の場所においてゲートウェイ用デバイスは自宅のWifiが届く範囲に置いてゲートウェイ用デバイスでクラウドにデータを送信
ということになる(もちろんゲートウェイ用デバイスはWifi機能を備えている必要がある)。当たり前かもしれないが、LoRaを使うのに必要な費用はこの場合Semtech社のチップ代だけで、比較的安くLPWAの強みを自分のIoTに導入できる。
参考:
導入例②
個人がLoRa通信を趣味で行う場合は上記の例でいいのだが、デバイス数が増えてセキュリティもしっかりした本格的なゲートウェイを導入しようとなるとLoRaWANが必要になる。LoRaWANはLoRaAllianceという団体が標準化したLoRa通信でLoRaWANを利用するには事業者のLoRaWANゲートウェイを料金を払って使うか自分でゲートウェイを立てるかのどちらかになる。後者で有名なのがスイス初のオープンソースTTN(The Things Network)だ。個人がいわばボランティアでたてたゲートウェイを繋いでLoRaネットワークを作っており、無料だが、日本でのカバー率は下記のように狭いので、自分でゲートウェイを立てる必要があるかもしれない。
参考:
ちなみにヨーロッパは以下。LoRa発祥のフランスやTTN発祥のスイス、オランダあたりはかなりネットワークが発達している。
さいごに
こういった低レベルの技術の話は調べるのも、読み応えある記事を書くのも難しいが、少しでも知識の整理に役立てば幸いだ。
おまけ
下の動画の19:41あたり、村田製作所のLoRaチップ(動画当時最小)を備えたRAMが20KBの極小モジュールをスタートアップの人が説明している(5行ほどの軽いJavaScriptと行っているのでおそらくMongooseOSか)。こういうデバイスからするとFreeRTOSなんかは高級なプログラムなんだろう。IoTは奥が深い…。
※ちなみにそのチップはおそらくこれ。
参考文献(記事内で紹介していないもの)