LoRaWANについて調べてみた

参考にした資料

LoRaWAN 1.0.3仕様書(英文)

https://lora-alliance.org/resource-hub/lorawantm-specification-v103

この資料が一番正しいのですが、流石に読むのが辛いので、他の資料で全体的に調べてからピンポイントで確認する用途に使ったほうがいいです。

本文では引用時に「仕様書」と記述します。

LPWAを牽引する「LoRa」の概要と利用動向

http://www.soumu.go.jp/main_content/000450875.pdf

総務省の会議で利用された、LoRaのチップを製造するセムテック・ジャパン合同会社の資料。全体の概要を知るためには一番いい資料だと思います。

本文では引用時に「概要」と記述します。

What is LoRaWAN(英文)

https://lora-alliance.org/resource-hub/what-lorawantm

LoRa Allianceオフィシャルの説明資料です。「概要」でも引用されており、英文ではありますがわかりやすい資料です。

本文では引用時に「What」と記述します。

LoRaWAN端末番号の設定(引用なし)

「概要」と同じく総務省の会議で利用された資料です。データ送信手順などを「概要」より詳しく説明しています。

LoRaとは?

LoRaとは電波の変調方式で、FM放送とかAM放送みたいなものです。特徴として長距離を低電力で通信するために設計されています。ただしLoRaWANはLoRa変調の他にFSK変調も利用可能ですので、すべてのLoRaWANがLoRa変調を資料しているとは限りません。

また、LoRa変調はLoRaWAN以外でも利用できますので、LoRaWANではないLoRa通信も存在しているので注意しましょう。

日本だと920MHz無線モジュールやLoRaと記述されているが、LoRaWANと書いていないものについては、LoRa変調を利用しているが、LoRaWANと互換性のない独自通信規格です。

用途が固定されており、該当モジュールで問題がない場合にはLoRaWANではなく、独自通信規格の方が日本の場合、安価で購入できるとは思います。

LoRaWANとは?

「Waht」8ページ

LoRaWANとは通信プロトコルとシステムアーキテクチャを定義したものです。通信物理層はLoRa変調、もしくはFSK変調を利用し、長距離通信に対応しています。

アーキテクチャではノードのバッテリー寿命やサービス品質、セキュリティーなどを定義しています。

End Nodes

センサーなどを利用してデータを収集したり、アプリケーションサーバーからのデータを表示したりする端末です。

日本だと単純にノードと表記されていることが多いと思います。

Concentrator/Gateway

ノードと実際に通信をするゲートウェイ装置です。ノードと上位のネットワークサーバーとのやり取りを転送する役目を持っています。

LoRaWANの場合、ノードとアプリケーションサーバー間が暗号化されているので、ゲートウェイは通信されている内容を確認することはできません。

また、ゲートウェイもノードと同等の機能を持っている場合が多く、自身で取得したセンサー情報などを上位にアップすることが可能です。この場合にはLoRa変調などの無線通信を行わず、直接上位サーバーに送信されます。

ゲートウェイは自分で設置することも可能ですし、ネットワークサーバーが提供している公開ゲートウェイもあります。ただし、現状ネットワークサーバーが提供している公開ゲートウェイの数は非常に少なく、自分で設置する必要がある場合がほとんどです。

Network Server

ここがわかりにくいところなのですが、ゲートウェイが接続されるネットワークサーバーは自分で構築することも可能ですし、無償サービスの他、商用サービスもあります。

接続するゲートウェイが、利用したいネットワークサービスに接続されている必要があるので注意してください。また、特定のノードしか接続を許可しないゲートウェイも存在するのでご注意ください。

(商用)SORACOM Air for LoRaWAN

https://soracom.jp/services/air/lora/

日本で一番有名な商用ゲートウェイだと思います。現在はKDDIグループに所属しており、積極的に情報を発信しています。

https://lora-space.soracom.jp/map

上記で共有利用可能なゲートウェイがわかりますが、渋谷とか新宿にはたくさん設置されています。1つだけだといつなくなるか心配ですが、たくさん設置されている人はわざわざゲートウェイを新規で設置する必要はなさそうですね。

自分だけが使えるゲートウェイと、SORACOMユーザー全員が使える公開ゲートウェイを選ぶことができます。

端末ごとにネットワークサーバーに関する費用がかかるので、しっかりしたサポートがあるのの反面、もろもろ費用はかかってきます。

(無償)The Things Network

https://www.thethingsnetwork.org/country/japan/

無料で使える互助会的なサービスネットワークで、TTNと表記されることが多いです。オープンソースで公開されており、同じものを自作することも可能です。

SORACOMのような商用ネットワークサーバーを利用しない場合、まずはTTNに接続することになると思います。

Application Server

ネットワークサーバーはノードとの通信を行いますが、ネットワークサーバー自体ではそのデータを収集するだけで、特殊な処理を行いません。

