LoRaWan
AT プロトコル定義書

Ver. 1.5

RFLink Co.,Ltd.

更新履歴
No

内容

日付

更新者

備考

1

新規作成

2018/10/02

工藤

Ver. 1.0

2

AT+ADR コマンドの追加

2018/10/15

工藤

Ver. 1.1

2018/11/1

工藤

Ver. 1.2

2018/11/13

工藤

Ver. 1.3

2023/04/06

工藤

Ver. 1.4

2023/04/10

工藤

Ver. 1.5

項番のふり直し
3

応答メッセージの追加
AT コマンド設定値読み出し方法の追記

4

周波数設定機能を追加
ラズパイへの応答種別の追加

5

バイナリ生データ送信用コマンドを追加(AT+SENDH)

6

AT+SENDH の誤記を修正

2目次
1. 全体構成とインターフェース .............................................................................................................. 4
1.1 全体構成イメージ ....................................................................................................................... 4
1.2 インターフェース ....................................................................................................................... 5
1.2.1

シリアル通信 ...................................................................................................................... 5

1.2.2

リセット信号（ハードウェアリセット） ................................................................................... 5

2. スタートアップシーケンス................................................................................................................. 63. AT コマンド .................................................................................................................................. 73.1

基本フォーマット ...................................................................................................................... 73.1.1

ラズパイ → RM92A/C モジュール .......................................................................................... 73.1.2

RM92A/C モジュール → ラズパイ .......................................................................................... 83.2

コマンド ................................................................................................................................. 93.2.1

ATZ .................................................................................................................................. 93.2.2AT+VER ............................................................................................................................ 9

3.2.3

AT+MODE ......................................................................................................................... 93.2.4

AT+TXP .......................................................................................................................... 10

3.2.5AT+DEVEUI .................................................................................................................... 11

3.2.6

AT+DEVADDR ................................................................................................................. 11

3.2.7AT+APPEUI ..................................................................................................................... 123.2.8AT+APPKEY .................................................................................................................... 12

3.2.9AT+NETID ...................................................................................................................... 13

3.2.10 AT+APPSKEY ................................................................................................................. 14
3.2.11 AT+NWKSKEY ............................................................................................................... 14
3.2.11 AT+ADR........................................................................................................................ 15
3.2.12 AT+DR ......................................................................................................................... 16
3.2.13 AT+START .................................................................................................................... 16
3.2.14 AT+SENDB .................................................................................................................... 17
3.2.15 AT+CH.......................................................................................................................... 18
3.2.16 AT+SENDH.................................................................................................................... 19
4. その他 ....................................................................................................................................... 203

1. 全体構成とインターフェース
1.1 全体構成イメージ【Node】【GateWay】
RM92A/C <-> ラズパイ
接続用ボード（キューイテック）

UART_TX
920MHz帯
LoRa

RM92A/C(STM32L151)

UART_RX

ラズパイ

RM92A/C Reset4

1.2 インターフェース

1.2.1 シリアル通信
シリアル通信設定は以下です。
BaudRate

115,200 bps

Data-Bit

8bit

Stop-Bit

1bite

ParityNone

Flow-ControlNone※Raspberry Pi

ボードと接続して使用する場合の例

Raspberry Pi 変換ボード GPIO ピン●Raspberry Pi からの送信

UART_TX

Pin#8(GPIO14)●Raspberry Pi への受信

UART_RX

Pin#10(GPIO15)

1.2.2 リセット信号（ハードウェアリセット）
RM92A/C モジュールをハードウェアリセットする際には、以下のタイミングで信号制御を行ってください。
常時 High 信号、リセット時のみ、最低 100usec Low に落としてから High に戻してください。
リセット信号の GPIO モードは、一般的な出力モードで大丈夫です。

リセット信号 GPIO ピン
RESETPin#40(GPIO21)

Min 100usec
Low Signal

5

2. スタートアップシーケンス
LoRaWan モジュールとラズパイ間の、主な起動シーケンスを以下に示します。

ラズパイ

RM92A/CPower ON

起動完了＆各種初期化etc

各種初期化etc

プロセス開始（以下今回プログラムシーケンス）
ここでOK<CR><LF>が返ってこなかった場合数秒置いて再度送って応答を待ってください。

AT<CR><LF>

AT Command
RM92A/C起動確認

OK<CR><LF>

Reply

RF設定（終わるまで繰り返し）
AT Command
RF設定

AT+ *** <CR><LF>

AT解析・設定
OK<CR><LF> etc.

AT Command
スタート

Reply

AT+START<CR><LF>

運用開始

