LoginSignup
9
9

More than 5 years have passed since last update.

LoRaWANクラスAを正しく理解する

Last updated at Posted at 2018-02-08

クラスAの基本

LoRaWANの通信プロトコルについて調べると、方式は非常に簡単であることがわかるが、どれも説明不十分で詳細を理解できないことが多い。

LoRaWANの基本的な通信は、クラスAとして定義されたプロトコルを使用する。クラスAでは、かならずエンドデバイスからデータを送信し、その後データを受信する単純なプロトコルとなっている。その説明では、下のような図をよく見かける。
この図の説明がどれもよろしくない。

image.png

※LoRaWAN仕様書1.0.2から引用

錯覚1

先ほどの図を見ると、送信後にRX1とRX2が2回送られてくるのではないかと錯覚する。
これが紛らわしい。RX1とRX2は、受信中を示しているのではなく、受信を待機している期間を示している。この、RX1とRX2を受信スロットと呼ぶ。そして、ゲートウェイは、RX1とRX2のいずれか片方の時間帯に下りデータを送信する。

RX1で受信した場合、RX2は受信しない
image.png

RX1で受信しなかった場合、RX2で受信する
image.png

受信スロット 説明 受信周波数
RX1 最初の受信待機の期間。送信完了後1秒後(RECEIVE_DELAY1)に開き、受信ウィンドウ時間後に閉じる。 デフォルトでは直前の上りデータの周波数と同じである必要がある。ただし、ネットワーク側からの指示(MACコマンド)により、受信周波数を変更することが可能。
RX2 2番目の受信待機の期間。送信完了後2秒後(RECEIVE_DELAY2)に開き、受信ウィンドウ時間後に閉じる。 AS923のデフォルトでは923.2MHzが使用される。ただし、ネットワーク側からの指示(MACコマンド)により、受信周波数を変更することが可能。

錯覚2

さらに、錯覚するのは、下りデータの受信時間だ。
最初の図を見ると、RECEIVE_DELAY1とRECEIVE_DELAY2の期間の1秒しか受信できないのではないかと錯覚する。つまり、1秒に収まるデータ量しか受信できないのではないかと勘違いする。
image.png
ところが、LoRaWANの規格では、最大送信時間は3秒なので、1秒を超えたデータ量を受信することができる。
つまり、RX1の期間に受信を開始した場合、受信が終わるまで最大3秒間は受信を続けることができる。その場合は、RECIVE_DELAY2の時間を過ぎてしまうので、エンドデバイスはRX2スロットは無視して、RX1の受診を継続することになる。

RX1で長い下りデータを受信
image.png

RX2で長い下りデータを受信
image.png

まとめ

・クラスAは、LoRaWANの基本クラスで、エンドデバイスから送信しないと、受信できない。
・RX1、RX2は受信スロットと呼び、エンドデバイスが受信待機する期間を表す。
・エンドデバイスは、RX1スロットで必ず受信を待機し、データを正常に受信した場合は、RX2スロットを開かない。
・RX1スロットでデータが来なかった場合、または他人宛てのデータを受診した場合は、RX2スロットを開く。
・受信できるデータの最大時間は3秒。
・RX1、RX2ともに受信スロットの周波数はMACコマンドでネットワーク側から変更可能。

また、ゲートウェイがRX1スロットで送信するのか、RX2スロットで送信するのかは、LoRaWANネットワーク側で制御する。例えば、RX1スロットで使用する周波数が混雑している場合は、RX2スロットを使うなどの制御が考えられる。

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9