そこで外部のアプリケーションサーバーと連携して、ノードからのセンサーデータなどを処理を行います。

図ではノードとアプリケーションサーバー間が、暗号化されてセキュアだと書いてありますが、ノードからの暗号化通信をネットワークサーバーが復号化している場合もありますのでネットワークサーバーの実装次第だと思います。この場合でもネットワークサーバーとアプリケーションサーバーはSSLなどで別途暗号化されていますので外部からはセキュアですが、ネットワークサーバーが乗っ取られた場合には通信内容が漏洩してしまいます。

通信クラス

「概要」の9ページから詳細な説明があります。基本はクラスAしか使わないと思いますので、概要だけ説明します。

「What」10ページ

クラスA

一番基本的なクラスで、ノード側から通信を行い、送信後にゲートウェイからの受信を行います。一番バッテリー消費が少ないクラスです。

反面送信をしないと受信をしないので、1日1度しか送信をしないノードの場合、受信タイミングが遅れてしまいます。また、送信タイミングもノード側の時計に依存しますので、1日に何秒もずれるような時計を使っている場合、どんどん送信時間もずれてきてしまいます。

ノード側が一定間隔で送信するため、ほぼ同時に送信する端末がいた場合にはお互いに邪魔をしてしまうことがあります。

クラスB

ビーコンというキーワードが出てきたらクラスBです。ゲートウェイから定期的にビーコンを送信し、ノードがビーコンを受信したらノードからデータを送信することが可能です。

大きなデータをノードから送信する場合には、クラブBなどで他の通信がなるべく発生しないようにしたり、タイムスケジューリングをすることができます。

現状のところ検証段階のため、あまり利用されていないようです。

クラスC

このクラス以外は送信後に一定時間スリープをして省電力モードになっていますが、クラスCは送信時以外は常時受信をするクラスです。

バッテリー駆動ではなく、常時電源接続されている環境用であり、省電力を売りにするLoRaWANと矛盾しますが、遠距離通信や検証時には便利なモードです。

地域別サマリー

「What」12ページ

日本は920-925MHzと規定されていますが「ARIB STD-T108」という運用ルールがあり、実際に使える周波数はもっと狭くなります。

https://qiita.com/ammo0613/items/d952154f1195b64dc29f
LoRaWANと920MHzのルール

上記サイトにまとまっていますが「ARIB STD-T108」では920.6MHzから923.4MHzが利用できるとあります。

https://www.thethingsnetwork.org/docs/lorawan/frequency-plans.html
LoRaWAN Frequencies Overview

TTNの資料によると更に狭い周波数が記述されていました。

Uplink(ノード→ゲートウェイ)

  1. 923.2 – SF7BW125 to SF12BW125
  2. 923.4 – SF7BW125 to SF12BW125
  3. 922.2 – SF7BW125 to SF12BW125
  4. 922.4 – SF7BW125 to SF12BW125
  5. 922.6 – SF7BW125 to SF12BW125
  6. 922.8 – SF7BW125 to SF12BW125
  7. 923.0 – SF7BW125 to SF12BW125
  8. 922.0 – SF7BW125 to SF12BW125
  9. 922.1 – SF7BW250
  10. 921.8 – FSK

この中でチャンネル9と10は通常のLoRaではないので922.2MHzから923.4MHzまでの7チャンネル利用しています。

Downlink(ゲートウェイ→ノード)

  • Uplink channels 1-10 (RX1)
  • 923.2 – SF10BW125 (RX2)

クラスAの場合、ノードから送信した場合、2度ゲートウェイからの受信を待ち受けます。1度目が送信に利用したチャンネルで、2度目がAS923の送信デフォルトチャンネルである923.2MHzです。

送信確認

LoRaWANでは送信したデータを相手が受信できたか確認する機能があります。デフォルトはオフですが、Confirmed Dataと呼ばれる送信確認を受け取った場合にはACKと呼ばれる受信確認を送信します。

Uplink(ノード→ゲートウェイ)

ノードからゲートウェイにConfirmed Dataを送信した場合に、ゲートウェイが受信できたかをゲートウェイからノードにACKを送信します。

この場合にはネットワークサーバーやアプリケーションサーバーは関与しませんが、送信確認が取れているデータということは確認できます。

Downlink(ゲートウェイ→ノード)

アプリケーションサーバーからノードにデータ送信を依頼した場合、ネットワークサーバーにキューイングされており、ノードからの送信があった場合にゲートウェイがネットワークサーバーを確認し、キューイングされていた場合、ノードにデータを送信します。

ノードは受信したデータがConfirmed Dataの場合、ゲートウェイにACKを送信します。ゲートウェイはACKを受信した場合には、ネットワークサーバーを経由してアプリケーションサーバーに送信が完了した旨を連絡します。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)