運用開始

運用（主にデータ送信の繰り返し）
AT Command
データ送信

AT+ *** <CR><LF>

AT解析・設定
OK<CR><LF> etc.

Reply
LORA送信

RM92A/Cをソフトウェアリセットする場合には、ATZ＜CR><LF>を出力してください。

AT Command（ATによるソフトウェアリセット）

ATZ<CR><LF>

OK<CR><LF> etc.

Reply

6

3.

AT コマンド

3.1

基本フォーマット

3.1.1 ラズパイ → RM92A/C モジュール<CR><LF>は、AT コマンドの末尾に必ず付加します。

AT-CommandCR

LF◆AT コマンドフォーマット仕様
コマンドパターン

説明例

AT

RM92A/Cとのシリアル通信確認用。

AT

通信が確立しているとOKを返します。
ATZ

RM92A/Cのソフトウェアリセット。

ATZ

コマンドを受け付けたところでOKを返してからリセットします。
AT+XXX?

ATコマンドのヘルプを返します。

AT+APPEUI?

AT+XXX

応答不要のATコマンドのフォーマットです。

AT+START

AT+XXX=<value>

パラメーターを必要とするATコマンドの要求フォーマ

AT+NWKID=13ットです。
AT+XXX=?

各種ATコマンドの設定値を返します。

AT+MODE=?

7

3.1.2 RM92A/C モジュール → ラズパイ
応答フォーマットも、末尾に必ず<CR><LF>が付加されます。

Reply

CR

LF

◆応答一覧
「Reply」部分には、以下応答パターンが入ります。
応答パターン

説明

パラメーター

パラメーター値を返す時の応答です。

OK

コマンドが正常に受け入れられたときに返される応答です。

AT_PARAM_ERROR

異常なコマンドパラメータを受けたときに返される応答です。

AT_START_ERROR

ホストからSTARTコマンドを受け取っていないときにデータを送信しようとしたときに返される応答です。

AT_CS_ERROR[RSSI]

キャリアセンスエラーが発生した場合に返される応答です。

AT_BUSY_ERROR

処理中でATコマンドを受け付けられない場合に返される応答です。

AT_TX_DONE

ユーザーデータの無線送信が完了した時に返される応答です。

AT_TX_TIMEOUT

トランシーバで無線送信が完了しないままタイムアウトとなった場合に返される応答です。タイムアウト時間は、送信開始から３秒間です。

AT_ACK_OK

GateWayからACKを受信した際に返します。

AT_ACK_TIMEOUT

GateWayからACKを受信できなかった際に返します。
タイムアウト時間は、AS923の場合、１秒～３秒の間のランダム値です。

83.2

コマンド

各コマンドには必ず末尾に<CR><LF>を付加してください。

3.2.1 ATZ
RM92A/C モジュールのソフトウェアリセットを行います。
OK の応答を返した後にリセットします。
RM92A/C モジュールをリセット後は、2～3 秒待ってからコマンド操作を再開してください。

Command“ATZ<CR><LF>”

Return“OK<CR><LF>”

3.2.2 AT+VER
RM92A/C モジュールのファームウェアバージョンを取得します。

Command“AT+VER=?<CR><LF>”

Return"[FIRMWARE_VERSION]<CR><LF>""OK<CR><LF>"

3.2.3 AT+MODE
オペレーションモードを設定・読み出します。

※ABP 仕様前提のため現時点では T.B.D[Get]
Command“AT+MODE=?”

