LNDxxxF Module AT Command Specification
LoRaWAN Transparent Transmission Module — AT Command Manual (Rev-1.6)
1. Overview
This document provides a detailed description of the AT commands supported by LoRaWAN modules developed by Ruiqi Technology, along with usage examples. This document applies to all LoRaWAN transparent transmission modules of Ruiqi Technology. xxx represents the supported frequency bands, including:
| xxx Frequency Band | Frequency Range | Applicable Region |
|---|---|---|
| CN470 | 470~510 MHz | China |
| EU433 | 433~434 MHz | Europe |
| EU868 | 863~870 MHz | Europe |
| US915 | 902~928 MHz | North America |
| AS923 | 920~925 MHz | Southeast Asia |
1.1 Requirements and Purpose
Enable R&D and testing personnel to quickly master AT operation methods and achieve rapid LoRa integration.
1.2 References
<Omitted>
2. AT Commands
2.1 Serial Port Settings
| Item | Setting |
|---|---|
| Serial Port | LPUART |
| Baud Rate | 9600 |
| Data Bit | 8 bit |
| Stop Bit | 1 bit |
| Parity Bit | None |
2.2 AT Commands
2.2.1 Basic Format of AT Commands:
| Symbol | Description |
|---|---|
AT | AT command header, case-sensitive. |
+CMD | +CMD is the specific command. |
= | Current AT command is a setting operation. |
=? | Current command is a usage query operation. |
? | Current command is a value query operation. |
<CR><LF> | \r\n, terminator. |
2.2.2 AT Command Definitions:
AT+<CMD>?— Get help for<CMD>.AT+<CMD>— Execute<CMD>.AT+<CMD>=<value>— Set parameters for<CMD>, where<value>is the parameter value.AT+<CMD>=?— Get the list of settable parameter values for this command.
2.2.3 AT Command Return Values:
| Return Value | Description |
|---|---|
OK | Command executed successfully. |
ERR | Unknown error. |
BUSY | The module is processing other commands and cannot respond to the current request. |
2.2.4 AT Command Notes
By default, all setting commands do not save parameters after power loss. To save parameters across power cycles, send AT+SAVE=1, which will save all previously set parameters.
3. AT Command Set
3.1 AT: Get AT Command List
3.1.1 Command 1: AT
Function: Detect the serial port connection status between the host and the module.
3.2 AT+BAND
Function: Set and query frequency band.
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Set Command | AT+BAND=<n> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 10 S |
| Query frequency band list command | AT+BAND? | (List<n>: <band>)<n>:<band>OK | 10 S |
| Query current frequency band | AT+BAND=? | <n>:<band>OK | 10 S |
Parameters
| Parameter | Type | Value | Description |
|---|---|---|---|
| <n> | Integer | 0 | AS923 |
| 1 | AU915 | ||
| 2 | CN470 | ||
| 3 | CN779 | ||
| 4 | EU433 | ||
| 5 | EU868 | ||
| 6 | KR920 | ||
| 7 | IN865 | ||
| 8 | US915 | ||
| 9 | RU864 | ||
| 10 | AS923-1 | ||
| 11 | AS923-2 | ||
| 12 | AS923-3 | ||
| 13 | AS923-4 | ||
| 14 | AS923-1JP | ||
| 15 | KZ865 | ||
| <band> | String | Band information, e.g. AS923 |
Example
Send→◇AT+BAND?
Receive←◆0:AS923
1:AU915
2:CN470
3:CN779
4:EU433
5:EU868
6:KR920
7:IN865
8:US915
9:RU864
10:AS923-1
11:AS923-2
12:AS923-3
13:AS923-4
14:AS923-1JP
15:KZ865
OK
Send→◇AT+BAND=1
Receive←◆OK
Send→◇AT+BAND=?
Receive←◆1:AU915
OK
3.3 AT+DEVEUI
Function: Query and set LoRaWAN device DEVEUI.
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Set Command | AT+DEVEUI=<n> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 10 S |
| Query frequency band list command | AT+DEVEUI=? | +DEVEUI:<imei>OK | 10 S |
Parameters
| Parameter | Type | Length | Description |
|---|---|---|---|
| <imei> | String | 8 hexadecimal characters | LoRaWAN device DEVEUI |
Example
Send→◇AT+DEVEUI=0e8044007b446033
Receive←◆OK
Send→◇AT+DEVEUI=?
Receive←◆+DEVEUI:0e8044007b446033
OK
3.4 AT+APPEUI
Function: Query and set LoRaWAN device APPEUI.
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Set Command | AT+APPEUI=<imei> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 10 S |
| Query command | AT+APPEUI=? | +APPEUI:<imei>OK | 10 S |
Parameters
| Parameter | Type | Length | Description |
|---|---|---|---|
| <imei> | String | 8 hexadecimal characters | LoRaWAN device APPEUI |
Example
Send→◇AT+DEVEUI=0e8044007b446033
Receive←◆OK
Send→◇AT+DEVEUI=?
Receive←◆+DEVEUI:0e8044007b446033
OK
Send→◇AT+APPEUI=1111111111111111
Receive←◆OK
Send→◇AT+APPEUI=?
Receive←◆+APPEUI:1111111111111111
OK
3.5 AT+APPKEY: APPKEY Query and Set Command
Function: Query and set LoRaWAN device APPKEY.
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Set Command | AT+APPKEY=<imei> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 10 S |
| Query command | AT+APPKEY=? | +APPKEY:<imei>OK | 10 S |
Parameters
| Parameter | Type | Length | Description |
|---|---|---|---|
| <imei> | String | 16 hexadecimal characters | LoRaWAN device APPKEY |
Example
Send→◇AT+APPKEY=2b7e151628aed2a6abf7158809cf4f3c
Receive←◆OK
Send→◇AT+APPKEY=?
Receive←◆+APPKEY:2b7e151628aed2a6abf7158809cf4f3c
OK
3.6 AT+NWKKEY
Function: Query and set LoRaWAN device NWKKEY.
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Set Command | AT+NWKKEY=<imei> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 10 S |
| Query NWKKEY command | AT+NWKKEY=? | +NWKEY:<imei>OK | 10 S |
Parameters
| Parameter | Type | Length | Description |
|---|---|---|---|
| <imei> | String | 16 hexadecimal characters | LoRaWAN device NWKKEY |
Example
Send→◇AT+NWKKEY=2b7e151628aed2a6abf7158809cf4f3c
Receive←◆OK
Send→◇AT+NWKKEY=?
Receive←◆+NWKKEY:2b7e151628aed2a6abf7158809cf4f3c
OK
3.7 AT+APPSKEY
Function: Query and set LoRaWAN device APPSKEY.
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Set Command | AT+APPSKEY=<imei> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 10 S |
| Query command | AT+APPSKEY=? | +APPKEY:<imei>OK | 10 S |
Parameters
| Parameter | Type | Length | Description |
|---|---|---|---|
| <imei> | String | 16 hexadecimal characters | LoRaWAN device APPSKEY |
Example
Send→◇AT+APPSKEY=2b7e151628aed2a6abf7158809cf4f3c
Receive←◆OK
Send→◇AT+APPSKEY=?
Receive←◆+APPSKEY:2b7e151628aed2a6abf7158809cf4f3c
OK
3.8 AT+NWKSKEY
Function: Query and set LoRaWAN device NWKSKEY.
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Set Command | AT+WMKSKEY=<imei> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 10 S |
| Query command | AT+WMKSKEY=? | +WMKSKEY:<imei>OK | 10 S |
Parameters
| Parameter | Type | Length | Description |
|---|---|---|---|
| <imei> | String | 16 hexadecimal characters | LoRaWAN device NWKSKEY |
Example
Send→◇AT+NWKSKEY=2b7e151628aed2a6abf7158809cf4f3c
Receive←◆OK
Send→◇AT+NWKSKEY=?
Receive←◆+NWKSKEY:2b7e151628aed2a6abf7158809cf4f3c
OK
3.9 AT+NJM
Function: Set and query network access mode.
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Set Command | AT+NJM=<value> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 10 S |
| Query command | AT+NJM=? | +NJM:<mode>OK | 10 S |
Parameters
| Parameter | Type | Value | Description |
|---|---|---|---|
| <value> | Integer | 0 | ABP network access mode |
| 1 | OTAA network access mode | ||
| <Mode> | String | OTAA and ABP | — |
Example
Send→◇AT+NJM=1
Receive←◆OK
Send→◇AT+NJM=?
Receive←◆+NJM:OTAA
OK
3.10 AT+JOIN
Function: Module network access.
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Network access command | AT+JOIN | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 20 S |
| Query network access status command | AT+JOIN=? | +JOIN:<value>OK | 20 S |
| Clear network access status command | AT+JOIN=1 | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 20 S |
Parameters
| Parameter | Type | Value | Description |
|---|---|---|---|
| <value> | Integer | 0 | Indicates not network accessed |
| 1 | Indicates network accessed |
Example
Send→◇AT+JOIN
Receive←◆OK
Receive←◆JOINED
Send→◇AT+JOIN=?
Receive←◆+NJM:OTAA
OK
Send→◇AT+JOIN=1
Receive←◆OK
3.11 AT+DEVADDR: DEVADDR Query and Set Command
Function: Query and set the device short address (DEVADDR).
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Set Command | AT+DEVADDR=<addr> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 10 S |
| Query command | AT+DEVADDR=? | +DEVADDR:<addr>OK | 10 S |
Parameters
| Parameter | Type | Length | Description |
|---|---|---|---|
| <addr> | String | 4 hexadecimal characters | Short address after device network access |
Example
Send→◇AT+DEVADDR=11223344
Receive←◆OK
Send→◇AT+DEVADDR=?
Receive←◆+DEVADDR:11223344
OK
3.12 AT+CFM
Function: Set and query data frame type.
Command
| Type | Syntax | Response | Maximum Response Time |
|---|---|---|---|
| Set data frame command | AT+CFM=<value> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 | 10 S |
| Query data frame command | AT+CFM=? | +CFM:<value>OK | 10 S |
Parameters
| Parameter | Type | Value | Description |
|---|---|---|---|
| <value> | Integer | 0 | Unconfirmed data frame |
| 1 | Confirmed data frame |
Example
Send→◇AT+CFM=1
Receive←◆OK
Send→◇AT+CFM=?
Receive←◆+CFM:1
OK
3.13 AT+ADR
Function: Set and query ADR (Adaptive Data Rate) status.
Command
| Type | Syntax | Response |
|---|---|---|
| Set ADR status command | AT+ADR=<status> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Query ADR status command | AT+ADR=? | +ADR:<status>OK |
Parameters
| Parameter | Type | Value | Description |
|---|---|---|---|
| <status> | Integer | 0 | Disable ADR |
| 1 | Enable ADR |
Example
Send→◇AT+ADR=1
Receive←◆OK
Send→◇AT+ADR=?
Receive←◆+ADR:1
OK
3.14 AT+DR
Function: Set and query DR (Data Rate) value.
Command
| Type | Syntax | Response |
|---|---|---|
| Set DR value | AT+DR=<value> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Query DR value | AT+DR=? | +DR:<value>OK |
Parameters
| Parameter | Type | Value | Description |
|---|---|---|---|
| value | Set DR value, range 0-5 | 0 | DR_0 |
| 1 | DR_1 | ||
| 2 | DR_2 | ||
| 3 | DR_3 | ||
| 4 | DR_4 | ||
| 5 | DR_5 |
Example
Send→◇AT+DR=1
Receive←◆OK
Send→◇AT+DR=?
Receive←◆+DR:1
OK
- When configuring DR, ADR must be disabled; otherwise, an error will be triggered.
- For AS923 and AU915 bands, when DWELL UPLINK is set to 1, the minimum DR starts from DR2.
3.15 AT+SEND
Function: Send uplink data.
Command
| Type | Syntax | Response |
|---|---|---|
| Send uplink data | AT+SEND=<Fport>,<len>,<appdata> | OKIf confirmed frame data is sent without downlink response, return: +CMEE ERROR:100If the module is not network accessed, return: AT_NO_NET_JOINED |
Parameters
| Parameter | Description |
|---|---|
| <Fport> | Transmission port number, value range: 1~223 |
| <len> | Transmission data length: 0 — String mode: uplink content must be string; >0 — HEX mode: uplink data length, value range (1~223), uplink data must be HEX data. |
| <appdata> | Data content. When <len> is not 0, data content must be HEX data; when <len> is 0, data content is string, no space required. |
Example
## Transmit Uplink Data in HEX Mode:
Send→◇AT+SEND=12,8,0011223344556677
Receive←◆OK
## Transmit Uplink Data in String Mode:
Send→◇AT+SEND=12,0,123db
Receive←◆OK
- When transmitting in HEX mode, the configured data length must match the actual transmitted data length; otherwise, an error will be reported.
- For transmission in String mode, the module converts string data into HEX data before transmission. If the HEX data converted from the string exceeds the payload size limit of the current DR, the transmission will fail.
3.16 AT+DPDATA
Function: Downlink data display — Enable, disable, retrieve data, clear cache.
Command
| Type | Syntax | Response |
|---|---|---|
| Set downlink data display mode | AT+DPDATA=<mode> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
Parameters
| Parameter | Value | Description |
|---|---|---|
| <mode> Downlink reception mode | 0 | Disable downlink echo function |
| 1 | Enable downlink data display function | |
| 2 | Enable downlink data cache function | |
| 3 | Retrieve one cached data | |
| 4 | Clear cached data |
Example
## Disable Downlink Echo:
Send→◇AT+DPDATA=0
Receive←◆OK
## Enable Downlink Echo:
Send→◇AT+DPDATA=1
Receive←◆OK
Send→◇AT+SEND=12,8,0011223344556677
Receive←◆OK
## At this point, if the server sends downlink data 1122334455 to port 20, the node will display the data##
Receive←◆+DPDATA:20,5,1122334455
## Enable Downlink Data Buffer Function:
Send→◇AT+DPDATA=2
Receive←◆OK
Send→◇AT+SEND=12,8,0011223344556677
Receive←◆OK
#### At this point, if the server sends downlink data 1122334455 to port 20###
Send→◇AT+DPDATA=3
## Query buffer
Receive←◆+DPDATA:20,5,1122334455
Send→◇AT+DPDATA=4
## Clear buffer
Send→◇AT+DPDATA=3
## Query buffer
Receive←◆+DPDATA:0
3.17 AT+RXDELAY
Function: Set and query downlink reception window.
Command
| Type | Syntax | Response |
|---|---|---|
| Set downlink reception window time | AT+RXDELAY=<WINDOW>,<DELAYTIME> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Query downlink reception window time | AT+RXDELAY=? | +<status>RX1DELAY:4970RX2DELAY:5970OK |
Parameters
| Parameter | Type | Value | Description |
|---|---|---|---|
| <WINDOW> | Window number to set | 1 | RX reception window 1 |
| 2 | RX reception window 2 | ||
| <DELAYTIME> | Window start time value | Range 0-9999 | — |
| <status> | Window status | JOIN | Reception window for network access |
| REC | Reception window for downlink data after network access |
JOIN time; if network accessed, it shows REC time.Example
## Set Join Receive Window##
Send→◇AT+RXDELAY=1,4970
Receive←◆OK
Send→◇AT+RXDELAY=?
Receive←◆+JOIN
RX1DELAY:4970
RX2DELAY:6000
OK
## Set Downlink Receive Window##
Send→◇AT+RXDELAY=1,4970
Receive←◆OK
Send→◇AT+RXDELAY=?
Receive←◆+JOIN
RX1DELAY:4970
RX2DELAY:6000
OK
3.18 AT+TXPWR
Function: Set and query transmission power.
Command
| Type | Syntax | Response |
|---|---|---|
| Set transmission power level | AT+TXPWR=<value> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Query transmission power level | AT+TXPWR=? | <value>OK |
Parameters
Transmission power is divided into 6 power levels, shown in the table below for different frequency bands.
Region AS923:
| Command | Tx Power |
|---|---|
AT+TXPWR=0 | 14 dbm |
AT+TXPWR=1 | 12 dbm |
AT+TXPWR=2 | 10 dbm |
AT+TXPWR=3 | 8 dbm |
AT+TXPWR=4 | 6 dbm |
AT+TXPWR=5 | 4 dbm |
Region CN470:
| Command | Tx Power |
|---|---|
AT+TXPWR=0 | 20 dbm |
AT+TXPWR=1 | 18 dbm |
AT+TXPWR=2 | 16 dbm |
AT+TXPWR=3 | 14 dbm |
AT+TXPWR=4 | 10 dbm |
AT+TXPWR=5 | 7 dbm |
AT+TXPWR=6 | 5 dbm |
AT+TXPWR=7 | 2 dbm |
Region EU433:
| Command | Tx Power |
|---|---|
AT+TXPWR=0 | 10 dbm |
AT+TXPWR=1 | 7 dbm |
AT+TXPWR=2 | 4 dbm |
AT+TXPWR=3 | 1 dbm |
AT+TXPWR=4 | -2 dbm |
AT+TXPWR=5 | -5 dbm |
Region EU868:
| Command | Tx Power |
|---|---|
AT+TXPWR=0 | 20 dbm |
AT+TXPWR=1 | 14 dbm |
AT+TXPWR=2 | 11 dbm |
AT+TXPWR=3 | 8 dbm |
AT+TXPWR=4 | 5 dbm |
AT+TXPWR=5 | 2 dbm |
Region US915:
| Command | Tx Power |
|---|---|
AT+TXPWR=0 | 20 dbm |
AT+TXPWR=1 | 16 dbm |
AT+TXPWR=2 | 10 dbm |
AT+TXPWR=3 | 7 dbm |
AT+TXPWR=4 | 5 dbm |
AT+TXPWR=5 | 1 dbm |
Example
## Maximum Transmit Power Level##
Send→◇AT+TXPWR=0
Receive←◆OK
## Query Transmit Power Level##
Send→◇AT+TXPWR=?
Receive←◆0
OK
3.19 AT+CLASS
Function: Set and query module reception mode.
Command
| Type | Syntax | Response |
|---|---|---|
| Set reception mode command | AT+CLACC=<mode> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Query reception mode command | AT+CLASS=? | <mode>OK |
Parameters
| Parameter | Type | Value | Description |
|---|---|---|---|
| <mode> | Reception mode | A | CLASS_A reception mode |
| B | CLASS_B reception mode | ||
| C | CLASS_C reception mode |
Example
Send→◇AT+CLASS=A
Receive←◆OK
Send→◇AT+CLASS=?
Receive←◆A
OK
3.20 AT+RSSI
Function: Query RSSI value.
Command
| Type | Syntax | Response |
|---|---|---|
| Query RSSI value | AT+RSSI | +RSSI:<value>OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
Parameters
| Parameter | Type | Range |
|---|---|---|
| <value> | RSSI value | Range 0~-128 |
Example
Send→◇AT+SEND=12,8,0011223344556677
Receive←◆OK
Send→◇AT+RSSI
Receive←◆+RSSI:-51
OK
3.21 AT+CSQ
Function: Set and query frequency point.
Command
| Type | Syntax | Response |
|---|---|---|
| Set frequency point command | AT+CSQ=<Channels1~channelsn Frequency> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Query current frequency point command | AT+CSQ=? | <Channels1>,↓[n]<channelsn>OK |
Parameters
| Parameter | Description |
|---|---|
| Channels1 | Frequency point 1 to set |
| Channelsn | Frequency point n to set |
| n | Number of frequency points |
Example
Send→◇AT+CSQ=923200000,923400000,923600000,923800000,924000000,924200000,924400000,924600000
Receive←◆OK
Send→◇AT+CSQ=?
Receive←◆+CSQ:
[1]:<486300000>
[2]:<486500000>
[3]:<486700000>
[4]:<486900000>
[5]:<487100000>
[6]:<487300000>
[7]:<487500000>
[8]:<487700000>
OK
3.22 AT+DC
Function: Set and query duty cycle status.
Command
| Type | Syntax | Response |
|---|---|---|
| Set duty cycle status command | AT+DC=<status> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Query duty cycle status | AT+DC=? | +DUTYCYCLE:<status>OK |
Parameters
| Parameter | Value | Description |
|---|---|---|
| status Duty cycle status | 0 | Disable duty cycle |
| 1 | Enable duty cycle |
Example
Send→◇AT+DC=1
Receive←◆OK
Send→◇AT+DC=?
Receive←◆+DUTYCYCLE: 1
OK
3.23 AT+DWELL
Function: Set and query module DWELL value.
Command
| Type | Syntax | Response |
|---|---|---|
| Set DWELL value | AT+DWELL=<uplink or downlink>,<time value> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Query DWELL value | AT+DWELL=? | +DWELL:UPLINK: <time value>DPLINK: <time value>OK |
Parameters
| Parameter | Value | Description |
|---|---|---|
| <uplink or downlink> | 1 | dwell uplink |
| 2 | dwell downlink | |
| time value | 0 / 1 | — |
Example
Send→AT+DWELL?
Receive←◆+DWELL:
UPLINK: 1
DPLINK: 1
OK
Send→AT+DWELL=1,1
Receive←◆OK
3.24 AT+RXWIN
Function: Query or set window open duration or RX2 parameters.
Command
| Type | Syntax | Response |
|---|---|---|
| Set duration of reception window 1 and 2 | AT+RXWIN=1,<timevalue> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Set RX2 window parameters (DR value and frequency) | AT+RXWIN=2,<DR>,<freq> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Query duration of window 1 and 2 | AT+RXWIN=? | +WIN.DURATION.TIME:<timevaue>OK |
| Query RX2 window parameters (DR value and frequency) | AT+RXWIN? | +RXWIN2:DR:<value>FRE:<freq>OK |
Parameters
| Parameter | Value | Description |
|---|---|---|
| timevaue | 0-1000 | Set window timeout duration |
| DR | 0-5 | DR value to set |
| freq | 0-987700000 | Frequency to set |
Example
Send→AT+RXWIN=2,5, 505300000
Receive←◆OK
Send→AT+RXWIN=1,5000
Receive←◆OK
Send→AT+RXWIN?
Receive←◆+RXWIN2:
DR:0
FRE:505300000
OK
Send→AT+RXWIN=?
Receive←◆+WIN.DURATION.TIME:3000
OK
3.25 AT+GETTIME
Function: Get current RTC clock.
Command
| Type | Syntax | Response |
|---|---|---|
| Get current RTC clock | AT+GETTIME | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
Example
Send→AT+GETTIME
Receive←◆+SysCurTime:xxxx-xx-xx xx:xx:xx
OK
3.26 AT+SAVE
Function: Save modified parameters to NV table.
Command
| Type | Syntax | Response |
|---|---|---|
| Save modified parameters to NV table | AT+SAVE=<mode> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
Parameters
| Parameter | Value | Description |
|---|---|---|
| <mode> Save mode | 0 | Clear NV table, restore factory settings |
| 1 | Save modified parameters to NV table |
Example
#### Save Settings#####
Send→AT+SAVE=1
Receive←◆OK
### Restore Factory Defaults###
Send→AT+SAVE=0
Receive←◆OK
3.27 AT+VER
Function: Query version number.
Command
| Type | Syntax | Response |
|---|---|---|
| Query version number | AT+VER? | +VER:<version information>OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
Example
Send→AT+VER?
Receive←◆+VER: LoRaWAN V1.0.4
FW_LND915E&F_REACH-AT-OEM-D_Release_2.5.0-20240113
OK
3.28 AT+RESET
Function: Reset module.
Command
| Type | Syntax | Response |
|---|---|---|
| Reset module | AT+RESET | RESETIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
Example
Send→AT+RESET
Receive←◆RESET
3.29 AT+RM
Function: Set and query retransmission count.
Command
| Type | Syntax | Response |
|---|---|---|
| Set retransmission count command | AT+RM=<VALUE> | OKIf an error occurs: +CMEE ERROR:100 or +CMEE ERROR:101 |
| Query retransmission count command | AT+RM=? | +DUTYCYCLE:<status>OK |
Parameters
| Parameter | Value | Description |
|---|---|---|
| <VALUE> | Range 1-22 | Retransmission count |
Example
Send→AT+RM=?
Receive←◆+RM:2
OK
Send→AT+RM=1
Receive←◆OK
3.30 AT+TXS
Function: Point-to-point transmission.
Command
| Type | Syntax | Response |
|---|---|---|
| Point-to-point transmission | AT+TXS=<DATALEN>,<DATA>,<TIMEOUT> | OKIf an error occurs: +CMEE ERROR:100 |
Parameters
| Parameter | Description |
|---|---|
| <DATALEN> | Data length |
| <DATA> | Data |
| <TIMEOUT> | Timeout (ms) |
Example
Send→AT+TXS=9,112233445566778899,1000
Receive←◆OK
3.31 AT+RXS
Function: Point-to-point reception.
Command
| Type | Syntax | Response |
|---|---|---|
| Point-to-point reception | AT+RXS=<TIMEOUT> | OKIf an error occurs: +CMEE ERROR:100 |
Parameters
| Parameter | Value | Description |
|---|---|---|
| <TIMEOUT> Reception timeout (ms) | 0 | Module waits indefinitely until data is received |
| >0 | Reception timeout |
Example
Send→AT+RXS=5000
Receive←◆+PTPDATA:9,112233445566778899
OK
3.32 AT+PTPCONF
Function: Set point-to-point parameters.
Command
| Type | Syntax | Response |
|---|---|---|
| Set point-to-point parameters | AT+PTPCONF=<freq>,<power>,<bandwidth>,<datarate>,<coderate>,<lna>,<pa_boost>,<modulation>,<len>,<deviation>,<low_dr>,<bt>,<preamblelen>,<rx_duty_time>,<sleep_duty_time> | OKIf an error occurs: +CMEE ERROR:100 |
| Query point-to-point parameters | AT+PTPCONF=? | <n><status>OK |
Parameters
| Parameter | Description |
|---|---|
| <freq> | Frequency (Hz) |
| <power> | Transmission power (dBm) |
| <bandwidth> | Bandwidth (Hz) |
| <datarate> | Data rate (bps) |
| <coderate> | Coding rate (recommended to use default value) |
| <lna> | LNA status (recommended to use default value) |
| <pa_boost> | PA boost status (recommended to use default value) |
| <modulation> | Modulation mode (0: FSK, 1: LoRa) |
| <len> | Payload length |
| <deviation> | FSK frequency deviation (recommended to use default value) |
| <low_dr> | Low data rate optimization (recommended to use default value) |
| <bt> | BT product (recommended to use default value) |
| <preamblelen> | Preamble length |
| <rx_duty_time> | FSK duty cycle mode reception time |
| <sleep_duty_time> | FSK duty cycle mode sleep time |
Example
Send→AT+PTPCONF=863525000,22,250000,100000,4/5,0,0,0,100,40000,0,2,60000,1,597
Receive←◆OK
Send→AT+PTPCONF=?
Receive←◆1: Freq= 863525000 Hz
2: Power= 22 dBm
3: Bandwidth= 250000 Hz
4: FSK datarate= 100000 bps
5: Coding Rate not applicable
6: LNA State= 0
7: PA Boost State= 0
8: modulation FSK
9: Payload len= 100 Bytes
10: FSK deviation= 40000 Hz
11: LowDRopt not applicable
12: FSK gaussian BT product= 2
13: FSK preambleLen= 60000
14: FSK Rx duty time= 1ms
15: FSK Sleep duty time= 597ms
OK
3.33 AT+FORCEJOIN
Function: Force OTAA rejoin when already network accessed.
Command
| Type | Syntax | Response |
|---|---|---|
| Force OTAA rejoin | AT+FORCEJOIN | OKIf an error occurs: +CMEE ERROR:100 |
Example
Send→AT+FPRCEJOIN
Receive←◆OK
3.34 AT+RXBDL
Function: Adjust and Query Beacon Period.
Command
| Type | Syntax | Response |
|---|---|---|
| Adjust Beacon Period | AT+RXBDL=<value> | OKIf an error occurs: +CMEE ERROR:100 |
| Query Beacon Period | AT+RXBDL=? | +RXBDL: -100OK |
Parameters
| Parameter | Description |
|---|---|
| <value> Offset Time, unit is ms | Beacon period is fixed at 128000 ms. Calculation formula is (128000 + value) ms; value can be positive or negative. |
Example
Send→◇AT+RXBDL=-100
Receive←◆
OK
Send→◇AT+RXBDL=?
Receive←◆+RXBDL: -100
OK
3.35 AT+RXPDL
Function: Adjust and Query ping-slot Period.
Command
| Type | Syntax | Response |
|---|---|---|
| Adjust ping-slot Period | AT+RXPDL=<value> | OKIf an error occurs: +CMEE ERROR:100 |
| Query ping-slot Period | AT+RXPDL=? | +RXPDL: -20OK |
Parameters
| Parameter | Description |
|---|---|
| <value> Offset Time, unit is ms | ping-slot period defaults to 128000 ms. Calculation formula is (128000 + value) ms; value can be positive or negative. |
Example
Send→◇AT+RXPDL=-20
Receive←◆
OK
Send→◇AT+RXPDL=?
Receive←◆+RXPDL: -20
OK
3.36 AT+RXPPRD
Function: Set and Query ping-slot Period.
Command
| Type | Syntax | Response |
|---|---|---|
| Set ping-slot Period | AT+RXPPRD=<value> | OKIf an error occurs: +CMEE ERROR:100 |
| Query ping-slot Period | AT+RXPPRD=? | +RXPPRD: 7OK |
Parameters
| Parameter | Description |
|---|---|
| <value> ping-slot Period | Value range: 0-7; value defaults to 7. ping-slot period is (2^value) s. |
Example
Send→◇AT+RXPPRD=5
Receive←◆
OK
Send→◇AT+RXPPRD=?
Receive←◆+RXPPRD: 5
OK
4. Error Codes
This specification defines the format and meaning of error codes that may be returned by the LoRaWAN module during the execution of AT commands. Error codes are used to help users quickly locate problems, and are divided into two categories: standard error codes and extended error codes:
- Standard error codes: common general errors, such as parameter errors, execution failures, etc.
- Extended error codes: errors related to LoRaWAN protocol or network interaction, such as network access failure, data transmission timeout, etc.
Error code format: +CMEE ERROR:<error_code>.
4.1 General Error Codes
| Error Code | Description |
|---|---|
100 | Unknown error / AT error |
101 | Invalid parameter |
102 | Command not supported |
103 | Device is busy, cannot process |
4.2 Protocol-related Error Codes
| Error Code | Description |
|---|---|
200 | Network access failed |
201 | Network rejected access |
202 | Network access timeout (no response) |
203 | AppKey/NwkKey invalid |
204 | Already in network access state |
205 | No network joined |
210 | Data transmission failed (general) |
211 | Transmission timeout, no ACK |
212 | Invalid transmission channel |
213 | Exceeded DutyCycle limit |
214 | Exceeded power limit |
220 | Reception failed (general) |
221 | Reception timeout |
222 | MIC check error |
223 | Invalid frame received |
224 | Test parameter overflow |
225 | Class B mode not enabled |
226 | Invalid key |
227 | Confirmed transmission returned NULL |
228 | Transmission timeout |
300 | Error code upper limit marker |