9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

エヌシーアイ総合システムのtaguchyです。
普段は主にBtoCのWEBシステムや、BtoB向けWEB APIの開発などをしていて、最近はIoT関連でもお仕事させていただいています。

今回はLPWA「LoRaWAN」のフレームフォーマットを自分用のメモも兼ねて記載します。

フレームフォーマット

全体

LoRaWANのフレームフォーマットは以下のようなフィールド構成となっています。

Preamble PHDR PHDR_CRC PHYPayload CRC
  • Preamble:同期用ビット
  • PHDR:物理ヘッダ
  • PHDR_CRC:物理ヘッダ整合性チェック用ビット
  • PHYPayload:実データ
  • CRC:整合性チェック用ビット(Uplink時のみ設定)

TCP/IPでも良く聞くようなフィールドが設定されていますね。

PHYPayload

PHYPayloadは以下のように分割できます。

MHDR MACPayload MIC
1 byte 1~N byte 4 byte
MHDR Join-Request MIC
1 byte 18 byte 4 byte
MHDR Join-Response MIC
1 byte 12~28 byte 4 byte
  • MHDR:MACヘッダ
  • MACPayload or Join-Request or Join-Response:デバイスとサーバー間の通信に使用される領域
  • MIC:整合性チェック用ビット

"MACPayload or Join-Request or Join-Response"はデバイスとサーバー間の通信に使用される領域になります。
"MHDR"の頭3bit(MType)の値によって以下のメッセージタイプに識別され、そのタイプによってデータサイズや用途が異なります。

MType メッセージタイプ 備考
000 Join Request OTAAでのJOIN要求
001 Join Accept OTAAでのJOIN許可
010 Unconfirmed Data Up デバイスからのデータ送信(送達確認無し)
011 Unconfirmed Data Down デバイスへのデータ送信(送達確認無し)
100 Confirmed Data Up デバイスからのデータ送信(送達確認有り)
101 Confirmed Data Down デバイスからのデータ送信(送達確認有り)
110 RFU 未使用(将来のための予約値)
111 Proprietary 独自メッセージフォーマット

MHDR

MHDRは以下のように分割できます。

MType RFU Major
3 bit 3 bit 2 bit
  • MType:メッセージタイプ(前述)
  • RFU:予備値
  • Major:メジャーバージョン

Majorの値によってエンコードの有無などが決まるそうです。
※詳しい方がいましたらご教授いただきたいです。

MACPayload

MACPayloadは以下のように分割できます。

FHDR FPort FRMPayload
7~22 byte 0~1 byte 0~N byte
  • FHDR:FRAMEヘッダ
  • FPort:ポートフィールド
  • FRMPayload:アプリケーション(センサー)固有メッセージ

FPortの値は0~224になっており、
0はFRMPayloadの値がMACコマンドのみであることを示します。
1~223はアプリケーション固有の値、
224はMACレイヤーテスト用に予約された値です。

FHDR

FHDRは以下のように分割できます。

DevAddr FCtrl FCnt FOpts
4 byte 1 byte 2 byte 0~15 byte
  • DevAddr:LoRaネットワーク上のデバイスを一意に識別する値
  • FCtrl:フレームコントロール値
  • FCnt:送信カウンタ
  • FOpts:オプション

FCtrlの内容はUplink時、Downlink時で変わります。

<記載途中>
随時追記していきます。

参考

9
5
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
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?