Return" [Param_x]<CR><LF>""OK<CR><LF>"
Param_x: 設定されているオペレーションモード (1byte キャラクタで出力)[Set]
Command“AT+MODE=Param_x”
Param_x: 設定したいオペレーションモード (1byte キャラクタで出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【設定値】

0:ABP 1:OTAA【デフォルト】

0 (ABP)93.2.4 AT+TXP
送信出力パワーを設定・読み出します。

[Get]
Command“AT+TXP=?”

Return" [Param_x]<CR><LF>""OK<CR><LF>"
Param_x: 設定されている出力パワー値 (1byte キャラクタで出力)[Set]
Command“AT+TXP=Param_x”
Param_x: 設定したい出力パワー値 (1byte キャラクタで出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【設定値】

0：13dBm
1：11dBm
2：9dBm
3：7dBm
4：5dBm5：3dBm6：1dBm【デフォルト】

0 (13dBm)

10

3.2.5 AT+DEVEUI
デバイス EUI を設定・読み出します。

[Get]
Command“AT+DEVEUI=?”

Return" [Param_xxxxxxxxxxxxxxxx]<CR><LF>""OK<CR><LF>"
Param_xxxxxxxxxxxxxxxx: 設定されているデバイス EUI (8byteHEX を ASCII で出力)

[Set]
Command“AT+DEVEUI=Param_xxxxxxxxxxxxxxxx”
Param_xxxxxxxxxxxxxxxx: 設定したいデバイス EUI (8byteHEX を ASCII で出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【デフォルト】0101010101010101

3.2.6 AT+DEVADDR
デバイスアドレス を設定・読み出します。

[Get]
Command“AT+DEVADDR=?”

Return" [Param_xxxxxxxx]<CR><LF>""OK<CR><LF>"
Param_xxxxxxxx: 設定されているデバイスアドレス (4byteHEX を ASCII で出力)

[Set]
Command“AT+DEVADDR=Param_xxxxxxxx”
Param_xxxxxxxx: 設定されているデバイスアドレス (4byteHEX を ASCII で出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【デフォルト】01010101

113.2.7 AT+APPEUI
アプリケーション EUI を設定・読み出します。

[Get]
Command“AT+APPEUI=?”

Return" [Param_xxxxxxxxxxxxxxxx]<CR><LF>""OK<CR><LF>"
Param_xxxxxxxxxxxxxxxx: 設定されているアプリケーション EUI(8byteHEX を ASCII で出力)

[Set]
Command“AT+APPEUI=Param_xxxxxxxxxxxxxxxx”
Param_xxxxxxxxxxxxxxxx: 設定したいアプリケーション EUI(8byteHEX を ASCII で出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【デフォルト】0101010101010101

3.2.8 AT+APPKEY
アプリケーション KEY を設定・読み出します。

[Get]
Command“AT+APPKEY=?”

Return" [Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]<CR><LF>""OK<CR><LF>"
Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: 設定されているアプリケーション KEY (16byteHEX を ASCII で出力)

[Set]
Command“AT+APPKEY=Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: 設定したいアプリケーション KEY (16byteHEX を ASCII で出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【デフォルト】01010101010101010101010101010101

12

3.2.9 AT+NETID
ネットワーク ID を設定・読み出します。

[Get]
Command“AT+NETID=?”

Return" [Param_xxxxxxxx]<CR><LF>""OK<CR><LF>"
Param_xxxxxxxx: 設定されているネットワーク ID (4byteHEX を ASCII で出力)

[Set]
Command“AT+NETID=Param_xxxxxxxx”
Param_xxxxxxxx: 設定したいネットワーク ID (4byteHEX を ASCII で出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【デフォルト】01010101

13

3.2.10 AT+APPSKEY
アプリケーションセッション KEY を設定・読み出します。

[Get]
Command“AT+APPSKEY=?”

Return" [Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]<CR><LF>""OK<CR><LF>"
Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: 設定されているアプリケーションセッション KEY (16byteHEX を ASCII で出力)

[Set]
Command“AT+APPSKEY=Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: 設定したいアプリケーションセッション KEY (16byteHEX を ASCII で出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【デフォルト】01010101010101010101010101010101

3.2.11 AT+NWKSKEY
ネットワークセッション KEY を設定・読み出します。

[Get]
Command“AT+NWKSKEY=?”

Return" [Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]<CR><LF>""OK<CR><LF>"
Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: 設定されているネットワークセッション KEY (16byteHEX を ASCII で出力)

[Set]
Command“AT+NWKSKEY=Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
Param_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: 設定したいネットワークセッション KEY (16byteHEX を ASCII で出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【デフォルト】01010101010101010101010101010101

14

3.2.11 AT+ADR
LoRaWan-ADR 機能の使用有無を設定します。

※GateWay の機種に依存する可能性あり

この機能を「ON」にすると、「AT+DR」の設定はできません。

[Get]
Command“AT+ADR=?”

Return" [Param_x]<CR><LF>""OK<CR><LF>"
Param_x: 設定されている ADR 設定値 (1byte キャラクタで出力)[Set]
Command“AT+ADR =Param_x”
Param_x: 設定したい ADR 設定値 (1byte キャラクタで出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"

【設定値】

0：未使用
1：使用

【デフォルト】

1 (使用)

15

3.2.12 AT+DR
データレートセットを設定・読み出します※GateWay の機種に依存する可能性あり「AT+ADR」が「ON」でないと、設定が反映されません。

[Get]
Command“AT+DR=?”

Return" [Param_x]<CR><LF>""OK<CR><LF>"
Param_x: 設定されているデータレートセット値 (1byte キャラクタで出力)[Set]
Command“AT+DR =Param_x”
Param_x: 設定したいデータレートセット値 (1byte キャラクタで出力)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【設定値】【デフォルト】

0：DR0

SF12 - BW125(250bps)

1：DR1

SF11 - BW125(440bps)

2：DR2

SF10 - BW125(980bps)

3：DR3

SF9- BW125(1,760bps)

4：DR4

SF8- BW125(3,125bps)

5：DR5SF7- BW125(5,470bps)

6：DR6SF7- BW250(11,000bps)

2 (SF10 – BW125)

3.2.13 AT+START
システム運用を開始します。

Command“AT+START<CR><LF>”

Return“OK<CR><LF>”

16

3.2.14 AT+SENDB
バイナリデータ送信を行います。
このコマンドは、AT+SENDB=以降、バイナリ送信してください。

Command“AT+SENDB=(STX) + (Length) + (Data) + (ETX)”
No

フィールド名内容

サイズ(byte)

1

STX

開始信号 “02” 固定

2

2

LengthData 部長さ

2“01”～”FF”（HEX を Ascii 出力）
3

Data

送信データ

1～255

（HEX を Ascii 出力）
4ReturnETX

終端記号 “03” 固定

2"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"“AT_START_ERROR<CR><LF>"“AT_CS_ERROR[RSSI]<CR><LF>（[RSSI]にはキャリアセンス時の RSSI 値が出力されます。

【Example】「Hello!World!」と送信したい場合

AT+SENDB=020C48656C6C6F21576F726C642103<CR><LF>

17

3.2.15 AT+CH
周波数テーブルを設定・読み出します。

※GateWay の機種に依存する可能性あり[Get]
Command“AT+CH=?”

Return" [ch1] [ch2] [ch3] [ch4] [ch5] [ch6] [ch7] [ch8] <CR><LF>""OK<CR><LF>"
chx: 設定されているチャンネル値 (2byte キャラクタで出力 : “24”～”61”)[Set]
Command“AT+CH =chx”
chx: 設定したいチャンネル値 (2byte キャラクタで出力 : ”24”～”61”)

Return"OK<CR><LF>""AT_PARAM_ERROR<CR><LF>"【設定値】【デフォルト】

24：920.6 MHz

25：920.8 MHz

26：921.0 MHz

27：921.2 MHz

28：921.4 MHz

29：921.6 MHz

30：921.8 MHz

31：922.0 MHz

32：922.2 MHz

33：922.4 MHz

34：922.6 MHz

35：922.8 MHz

36：923.0 MHz

37：923.2 MHz

38：923.4 MHz

39：923.6 MHz

40：923.8 MHz

41：924.0 MHz

42：924.2 MHz

43：924.4 MHz

44：924.6 MHz

45：924.8 MHz

46：925.0 MHz

47：925.2 MHz

48：925.4 MHz

49：925.6 MHz

50：925.8 MHz

51：926.0 MHz

52：926.2 MHz

53：926.4 MHz

54：926.6 MHz

55：926.8 MHz

56：927.0 MHz

57：927.2 MHz

58：927.4 MHz

59：927.6 MHz

60：927.8 MHz

61：928.0 MHz

ch5:35

ch7:37“3132333435363738”(ch1:31 ch2:32

ch3:33

ch4:34

ch6:36ch8:38)18

3.2.16 AT+SENDH
データモード（バイナリ生データ送信を行うモード）に切り替えます。
OK の応答を返した後に切り替わります。
モード切り替え後は、AT コマンドでデータを送るのではなく、バイナリデータをそのまま転送します。
（１回における転送最大サイズは 64byte）

データモードから、通常のコマンドモードに戻る場合には、「+++」を UART 入力することにより、データモードを終了してコマンドモードに戻ります。

Command“AT+SENDH<CR><LF>”

Return“OK<CR><LF>”（シーケンス例）※【TXD】はホストから UART 出力した時のデータ①【TXD】 AT+SENDH<CR><LF>→コマンドモードからデータモードに切り替え②【TXD】 {0x01}{0x02}{0x03}{0x04}{0x05}③ ②を LORA 送信④【TXD】+++→データモードからコマンドモードに戻る

19

4.

その他

サーバーアプリとのインターフェイス（データフォーマット）には関与していません。

20

株式会社アールエフリンク[本社]〒156-6018
東京都渋谷区恵比寿 4-20-3 ガーデンプレイスタワー18F[恵比寿開発室]〒150-0013
東京都渋谷区恵比寿 1-19-15

ウノサワ東急ビル 5F[TEL]

03-6811-1281

URL

http://www.rflink.co.jp

21