AT Command Manual
Overview
AT command is the initial setting in the default serial port used on RUI3 devices. The default baud rate is 115200.
When communicating through AT commands with the WisDuo modules, it is important to always wait for the response from the WisDuo module before sending the next command. Some AT commands respond not only immediately, but also with a second asynchronous event response that must be handled before the next command can be processed.
For users that write the firmware for the host MCU with Arduino or PlatformIO, it is recommended to use a communication library. The RUI3-Arduino-Library is a helper for the AT command communication between a RUI3 based RAKwireless WisDuo module and an Arduino based host MCU. This library can be installed using the Arduino IDE library manager. Library documentation. Library examples
RUI3-Supported RAK Modules
- RAK4630
- RAK4631-R
- RAK3172 or RAK3172-T
- RAK3272S
- RAK3372 / RAK3172 Evaluation Board
- RAK3172-SiP
- RAK3272-SiP
- RAK11720
- RAK11721
- RAK11722
RUI3 AT Command Format
The AT commands have the standard format AT+XXX
, with XXX
denoting the command.
There are four available command behaviors:
AT+XXX?
provides a short description of the given command, for example,AT+DEVEUI?
.AT+XXX
is used to run a command, such asAT+JOIN
.AT+XXX=?
is used to get the value of a given command, for example,AT+CFS=?
.AT+XXX=<value>
is used to provide a value to a command, for example,AT+CFM=1
.
The output format is as below:
AT+XXX=<value><CR><LF>
<CR><LF><Status<CR><LF>
<CR>
stands for “carriage return” and<LF>
stands for “line feed”.- The
<value><CR><LF>
output is returned whenever the “helpAT+XXX?
” or the “getAT+XXX=?
” commands are run.
When no value is returned, the <value><CR><LF>
output is not returned at all. Every command (except for ATZ
used for MCU reset) returns a status string, which is preceded and followed by <CR><LF>
in a <CR><LF><Status<CR><LF>
format.
The possible status codes are:
OK
: command runs correctly without error.AT_ERROR
: generic error.AT_PARAM_ERROR
: a parameter of the command is wrong.AT_BUSY_ERROR
: the LoRa network is busy, so the command has not been completed.AT_TEST_PARAM_OVERFLOW
: the parameter is too long.AT_NO_CLASSB_ENABLE
: End-node has not yet switched in Class B.AT_NO_NETWORK_JOINED
: the LoRa network has not been joined yet.AT_RX_ERROR
: error detection during the reception of the command.
More details on each command description and examples are given in the remainder of this section.
Content
- AT Command Manual
- Overview
- Content
- General Commands
- Low Power
- Serial AT Command
- Bootloader Commands
- LoRaWAN Keys and IDs
- LoRaWAN Joining and Sending
- LoRaWAN Network Management
- Class B Mode
- Asynchronous Events
- LoRaWAN Information
- LoRaWAN Regional Commands
- LoRaWAN Multicast Group
- P2P Instructions
- AT+NWM
- AT+PFREQ
- AT+PSF
- AT+PBW
- AT+PCR
- AT+PPL
- AT+PTP
- AT+PBR
- AT+PFDEV
- AT+PSEND
- AT+CAD
- AT+PRECV
- AT+ENCRY
- AT+ENCKEY
- AT+PCRYPT
- AT+PKEY
- AT+CRYPIV
- AT+P2P
- AT+IQINVER
- AT+SYNCWORD
- AT+RFFREQUENCY
- AT+TXOUTPUTPOWER
- AT+BANDWIDTH
- AT+SPREADINGFACTOR
- AT+CODINGRATE
- AT+PREAMBLELENGTH
- AT+SYMBOLTIMEOUT
- AT+FIXLENGTHPAYLOAD
- RF Test
General Commands
This section describes the generic commands related to the device.
AT
Description: Attention
This command is used to check that the communication is working properly.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT | - | - | OK |
AT?
Description: Short help
This command provides short help for all the supported commands.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT? | - | - AT+<CMD>? : help on <CMD> - AT+<CMD> : run <CMD> - AT+<CMD>=<value> : set the value - AT+<CMD>=? : get the value - followed by the details of all commands | OK |
ATE
Description: AT Command Echo
This command is used to see the AT command input on the Serial Terminal.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT | - | - | OK |
AT? | - | ATE : toggle the AT Command echo | OK |
Example:
ATE
OK
ATZ
Description: MCU Reset
This command is used to trigger a reset on the module.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
ATZ? | - | ATZ : triggers a reset on the MCU. | OK |
ATZ | - | No return value and return code. The module resets. | Shows device information |
Example:
ATZ
RAKwireless RAK3172
------------------------------------------------------
Version: RUI_4.0.4_RAK3172-E
Current Work Mode: LoRa P2P.
ATR
Description: Restore default parameters
This command is used to restore all parameters to the initial default values.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
ATR? | - | ATR : restore default parameters | OK |
ATR | - | No return value. | OK |
AT+SN
Description: Serial number
This command can read the device serial number.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+SN? | - | AT+SN : get the serial number of the device (max 18 char) | OK |
AT+SN=? | - | <1-18char> | OK |
Example:
AT+SN=?
9181004E20900057
OK
AT+BAT
Description: Battery level
This command is used to access the battery level.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BAT? | - | AT+BAT : get the battery level (volt) | OK |
AT+BAT=? | - | AT+BAT = <float> | OK |
Example:
AT+BAT=?
AT+BAT=2.971191
OK
AT+BUILDTIME
Description: Build time of the firmware
This command is used to access the build date and time of the firmware.
Command | Input Parameter | Return value | Return code |
---|---|---|---|
AT+BUILDTIME? | - | AT+BUILDTIME : get the build time of the firmware | OK |
AT+BUILDTIME=? | - | AT+BUILDTIME =date - time of build | OK AT_BUSY_ERROR |
Example:
AT+BUILDTIME=?
AT+BUILDTIME=20220324-153044
OK
AT+REPOINFO
Description: Repo information
This command is used to access the Repo Information of the firmware.
Command | Input Parameter | Return value | Return code |
---|---|---|---|
AT+REPOINFO? | - | AT+REPOINFO : get the commit ID of the firmware | OK |
AT+REPOINFO=? | - | AT+REPOINFO =firmware repo information | OK |
Example:
AT+REPOINFO=?
AT+REPOINFO=713fbcca:6ecbb45f:e198f620:b43f5395:4a6defb9:c9438443:5ccb8eec:70e5bb3f
OK
AT+VER
Description: Version of the firmware
This command is used to access the version of the firmware.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+VER? | - | AT+VER : get the version of the firmware | OK |
AT+VER=? | - | AT+VER =firmware version | OK |
Example:
AT+VER=?
AT+VER=RUI_4.1.0_RAK4631
OK
AT+CLIVER
Description: Version of the AT Command
This command is used to access the version of the AT command.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CLIVER? | - | AT+CLIVER : get the version of the AT command | OK |
AT+CLIVER=? | - | AT+CLIVER =x.y.z | OK |
Example:
AT+CLIVER=?
AT+CLIVER=1.5.2
OK
AT+APIVER
Description: Version of the API
This command is used to access the version of the RUI API.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+APIVER? | - | AT+APIVER : get the version of the RUI API | OK |
AT+APIVER=? | - | AT+APIVER =x.y.z | OK |
Example:
AT+APIVER=?
AT+APIVER=3.0.0
OK
AT+HWMODEL
Description: The string of the hardware model
This command is used to access the string of the hardware model.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+HWMODEL? | - | AT+HWMODEL : get the string of the hardware model | OK |
AT+HWMODEL=? | - | AT+HWMODEL =module model | OK |
Example:
AT+HWMODEL=?
AT+HWMODEL=rak4631
OK
AT+HWID
Description: The string of the hardware ID
This command is used to access the string of the hardware mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+HWID? | - | AT+HWID : get the string of the hardware ID | OK |
AT+HWID=? | - | AT+HWID =module hw ID | OK |
Example:
AT+HWID=?
AT+HWID=nrf52840
OK
AT+ALIAS
Description: Alias name of the device
This command allows the user to set an alias name for the device.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+ALIAS? | - | AT+ALIAS : add an alias name to the device | OK |
AT+ALIAS=? | - | <string, 16char> | OK |
AT+ALIAS=<Input> | <string, 16char> | - | OK AT_PARAM_ERROR |
Example:
AT+ALIAS=RAK
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.<string, 16char>
: set of 16-character string.
AT+SYSV
Description: System voltage of the device
This command allows the user to get the System Voltage.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+SYSV? | - | AT+SYSV : get the System Voltage | OK |
AT+SYSV=? | - | <float> | OK |
Example:
AT+SYSV=?
AT+SYSV=3.318750
OK
AT+BLEMAC
This command is ONLY available on the RAK4630 and RAK11720 modules.
Description: BLE Mac Address of the device
This command allows the user to get or set the BLE Mac address.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BLEMAC? | - | AT+BLEMAC : get or set the BLE Mac address | OK |
AT+BLEMAC=? | - | <string>:<string>:<string>:<string>:<string>:<string> | OK |
AT+BLEMAC=<Input> | <string, 12 char> | <string> | OK |
Example:
AT+BLEMAC=?
AT+BLEMAC=d1:e0:f2:4d:58:1a
OK
AT+BOOTVER
Description: RUI bootloader version of the device
This command allows the user to get the version of RUI bootloader.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BOOTVER? | - | AT+BOOTVER : get the version of RUI bootloader | OK |
AT+BOOTVER=? | - | <string> | OK |
AT+BOOTVER=<Input> | - | RUI Bootloader Version | OK |
Example:
AT+BOOTVER=?
AT+BOOTVER=************
OK
Low Power
AT+SLEEP
Description: Sleep mode
This command enables sleep mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+SLEEP | - | - | OK |
AT+SLEEP? | - | AT+SLEEP : enter sleep mode for a period of time (ms) | OK |
AT+SLEEP=<Input> | <integer> | - | OK AT_PARAM_ERROR |
Example:
AT+SLEEP=1000
OK
AT+SLEEP
command with no parameter will enable sleep mode continuously without timeout period.AT_PARAM_ERROR
is returned when setting wrong or malformed value.<Input>
: 1 decimal integer and the range of values is 1~(232 -1).
AT+LPM
Description: Low power mode of the device
This command provides a way to enable/disable low power mode. LPM makes the device sleep automatically after sending AT commands. This eliminates the need to send AT+SLEEP
.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+LPM? | - | AT+LPM : get or set the low power mode (0=OFF; 1=ON) | OK |
AT+LPM=? | - | <string> | OK |
AT+LPM=<Input> | 0 or 1 | - | OK AT_PARAM_ERROR |
Example:
AT+LPM=?
AT+LPM=0
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.<string>
: either "0" or "1"
AT+LPMLVL
The two sleep modes can ONLY be selected with RAK3172. This AT command has NO EFFECT on other modules.
Description: Sleep level for low power mode
This command sets the low power mode level of the RAK3172 module in LPM. Stop2 Mode is more optimized for low current consumption compared to Stop1 Mode but it will not allow you to wake up using UART1. On Stop1 Mode, both UART1 and UART2 can wake up the device from LPM.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+LPMLVL? | - | AT+LPMLVL : get or set the low power mode level (1 = STOP1 Mode; 2 = STOP2 Mode) | OK |
AT+LPMLVL=? | - | 1 or 2 | OK |
AT+LPMLVL=<Input> | 1 or 2 | - | OK AT_PARAM_ERROR |
Example:
AT+LPMLVL=?
AT+LPMLVL=1
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- This command is only applicable to RAK3172 devices.
Serial AT Command
These commands are related to device serial configurations.
AT+LOCK
Description: Lock the AT Command serial port
This command locks the AT command serial port.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+LOCK? | - | AT+LOCK : lock the serial port | OK |
AT+LOCK or AT+LOCK= | - | - | - |
- If you input the
AT+LOCK
orAT+LOCK=
command, it will lock the serial port. - The default password is '00000000' and can be changed via the
AT+PWORD
command.
Example:
AT
OK
AT+LOCK
AT+VER=?
COMMAND_LOCKED
00000000
AT+VER=?
3.1.0-p1_21q4_rc2.50
OK
AT+PWORD
Description: Set the AT Command serial port password
This command sets the password for locking the AT command serial port.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PWORD? | - | AT+PWORD : set the serial port locking password | OK |
AT+PWORD=<input> | <1-8 character> | - | OK |
Example:
AT+PWORD=~!@pword
OK
- Any printable characters.
<Input>
: 1-8 characters.
AT+BAUD
Description: Set the serial port baud rate
This command sets the serial port baud rate.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BAUD? | - | AT+BAUD : get or set the serial port baud rate | OK |
AT+BAUD=<Input> | <integer> | - | OK AT_PARAM_ERROR |
Example:
AT+BAUD=?
AT+BAUD=115200
OK
AT+BAUD=921600
AT_PARAM_ERROR
- The last configured baudrate will be retained to the module even with reset or power recycle.
AT_PARAM_ERROR
is returned when setting wrong or malformed value.<Input>
: 1 decimal integer and the range of values is 1~232.
AT+ATM
Description: AT Command mode
This command provides a way to switch to AT command mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+ATM? | - | AT+ATM : switch to AT command mode | OK |
AT+ATM | - | - | OK |
AT Command mode is the default serial port setting of RUI3 devices.
Bootloader Commands
This section describes the bootloader commands related to the device.
AT+BOOT
Description: Bootloader mode
This command causes the device to enter Bootloader mode to upgrade firmware.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BOOT? | - | AT+BOOT : enter bootloader mode for firmware upgrade | OK |
AT+BOOT or AT+BOOT= | - | <BOOT MODE> |
Example:
AT+BOOT
<BOOT MODE>
To escape BOOT MODE, execute at+run
command. This is will end the BOOT MODE then restart the RUI3 device.
AT_BUSY_ERROR
is returned when the bootloader process is already running.
AT+VER
Description: Version of the Bootloader (Bootloader only).
This command is used to access the version of the bootloader (Bootloader only).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+VER=? | - | RUI_BOOT_0.6_STM32WLE5CC | - |
Example:
AT+VER=?
RUI_BOOT_0.6_STM32WLE5CC
AT+VERSION
Description: Version of the Bootloader (Bootloader only).
This command is used to access the version of the bootloader (Bootloader only).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+VERSION | - | RUI_BOOT_0.6_STM32WLE5CC | - |
Example:
AT+VERSION
RUI_BOOT_0.6_STM32WLE5CC
AT+BOOTSTATUS
Description: Bootloader Status (Bootloader only).
This command is used to get the status of the bootloader (Bootloader only).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BOOTSTATUS | - | Boot Mode | - |
Example:
AT+BOOTSTATUS
Boot Mode
AT+RUN
Description: Leaving Boot Mode (Bootloader only).
This command is used to leave and boot into application (Bootloader only).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RUN | - | Stop Boot Mode | - |
Example:
AT+RUN
Stop Boot Mode
RAKwireless Arduino Digital Example
------------------------------------------------------
Current Work Mode: LoRa P2P.
AT+RESET
Description: Device Reset (Bootloader only).
This command is used to reset the device (Bootloader only).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RESET | - | - | - |
Example:
AT+RESET
RAKwireless Arduino Digital Example
------------------------------------------------------
Current Work Mode: LoRa P2P.
LoRaWAN Keys and IDs
This section describes the commands related to the activation of the end device. EUI's and Keys are MSB first.
AT+DEVEUI
Description: Device EUI
This command is used to access the unique end-device ID. Used in OTAA mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+DEVEUI? | - | AT+DEVEUI : get or set the device EUI (8 bytes in hex) | OK |
AT+DEVEUI=? | - | < 8 hex > | OK |
AT+DEVEUI=<Input> | < 8 hex > | - | OK AT_PARAM_ERROR |
Example:
AT+DEVEUI=?
AT+DEVEUI=1122334455667788
OK
AT+DEVEUI=1122334455667788
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- Keys are MSB first.
<Input>
: 16 digit length, character 0-9, a-f, A-F only, representing eight (8) hexadecimal numbers.
AT+APPEUI
Description: Application identifier
This command is used to access the unique application identifier in OTAA mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+APPEUI? | - | AT+APPEUI : get or set the application EUI (8 bytes in hex) | OK |
AT+APPEUI=? | - | < 8 hex > | OK |
AT+APPEUI=<Input> | < 8 hex > | - | OK AT_PARAM_ERROR |
Example:
AT+APPEUI=0102030405060708
OK
AT+APPEUI=010203040506070809
AT_PARAM_ERROR
AT+APPEUI=?
AT+APPEUI=0102030405060708
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- Keys are MSB first.
<Input>
: 16 digit length, character 0-9, a-f, A-F only, representing eight (8) hexadecimal numbers.
AT+APPKEY
Description: Application Key
This command is used to access the application key in OTAA mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+APPKEY? | - | AT+APPKEY : get or set the application key (16 bytes in hex) | OK |
AT+APPKEY=? | - | < 16 hex > | OK |
AT+APPKEY=<Input> | < 16 hex > | - | OK AT_PARAM_ERROR |
Example:
AT+APPKEY=01020AFBA1CD4D20010230405A6B7F88
OK
AT+APPKEY=01020AFBA1CD4D20010230405A6B7F
AT_PARAM_ERROR
AT+APPKEY=?
AT+APPKEY=01020AFBA1CD4D20010230405A6B7F88
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- Keys are MSB first.
<Input>
: 32 digit length, character 0-9, a-f, A-F only, representing 16 hexadecimal numbers.
AT+DEVADDR
Description: Device Address
This command is used to access the device address in ABP mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+DEVADDR? | - | AT+DEVADDR : get or set the device address (4 bytes in hex) | OK |
AT+DEVADDR=? | - | < 4 hex > | OK |
AT+DEVADDR=<Input> | < 4 hex > | - | OK AT_PARAM_ERROR |
Example:
AT+DEVADDR=01020A0B
OK
AT+DEVADDR=?
AT+DEVADDR=01020A0B
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- Keys are MSB first.
<Input>
: 8 digit length, character 0-9, a-f, A-F only, representing four (4) hexadecimal numbers.
AT+APPSKEY
Description: Application Session Key
This command is used to set the application session key in ABP mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+APPSKEY? | - | AT+APPSKEY : get or set the application session key. | OK |
AT+APPSKEY=<Input> | < 16 hex > | OK AT_PARAM_ERROR |
Example:
AT+APPSKEY=01020AFBA1CD4D20010230405A6B7F88
OK
AT+APPSKEY=01020AFBA1CD4D20010230405A6B7F
AT_PARAM_ ERROR
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- Keys are MSB first.
<Input>
: 32 digit length, character 0-9, a-f, A-F only, representing 16 hexadecimal numbers.
AT+NWKSKEY
Description: Network Session Key
This command is used to get or set the network session key in ABP mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+NWKSKEY? | - | AT+NWKSKEY : get or set the network session key (16 bytes in hex) | OK |
AT+NWKSKEY=? | - | AT+NWKSKEY =< 16 hex > | OK |
AT+NWKSKEY=<Input> | < 16 hex > | - | OK AT_PARAM_ERROR |
Example:
AT+NWKSKEY=01020AFBA1CD4D20010230405A6B7F88
OK
AT+NWKSKEY=?
AT+NWKSKEY=01020AFBA1CD4D20010230405A6B7F88
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- Keys are MSB first.
<Input>
: 32 digit length, character 0-9, a-f, A-F only, representing 16 hexadecimal numbers.
AT+NETID
Description: Network ID (NetID)
This command is used to access the network identifier (NetID) of 3 octets.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+NETID? | - | AT+NETID : get or set the network ID (NetID) (3 bytes in hex) | OK |
AT+NETID=? | - | AT+NETID =< 3 hex > | OK |
Example:
AT+NETID=?
AT+NETID=000001
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- Keys are MSB first. Return Value: 6-digit length, character 0-9, a-f, A-F only, representing three (3) hexadecimal numbers.
AT+MCROOTKEY
Description: Multicast Root Key
This command is used to get the multicast root key of the device.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+MCROOTKEY? | - | AT+MCROOTKEY : get the multicast root key (32 bytes in hex) | OK |
AT+MCROOTKEY=? | - | <32 hex> | OK |
Example:
AT+MCROOTKEY=?
AT+MCROOTKEY=46B1A450DDDE349310F0EFDEEDFBB44B
OK
LoRaWAN Joining and Sending
This section describes the commands related to the join procedure and data payload.
AT+CFM
Description: Confirm Mode
This command is used to configure the uplink payload to be confirmed or unconfirmed type.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CFM? | - | AT+CFM : get or set the confirmation mode (0 = OFF, 1 = ON) | OK |
AT+CFM=? | - | AT+CFM = (0 or 1) | OK |
AT+CFM=<Input> | 0 or 1 | - | OK AT_PARAM_ERROR |
Example:
AT+CFM=1
OK
AT+CFM=?
AT+CFM=1
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 0.
AT+CFS=?
is used to know whether the last sent message has been confirmed or not. When the confirmation mode is 1, each sent message must be confirmed FAILED or OK.
e.g.
?>at+send=12:123456
?>+EVT: SEND CONFIRMED FAILED
?>at+send=12:123456
?>+EVT: SEND CONFIRMED OK
AT+CFS
Description: Confirm Status
This command is used to access the status of the last SEND command.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CFS? | - | AT+CFS : get the confirmation status of the last AT+SEND (0 = failure, 1 = success) | OK |
AT+CFS=? | - | 0 or 1 | OK |
Example:
AT+CFS=?
AT+CFS=0
OK
This command works together with AT+CFM=1
, which is the confirm mode configuration. If the return of this command is 1
, the last confirmed uplink is successful. If it is 0
, then the last confirmed uplink attempt failed. This command is read only, and the default value on device startup is 0
.
AT+JOIN
Description: Join LoRaWAN Network
This command is used to join a LoRaWAN network.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+JOIN? | - | AT+JOIN : join network | OK |
AT+JOIN=? | - | AT+JOIN =Param1: Param2: Param3: Param4 | OK or AT_BUSY_ERROR |
AT+JOIN=<Input Parameter> | Param1:Param2:Param3:Param4 | - | OK |
Param1 = Join command: 1 for joining the network, 0 for stop joining. | |||
Param2 = Auto-Join config: 1 for Auto-join on power up, 0 for no auto-join. (Optional parameter 0 is default) | |||
Param3 = Reattempt interval: 7 - 255 seconds (Optional parameter 8 seconds is default). | |||
Param4 = No. of join attempts: 0 - 255 (Optional parameter 0 times is default). |
This is an asynchronous command. OK
means that the device is joining. The completion of the JOIN can be verified with the AT+NJS=?
command.
Parameters of AT+JOIN
command are optional. You can use AT+JOIN
directly to join the LoRaWAN network. If no parameters are configured, the device will use the default values.
The device will as well respond with an asynchronous message whether the join process was successful or failed.
Examples:
Successful join attempt
AT+JOIN=1:0:10:8
OK
+EVT:JOINED
Failed join attempt
AT+JOIN=1:0:10:8
OK
+EVT:JOIN FAILED
If joining fails, make sure your device is within the coverage of the gateway. Also, ensure that the RUI3 LoRaWAN device is in LoRaWAN mode via AT+NWM=1
. The region is correct via AT+BAND
, and the EUIs and keys are correct.
AT+NJM
Description: Network Join Mode
This command is used to access the network join mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+NJM? | - | AT+NJM : get or set the network join mode (0 = ABP, 1 = OTAA) | OK |
AT+NJM | - | 0 | OK |
AT+NJM=<Input> | 0 or 1 | - | OK AT_PARAM_ERROR |
Example:
AT+NJM=?
0
OK
AT+NJM=1
OK
AT+NJM=2
OK
AT_PARAM_ERROR
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 1.
AT+NJS
Description: LoRa Network Join status
This command is used to access the current activation status of the device. It shows if the device joined or not in a LoRaWAN network.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+NJS? | - | AT+NJS : get the join status (0 = not joined, 1 = joined) | OK |
AT+NJS=? | - | AT+NJS = (0 or 1) | OK |
Example:
AT+NJS=?
AT+NJS=0
OK
AT+NJS=?
AT+NJS=1
OK
The command will return 1
if the device has successfully joined the network and 0
if the device hasn't joined the network yet.
AT+RECV
Description: Last received data
This command is used to access the last received data in hex format.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RECV? | - | AT+RECV : print the last received data in hex format | OK |
AT+RECV=? | - | AT+RECV =<port>:<payload> | OK |
Where:
<port>
: 1 decimal integer and the range of values is 1~233.<payload>
: 2500 digit length, must be an even number of digits and character 0-9, a-f, A-F only, representing 1256 hexadecimal numbers.
Example:
AT+RECV=?
AT+RECV=45:112233
OK
This command returns the last received data in a form, along with the port on which it was received. The format of the output is as follows:
<port>:<payload><CR><LF>
<CR><LF>OK<CR><LF>
When called twice, without new data received between the calls, the second AT+RECV=?
returns an empty value as shown below:
0:
OK
AT+SEND
Description: Send data
This command provides the way to send data on a dedicated port number.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+SEND? | - | AT+SEND : send data along with the application port | OK |
AT+SEND=<input> | <port>:<payload> | - | OK AT_PARAM_ERROR AT_BUSY_ERROR AT_NO_NETWORK_JOINED |
Where:
<port>
: 1 decimal integer and the range of values is 1~233.<payload>
: 2500-digit length, must be an even number of digits and character 0-9, a-f, A-F only, representing 1256 hexadecimal numbers.
Example:
AT+SEND=12:112233
OK
AT_PARAM_ERROR
R is returned when setting wrong or malformed value.AT_BUSY_ERROR
is returned when the previous send is not complete (send waiting for duty cycle, rx window not consumed).AT_NO_NETWORK_JOINED
is returned when the network is not yet joined.
This is an asynchronous command. OK
means that the device has started to send.
The device will as respond with an asynchronous message whether the send process was successful or failed.
AT+LPSEND
Description: Long packet data
This command provides the way to send long packet text data.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+LPSEND? | - | AT+LPSEND : send long packet data (Maximum is 1000 bytes) | OK |
AT+LPSEND=<Input> | - | <port>:<ack>:<payload> | OK AT_PARAM_ERROR |
Where:
<port>
: application port to be transmitted
<ack>
;
– 0: indicates this is an unconfirmed message;
– 1: indicates this is a confirmed message;
<payload>
: payload in hexadecimal format strings (maximum length is 1000 bytes).
Example:
AT+LPSEND=2:1:123456
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- This command is only supported by WisGate Edge gateways and their internal LoRaWAN server.
This is an asynchronous command. OK
means that the device has started to send.
The device will as respond with an asynchronous message whether the send process was successful or failed.
Long packet data mode is only supported for uplink packets. Downlink packets cannot have the long packet data format.
AT+RETY
Description: Confirm packet retransmission
This command sets the number of retransmissions of confirmed packet data.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RETY? | - | AT+RETY : set the number of retransmissions of Confirm packet data | OK |
AT+RETY=? | - | AT+RETY = [0,1,2,3,4,5,6,7] | OK |
AT+RETY=<input> | [0,1,2,3,4,5,6,7] | - | OK AT_PARAM_ERROR |
Example:
AT+RETY=?
AT+RETY=3
OK
AT+RETY=2
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 0, and the retry cycle range of values is 0~7.
LoRaWAN Network Management
This section provides a set of commands for network management.
AT+ADR
Description: Adaptive Rate
This command is used to access the adaptive data rate.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+ADR? | - | AT+ADR : get or set the adaptive data rate setting (0 = OFF, 1 = ON) | OK |
AT+ADR=? | - | AT+ADR =(0 or 1) | OK |
AT+ADR=<Input> | 0 or 1 | - | OK AT_PARAM_ERROR |
Example:
AT+ADR=?
AT+ADR=1
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 1.
AT+CLASS
Description: LoRa Class
This command is used to access the LoRaWAN class.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CLASS? | - | AT+CLASS : get or set the device class (A = class A, B = class B, C = class C) | OK |
AT+CLASS=? | - | AT+CLASS =(A, B, or C) | OK |
AT+CLASS=<Input Parameter> | A, B, or C | - | OK or AT_PARAM_ERROR |
Examples:
AT+CLASS=A
OK
AT+CLASS=?
AT+CLASS=A
OK
When operating in CLASS B, more return value is shown, that shows the current state of Class B operation:
Class B Status | Description |
---|---|
B:S0 | DeviceTimeReq |
B:S1 | Beacon Searching |
B:S2 | Beacon Locked |
B:S3 | Beacon Failed |
Example:
AT+CLASS=B
OK
AT+CLASS=?
AT+CLASS=B:S0
OK
AT+DCS
Description: Duty cycle settings
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+DCS? | - | AT+DCS : get or set the ETSI duty cycle setting (0 = disabled, 1 = enabled) | OK |
AT+DCS=? | - | AT+DCS =(0 or 1) | OK |
AT+DCS=<Input> | 0 or 1 | - | OK AT_PARAM_ERROR |
Example:
AT+DCS=?
AT+DCS=1
OK
AT+DCS=1
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the EU868 default value is 1. It depends on the region to disable or enable, and it can only be read.
AT+DR
Description: Data rate
This command is used to access and configure data rate settings.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+DR? | - | AT+DR : get or set the data rate | OK |
AT+DR=? | - | AT+DR =(0,1,2,3,4,5,6,7) | OK |
AT+DR=<Input> | 0,1,2,3,4,5,6,7 | - | OK AT_PARAM_ERROR |
Example:
AT+DR=?
AT+DR=3
OK
AT+DR=2
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the EU868 default value is 0.
- EU433 / RU864 / IN865 / EU868 / CN470 / KR920: The data rate range of values is 0-5 (DR0-DR5).
- AS923: The data rate range of values is 2-5 (DR2-DR5).
- US915: The data rate range of values is 0-4 (DR0-DR4).
- AU915 / LA915: The data rate range of values is 0-6 (DR0-DR6).
- Complete information about DR parameter on each region can be found on RUI3 Appendix - LoRaWAN Regional Parameter (Data Rate).
AT+JN1DL
Description: Join delay on RX window 1
This command is used to configure the join delay on RX window 1. The range of acceptable values is 1 to 14 seconds.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+JN1DL? | - | AT+JN1DL : get or set the join accept delay between the end of TX and the join RX window 1 in second | OK |
AT+JN1DL=? | - | 5 | OK AT_BUSY_ERROR |
AT+JN1DL=<input> | <integer> | - | OK AT_PARAM_ERROR AT_BUSY_ERROR |
Example:
AT+JN1DL=?
AT+JN1DL=5
OK
AT+JN1DL=10
OK
AT_BUSY_ERROR
is returned when a join or a send is being processed.AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 5.
<Input>
: 1-decimal integer and the range of values is 1~14.
AT+JN2DL
Description: Join delay on RX window 2
This command is used to configure the join delay on RX window 2. The range of acceptable values is 2 to 15 seconds.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+JN2DL? | - | AT+JN2DL : get the join accept delay between the end of TX and the join RX window 2 in second | OK |
AT+JN2DL=? | - | 6 | OK AT_BUSY_ERROR |
AT+JN2DL=<input> | <integer> | - | OK AT_PARAM_ERROR AT_BUSY_ERROR |
Example:
AT+JN2DL=?
AT+JN2DL=6
OK
- Take note that
AT+JN2DL
must be larger than AT+JN1DL or it will not work.AT_BUSY_ERROR
is returned when wrong setting is applied. - Also,
AT_BUSY_ERROR
is returned when a join or a send is being processed. AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+PNM
Description: Public network mode
This command is used to access the public network mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PNM? | - | AT+PNM : get or set the public network mode (0 = off, 1 = on) | OK |
AT+PNM=? | - | 0 or 1 | OK |
AT+PNM=<input> | 0 or 1 | - | OK AT_PARAM_ERROR |
Example:
AT+PNM=?
AT+PNM=0
OK
AT+PNM=1
OK
AT+PNM=2
AT_PARAM_ERROR
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 1.
AT+RX1DL
Description: Delay of the received window 1
This command is used to access the delay of the received window 1. The range of acceptable values is 1 to 15 seconds. Whenever AT+RX1DL
is updated, AT+RX2DL
is also updated automatically.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RX1DL? | - | AT+RX1DL : get or set the delay between the end of TX and the RX window 1 (in 1~15 seconds) | OK |
AT+RX1DL=? | - | <integer> | OK |
AT+RX1DL=<input> | <integer> | - | OK AT_PARAM_ERROR AT_BUSY_ERROR |
Example:
AT+RX1DL=?
AT+RX1DL=1
OK
AT+RX1DL=10
OK
AT_PARAM_ERROR
is returned when a join or a send is being processed.AT_BUSY_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 1.
<Input>
: 1-decimal integer and the range of values is 1~15.
AT+RX2DL
Description: Delay of the received window 2
This command is used to access the delay of the received window 2. The range of acceptable values is 2 to 15 seconds. Whenever AT+RX2DL
is updated, AT+RX1DL
is also updated automatically.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RX2DL? | - | AT+RX2DL : get the delay between the end of TX and the RX window 2 (in 2~15 seconds) | OK |
AT+RX2DL=? | - | <integer> | OK AT_BUSY_ERROR |
Example:
AT+RX2DL=?
AT+RX2DL=2
OK
AT_BUSY_ERROR
is returned when setting wrong or malformed value.
AT+RX2DR
Description: Data rate of the received window 2
This command is used to access the data rate of received window 2.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RX2DR? | - | AT+RX2DR : get or set the RX2 window data rate | OK |
AT+RX2DR=? | - | [0,1,2,3,4,5,6,7] or [8,9,10,11,12,13] | OK AT_BUSY_ERROR |
AT+RX2DR=<input> | [0,1,2,3,4,5,6,7] or [8,9,10,11,12,13] | - | OK AT_PARAM_ERROR AT_BUSY_ERROR |
Example:
AT+RX2DR=?
AT+RX2DR=6
OK
AT+RX2DR=5
OK
AT_PARAM_ERROR
is returned when a join or a send is being processed.AT_BUSY_ERROR
is returned when setting wrong or malformed value.- In this case, the EU868 default value is 0 and the US915 default value is 8.
EU433 / RU864 / IN865 / EU868 / CN470 / KR920 and the data rate range of values is 0-5 (DR0-DR5).
AS923 and the data rate range of values is 2-5 (DR2-DR5).
US915 / AU915 / LA915 and the data rate range of values is 8-13 (DR8-DR13).
AT+RX2FQ
Description: Frequency of the received window 2
This command is used to access the frequency of the received window 2.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RX2FQ? | - | AT+RX2FQ : get the Rx2 window frequency (Hz) | OK |
AT+RX2FQ=? | - | Frequency in Hz | OK AT_BUSY_ERROR |
Example:
AT+RX2FQ=?
AT+RX2FQ=869535000
OK
AT_BUSY_ERROR
is returned when setting wrong or malformed value.- In this case, the EU868 default value is 869525000. It depends on the region frequency, and it can only be read.
AT+TXP
Description: Transmit power
This command is used to access the transmit power.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+TXP? | - | AT+TXP : get or set the transmitting power (0 = highest TX power, 10 = lowest TX power) | OK |
AT+TXP=? | - | <value> | OK AT_PARAM_ERROR |
AT+TXP=<input> | <value> | - | OK AT_PARAM_ERROR |
Example:
AT+TXP=?
AT+TXP=1
OK
AT+TXP=4
OK
AT_PARAM_ERROR
is returned when a join or a send is being processed.- In this case, the TX Power default value is 0.
EU868 / RU864 / KR920 / AS923 / CN470 and Transmit power range of values is 0-7.
US915 / AU915 and Transmit power range of values is 0-14.
EU433 and Transmit power range of values is 0-5.
IN865 and Transmit power range of values is 0-10. - Highest power start from 0. Complete information about TXP parameter on each region can be found on RUI3 Appendix - LoRaWAN Regional Parameter (TX Power).
AT+LINKCHECK
Description: Verify network link status
This command is used to access and configure the device network link status.
Command | Input Parameter | Return value | Return code |
---|---|---|---|
AT+LINKCHECK? | - | AT+LINKCHECK : get or set the link check setting (0 = disabled, 1 = once, 2 = everytime) | OK |
AT+LINKCHECK=? | - | [0,1,2] | OK |
AT+LINKCHECK=<Input> | [0,1,2] | - | OK AT_PARAM_ERROR |
Input parameter details:
- 0 - Disable Link Check
- 1 - Execute Link Check just once on the next payload uplink.
- 2 - Module will automatically execute one-time Link Check after every payload uplink.
Example:
AT+LINKCHECK=?
AT+LINKCHECK=0
OK
AT+LINKCHECK=1
OK
AT+SEND=3:12341234
OK
+EVT:LINKCHECK:0,21,1,-60,11
LINKCHECK
is a dedicated LoRaWAN MAC command that checks the connectivity status of the end-device to the network. You will have the LINKCHECK
status reply once the AT+SEND
command is executed. In case of a failed uplink (regardless if confirmed or unconfirmed), the LINKCHECK
reply will be +EVT:LINKCHECK:1,0,0,0,0
.
Reply format: +EVT:LINKCHECK:Y0,Y1,Y2,Y3,Y4
- Y0 represents the result of Link Check
- 0 – represents the Link Check execute success (+EVT:LINKCHECK:0,0,1,-107,4)
- Non-0 – represents the Link Check execute fail (+EVT:LINKCHECK:1,0,0,0,0)
- Y1 represents the DemodMargin
- Y2 represents the NbGateways
- Y3 represents the RSSI
- Y4 represents the SNR
AT+LBT
Description: LoRaWAN "Listen Before Talk" (LBT)
This command is used to enable or disable LoRaWAN LBT.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+LBT? | - | AT+LBT : get or set the LoRaWAN LBT (support Korea Japan) (0=Disabled; 1=Enabled) | OK |
AT+LBT=? | - | <0-1> | OK |
AT+LBT=<Input> | <0-1> | - | OK AT_PARAM_ERROR |
Example:
AT+LBT=?
AT+LBT=0
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+LBTRSSI
Description: LoRaWAN "Listen Before Talk" RSSI (LBTRSSI)
This command is used to set or get LoRaWAN LBT RSSI.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+LBTRSSI? | - | AT+LBTRSSI : get or set the LoRaWAN LBT RSSI (support Korea Japan) | OK |
AT+LBTRSSI=? | - | <RSSI> | OK |
AT+LBTRSSI=<Input> | <RSSI> | - | OK AT_PARAM_ERROR |
Example:
AT+LBTRSSI=?
AT+LBTRSSI=-80
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+LBTSCANTIME
Description: LoRaWAN "Listen Before Talk" Scantime (LBTSCANTIME)
This command is used to set or get LoRaWAN LBT Scantime.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+LBTSCANTIME? | - | AT+LBTSCANTIME : get or set the LoRaWAN LBT scantime (support Korea Japan) | OK |
AT+LBTSCANTIME=? | - | <time> | OK |
AT+LBTSCANTIME=<Input> | <time> | - | OK AT_PARAM_ERROR |
Example:
AT+LBTSCANTIME=?
AT+LBTSCANTIME=5
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+TIMEREQ
Description: Time Request
This command is used to request the current date and time.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+TIMEREQ? | - | AT+TIMEREQ : request the current date and time (0=Disabled, 1=Enabled) | OK |
AT+TIMEREQ=? | - | <0-1> | OK |
AT+TIMEREQ=<Input> | <0-1> | - | OK AT_PARAM_ERROR |
Example:
AT+TIMEREQ=?
AT+TIMEREQ=0
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value. The time can be acquired withat+ltime=?
and is returned in UTC+0 timezone as04h36m00s on 11/27/2023
AT+LTIME
Description: Local time
This command is used to access the local time in a UTC format.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+LTIME? | - | AT+LTIME : get the local time | OK |
AT+LTIME=? | - | LTIME:<HOUR>h<MINUTE>m<SECOND>s<DAY>-<MONTH> | OK |
Example:
AT+LTIME=?
LTIME: 04h36m00s on 11/27/2023
OK
The time is returned in UTC+0 timezone as 04h36m00s on 11/27/2023
Class B Mode
This section provides a set of commands for Class B mode management.
AT+PGSLOT
Description: Periodicity
This command is used to get or set the unicast ping slot periodicity.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PGSLOT? | - | AT+PGSLOT : get or set the unicast ping slot periodicity (0-7) | OK |
AT+PGSLOT=? | - | [0,1,2,3,4,5,6,7] | |
AT+PGSLOT=<input> | [0,1,2,3,4,5,6,7] | - | OK AT_PARAM_ERROR |
Example:
AT+PGSLOT=?
AT+PGSLOT=0
OK
AT+PGSLOT=1
OK
AT_PARAM_ERROR
is returned when a join or a send is being processed.- In this case, the default value is 0.
<Input>
: 1 decimal integer and the range of values is 0~7.
Periodicity = 0 means that the end device opens a ping slot approximately every second during the beacon_window interval.
Periodicity = 7, every 128 seconds, which is the maximum ping period.
AT+BFREQ
Description: Beacon frequency
This command is used to access the current beacon (default broadcast) frequency
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BFREQ? | - | AT+BFREQ : get the data rate and beacon frequency (MHz) | OK |
AT+BFREQ=? | - | BCON: < 0, 1, 2, 3, 4, 5, 6, or 7 >, <integer> | OK |
Example:
AT+BFREQ=?
BCON: 3, 869.525
OK
- In this case, the EU868 SF9 / 125 MHz and the default frequency value is 869525000. It depends on the region frequency, and it can only be read.
AT+BTIME
Description: Beacon time
This command is used to access the current beacon time.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BTIME? | - | BTIME : get the beacon time (seconds since GPS Epoch time) | OK |
AT+BTIME=? | - | BTIME : GPS epoch time | OK |
Example:
AT+BTIME=?
BTIME: 1226592311
OK
AT+BGW
Description: Gateway GPS coordinate, NetID, and GwID
This command is used to access the GW GPS coordinate, NetID, and GwID.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BGW? | - | AT+BGW : get the gateway GPS coordinate, NetID and GwID | OK |
AT+BGW=? | - | BGW: <INFO> , <netid> , <gwid> , <longitude> , <latitude> | OK |
Example:
AT+BGW=?
BGW: 3, “NetID”, “GwID”, “N/A”, “N/A”
OK
In this case, the default value is 0,0,0,0.
- For a single omnidirectional antenna gateway, the INFO value is 0 with GPS coordinates.
- For a site featuring three sectored antennas, for example, the first antenna INFO equals 0 with GPS coordinates, the second antenna INFO equals 1 with GPS coordinate, etc. In this case, netid and gwid are not relevant. When INFO = 3, the content of network NetID plus a freely allocated gateway gwid and longitude and latitude are not relevant.
- Time in seconds since January 6, 1980 00:00:00 UTC (start of the GPS epoch) modulo 232.
Asynchronous Events
This section describes the output from serial/comm lines of the module that can occur at any point in time while the device is operational. Host parser may need to handle this event at any time.
Event | UART output | Status description |
---|---|---|
Beacon check via AT+CLASS=? | +BC: < status > | LOCKED = Receive Beacon. |
DONE = Switch to Class B mode. | ||
FAILED = Beacon sync failed. | ||
Pingslot process | +PS: < status > | DONE = At this time, ping slots will be opened periodically. The modem is now in Class B mode. |
Class B/C downlink | +EVT: < status > | RX_B:-47:3:UNICAST:2:4321 -47 is RSSI, 3 is SNR, Unicast for B / Multicast for C, 2 is Fport, 4321 is payload. |
Class A downlink | +EVT: < status > | RX_1:-70:8:UNICAST:1:1234 -70 is RSSI, 8 is SNR, 1 is Fport, 1234 is payload. |
Join | +EVT: < status > | JOINED |
JOIN_FAILED_TX_TIMEOUT | ||
JOIN_FAILED_RX_TIMEOUT | ||
JOIN_FAILED_errorcode = errorcode can specify specific error on joining process. | ||
LoRaWAN Uplink | +EVT:TX_DONE | |
AT_NO_NETWORK_JOINED | ||
Confirm | +EVT: < status > | SEND_CONFIRMED_OK |
SEND_CONFIRMED_FAILED | ||
P2P | +EVT: < status > | TXP2P DONE = Done sending data. |
RXP2P RECEIVE TIMEOUT = Nothing received on the configured P2P LoRa RX window. | ||
RXP2P:-112:1:1234 = -112 is RSSI, 1 is SNR and 1234 is the payload. | ||
Link Check | +EVT: < status > | LINKCHECK:Y0:Y1:Y2:Y3:Y4 |
Y0 = represents link status (1:links success, 2: link fail) | ||
Y1 = represents the DemodMargin | ||
Y2 = represents the NbGateways | ||
Y3 = represents the RSSI | ||
Y4 = represents the SNR |
LoRaWAN Information
This section provides a set of commands for battery level, RF signal quality, and FW version.
AT+RSSI
Description: RSSI on reception
This command is used to access the RSSI on reception.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RSSI? | - | AT+RSSI : get the RSSI of the last received packet | OK |
AT+RSSI=? | - | -31 | OK |
AT+RSSI=?
provides a value in dBm, and it can only be read.- When the connection is successful, it gets the RSSI of the last received packet.
AT+ARSSI
Description: Inquire all channel RSSI
This command allows you to view all open channels RSSI
Command | Input Parameter | Return value | Return code |
---|---|---|---|
AT+ARSSI? | - | AT+ARSSI : access all open channel RSSI | OK |
AT+ARSSI=? | - | 0:<Channel 0 rssi> 1: <Channel 1 rssi> .... 15: <Channel 15 rssi> | OK |
Example:
AT+ARSSI=?
0:-57,1:-57,2:-57
OK
AT+ARSSI=?
provides a value in dBm, and it can only be read.- When the connection is successful, it views all open channels RSSI of the last received packet.
AT+SNR
Description: Signal noise ratio
This command is used to access the SNR of the last received packet.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+SNR? | - | AT+SNR : get the SNR of the last received packet | OK |
AT+SNR=? | - | 32 | OK |
AT+SNR=?
provides a value in dB and it can only be read. When the connection is successful and gets the SNR of the last received packet
LoRaWAN Regional Commands
This section provides the set of commands related to channels and LoRaWAN® regions.
AT+MASK
Description: Set the channel mask, close or open the channel
This command configures the channel of the device by setting the hexadecimal channel mask.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+MASK? | - | AT+MASK : get or set the channel mask to close or open the channel (only for US915, AU915, LA915, CN470) | OK |
AT+MASK=? | - | <mask> | OK |
AT+MASK=<input> | <mask> | - | OK AT_PARAM_ERROR AT_BUSY_ERROR |
Example:
AT+MASK=0001
OK
AT+MASK=?
AT+MASK=0001
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.AT_BUSY_ERROR
is returned when the set command process is already running.- In this case, the channel mask mode is only for US915, AU915, CN470, and LA915.
- For US915 / AU915 / LA915, the default value is 01FF.
- For CN470, the default value is 0FFF.
<Input>
: 4-digit length, character 0-9, a-f, A-F only, representing a 16-bit mask.
The table below shows the attached list on setting the channel mask.
Sub-Band | Channels | 16bits | US915 | AU915 | LA915 | CN470 |
---|---|---|---|---|---|---|
ALL | 0000 | 0000000000000000 | All Channels | All Channels | All Channels | All Channels |
1 | 0001 | 0000000000000001 | 0-7, 64 | 0-7, 64 | 0-7, 64 | 0-7 |
2 | 0002 | 0000000000000010 | 8-15, 65 | 8-15, 65 | 8-15, 65 | 8-15 |
3 | 0004 | 0000000000000100 | 16-23, 66 | 16-23, 66 | 16-23, 66 | 16-23 |
4 | 0008 | 0000000000001000 | 24-31, 67 | 24-31, 67 | 24-31, 67 | 24-31 |
5 | 0010 | 0000000000010000 | 32-39, 68 | 32-39, 68 | 32-39, 68 | 32-39 |
6 | 0020 | 0000000000100000 | 40-47, 69 | 40-47, 69 | 40-47, 69 | 40-47 |
7 | 0040 | 0000000001000000 | 48-55, 70 | 48-55, 70 | 48-55, 70 | 48-55 |
8 | 0080 | 0000000010000000 | 56-63, 71 | 56-63, 71 | 56-63, 71 | 56-63 |
9 | 0100 | 0000000100000000 | - | - | - | 64-71 |
10 | 0200 | 0000001000000000 | - | - | - | 72-79 |
11 | 0400 | 0000010000000000 | - | - | - | 80-87 |
12 | 0800 | 0000100000000000 | - | - | - | 88-95 |
AT+CHE
Description: Eight channel mode
This command sets the node to eight-channel mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CHE? | - | AT+CHE : get or set eight channels mode (only for US915 AU915 LA915 CN470) | OK |
AT+CHE=? | - | <value> | OK |
AT+CHE=<Input> | <value> | - | OK AT_PARAM_ERROR |
Example:
AT+CHE=1:2:3:4
OK
AT+CHE=?
AT+CHE=1:2:3:4
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the eight-channel mode is only for US915, AU915, CN470, and LA915.
- US915 / AU915 / LA915 range of values is 0~9.
- CN470 range of values is 0~12.
- For example,
AT+CHE=1:2:3:4
to enable ch0~31.<value>
: maximum 12 decimal numbers and the range of values depends on region. - According to LoRaWAN Regional Parameters v1.0.3revA, the first 64 channels are numbered 0 to 63, starting at 902.3 MHz and increments linearly by 200 kHz to 914.9 MHz.
- The next eight (8) channels numbered 64 to 71 are starting at 903.0 MHz and increments linearly by 1.6 MHz to 914.2 MHz.
US915 Uplink Channels & Attached List
CHE | US915 Uplink Channels (125 kHz,4/5,Unit:MHz,CHS=0) | ||||||||
---|---|---|---|---|---|---|---|---|---|
0 | ENABLE Channel 0-71 | ||||||||
1 | 902.3 | 902.5 | 902.7 | 902.9 | 903.1 | 903.3 | 903.5 | 903.7 | Channel 0-7 |
2 | 903.9 | 904.1 | 904.3 | 904.5 | 904.7 | 904.9 | 905.1 | 905.3 | Channel 8-15 |
3 | 905.5 | 905.7 | 905.9 | 906.1 | 906.3 | 906.5 | 906.7 | 906.9 | Channel 16-23 |
4 | 907.1 | 907.3 | 907.5 | 907.7 | 907.9 | 908.1 | 908.3 | 908.5 | Channel 24-31 |
5 | 908.7 | 908.9 | 909.1 | 909.3 | 909.5 | 909.7 | 909.9 | 910.1 | Channel 32-39 |
6 | 910.3 | 910.5 | 910.7 | 910.9 | 911.1 | 911.3 | 911.5 | 911.7 | Channel 40-47 |
7 | 911.9 | 912.1 | 912.3 | 912.5 | 912.7 | 912.9 | 913.1 | 913.3 | Channel 48-55 |
8 | 913.5 | 913.7 | 913.9 | 914.1 | 914.3 | 914.5 | 914.7 | 914.9 | Channel 56-63 |
9 | 903.0 | 904.6 | 906.2 | 907.8 | 909.4 | 911.0 | 912.6 | 914.2 | Channel 64-71 |
- According to LoRaWAN® Regional Parameters v1.0.3revA, the first 64 channels are numbered 0 to 63, starting at 902.3 MHz and increments linearly by 200 kHz to 914.9 MHz. The next eight (8) channels numbered 64 to 71 are starting at 903.0 MHz and increments linearly by 1.6 MHz to 914.2 MHz.
AU915 Uplink Channels & Attached List
CHE | AU915 Uplink Channels (125 kHz,4/5,Unit:MHz, CHS=0) | ||||||||
---|---|---|---|---|---|---|---|---|---|
0 | ENABLE Channel 0-71 | ||||||||
1 | 915.2 | 915.4 | 915.6 | 915.8 | 916.0 | 916.2 | 916.4 | 916.6 | Channel 0-7 |
2 | 916.8 | 917.0 | 917.2 | 917.4 | 917.6 | 917.8 | 918.0 | 918.2 | Channel 8-15 |
3 | 918.4 | 918.6 | 918.8 | 919.0 | 919.2 | 919.4 | 919.6 | 919.8 | Channel 16-23 |
4 | 920.0 | 920.2 | 920.4 | 920.6 | 920.8 | 921.0 | 921.2 | 921.4 | Channel 24-31 |
5 | 921.6 | 921.8 | 922.0 | 922.2 | 922.4 | 922.6 | 922.8 | 923.0 | Channel 32-39 |
6 | 923.2 | 923.4 | 923.6 | 923.8 | 924.0 | 924.2 | 924.4 | 924.6 | Channel 40-47 |
7 | 924.8 | 925.0 | 925.2 | 925.4 | 925.6 | 925.8 | 926.0 | 926.2 | Channel 48-55 |
8 | 926.4 | 926.6 | 926.8 | 927.0 | 927.2 | 927.4 | 927.6 | 927.8 | Channel 56-63 |
9 | 915.9 | 917.5 | 919.1 | 920.7 | 922.3 | 923.9 | 925.5 | 927.1 | Channel 64-71 |
- According to LoRaWAN® Regional Parameters v1.0.3revA, the first 64 channels are numbered 0 to 63, starting at 915.2 MHz and increments linearly by 200 kHz to 927.8 MHz. The next eight (8) channels numbered 64 to 71 are starting at 915.9 MHz and increments linearly by 1.6 MHz to 927.1 MHz.
CN470 Uplink Channels & Attached List
CHE | CN470 Uplink Channels (125 kHz,4/5,Unit:MHz,CHS=0) | ||||||||
---|---|---|---|---|---|---|---|---|---|
0 | ENABLE Channel 0-95 | ||||||||
1 | 470.3 | 470.5 | 470.7 | 470.9 | 471.1 | 471.3 | 471.5 | 471.7 | Channel 0-7 |
2 | 471.9 | 472.1 | 472.3 | 472.5 | 472.7 | 472.9 | 473.1 | 473.3 | Channel 8-15 |
3 | 473.5 | 473.7 | 473.9 | 474.1 | 474.3 | 474.5 | 474.7 | 474.9 | Channel 16-23 |
4 | 475.1 | 475.3 | 475.5 | 475.7 | 475.9 | 476.1 | 476.3 | 476.5 | Channel 24-31 |
5 | 476.7 | 476.9 | 477.1 | 477.3 | 477.5 | 477.7 | 477.9 | 478.1 | Channel 32-39 |
6 | 478.3 | 478.5 | 478.7 | 478.9 | 479.1 | 479.3 | 479.5 | 479.7 | Channel 40-47 |
7 | 479.9 | 480.1 | 480.3 | 480.5 | 480.7 | 480.9 | 481.1 | 481.3 | Channel 48-55 |
8 | 481.5 | 481.7 | 481.9 | 482.1 | 482.3 | 482.5 | 482.7 | 482.9 | Channel 56-63 |
9 | 483.1 | 483.3 | 483.5 | 483.7 | 483.9 | 484.1 | 484.3 | 484.5 | Channel 64-71 |
10 | 484.7 | 484.9 | 485.1 | 485.3 | 485.5 | 485.7 | 485.9 | 486.1 | Channel 72-79 |
11 | 486.3 | 486.5 | 486.7 | 486.9 | 487.1 | 487.3 | 487.5 | 487.7 | Channel 80-87 |
12 | 487.9 | 488.1 | 488.3 | 488.5 | 488.7 | 488.9 | 489.1 | 489.3 | Channel 88-95 |
- According to LoRaWAN® Regional Parameters v1.0.3revA, the 96 channels are numbered 0 to 95, starting at 470.3 MHz and increments linearly by 200 kHz to 489.3 MHz.
AT+CHS
Description: Single channel mode
This command sets the node to single-channel mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CHS? | - | AT+CHS : get or set single channels mode (only for US915 AU915 CN470) | OK |
AT+CHS=? | - | 0 or <frequency> | OK |
AT+CHS=<Input> | <frequency> | - | OK |
Example:
AT+CHS=902300000
OK
AT+CHS=?
AT+CHS=902300000
OK
In this case, the single-channel mode is only for US915, AU915, CN470.
- US915 frequency range is from 902300000 to 914900000 and increments linearly by 200 kHz (ch0-63).
- US915 frequency range is from 903000000 to 914200000 and increments linearly by 1.6 MHz (ch64-71).
- AU915 frequency range is from 915200000 to 927800000 and increments linearly by 200 kHz (ch0-63).
- AU915 frequency range is from 915900000 to 927100000 and increments linearly by 1.6 MHz (ch64-71).
- CN470 frequency range is from 470300000 to 489300000 and increments linearly by 200 kHz (ch0-95).
- If you input
AT+CHS=903900000
, it will overwrite theAT+MASK
andAT+CHE
settings. AT+MASK=0001(single channel mode: 903900000)
, the 0001 is the previous one, and the current is 90390000.
US915 Uplink Channels Frequency & Attached List
US915 Uplink Channels (125k Hz,4/5,Unit:MHz,CHS=Frequency) | ||||||||
---|---|---|---|---|---|---|---|---|
ENABLE Channel 0-71 | ||||||||
Channel 0-7 | 902300000 | 902500000 | 902700000 | 902900000 | 903100000 | 903300000 | 903500000 | 903700000 |
Channel 8-15 | 903900000 | 904100000 | 904300000 | 904500000 | 904700000 | 904900000 | 905100000 | 905300000 |
Channel 16-23 | 905500000 | 905700000 | 905900000 | 906100000 | 906300000 | 906500000 | 906700000 | 906900000 |
Channel 24-31 | 907100000 | 907300000 | 907500000 | 907700000 | 907900000 | 908100000 | 908300000 | 908500000 |
Channel 32-39 | 908700000 | 908900000 | 909100000 | 909300000 | 909500000 | 909700000 | 909900000 | 910100000 |
Channel 40-47 | 910300000 | 910500000 | 910700000 | 910900000 | 911100000 | 911300000 | 911500000 | 911700000 |
Channel 48-55 | 911900000 | 912100000 | 912300000 | 912500000 | 912700000 | 912900000 | 913100000 | 913300000 |
Channel 56-63 | 913500000 | 913700000 | 913900000 | 914100000 | 914300000 | 914500000 | 914700000 | 914900000 |
Channel 64-71 | 903000000 | 904600000 | 906200000 | 907800000 | 909400000 | 911000000 | 912600000 | 914200000 |
According to LoRaWAN® Regional Parameters v1.0.3revA, the first 64 channels are numbered 0 to 63, starting at 902. 3 MHz and increments linearly by 200 kHz to 914.9 MHz. The next eight (8) channels numbered 64 to 71 are starting at 903.0 MHz and increments linearly by 1.6 MHz to 914.2 MHz
AU915 Uplink Channels Frequency & Attached List
AU915 Uplink Channels (125 kHz,4/5,Unit:MHz,CHS=Frequency) | ||||||||
---|---|---|---|---|---|---|---|---|
ENABLE Channel 0-71 | ||||||||
Channel 0-7 | 915200000 | 915400000 | 915600000 | 915800000 | 916000000 | 916200000 | 916400000 | 916600000 |
Channel 8-15 | 916800000 | 917000000 | 917200000 | 917400000 | 917600000 | 917800000 | 918000000 | 918200000 |
Channel 16-23 | 918400000 | 918600000 | 918800000 | 919000000 | 919200000 | 919400000 | 919600000 | 919800000 |
Channel 24-31 | 920000000 | 920200000 | 920400000 | 920600000 | 920800000 | 921000000 | 921200000 | 921400000 |
Channel 32-39 | 921600000 | 921800000 | 922000000 | 922200000 | 922400000 | 922600000 | 922800000 | 923000000 |
Channel 40-47 | 923200000 | 923400000 | 923600000 | 923800000 | 924000000 | 924200000 | 924400000 | 924600000 |
Channel 48-55 | 924800000 | 925000000 | 925200000 | 925400000 | 925600000 | 925800000 | 926000000 | 926200000 |
Channel 56-63 | 926400000 | 926600000 | 926800000 | 927000000 | 927200000 | 927400000 | 927600000 | 927800000 |
Channel 64-71 | 915900000 | 917500000 | 919100000 | 920700000 | 922300000 | 923900000 | 925500000 | 927100000 |
According to LoRaWAN® Regional Parameters v1.0.3revA, the first 64 channels are numbered 0 to 63, starting at 915.2 MHz and increments linearly by 200 kHz to 927.8 MHz. The next eight (8) channels numbered 64 to 71 are starting at 915.9 MHz and increments linearly by 1.6 MHz to 927.1 MHz.
CN470 Uplink Channels Frequency & Attached List
CN470 Uplink Channels (125 kHz,4/5,Unit:MHz,CHS=Frequency) | ||||||||
---|---|---|---|---|---|---|---|---|
ENABLE Channel 0-95 | ||||||||
Channel 0-7 | 470300000 | 470500000 | 470700000 | 470900000 | 471100000 | 471300000 | 471500000 | 471700000 |
Channel 8-15 | 471900000 | 472100000 | 472300000 | 472500000 | 472700000 | 472900000 | 473100000 | 473300000 |
Channel 16-23 | 473500000 | 473700000 | 473900000 | 474100000 | 474300000 | 474500000 | 474700000 | 474900000 |
Channel 24-31 | 475100000 | 475300000 | 475500000 | 475700000 | 475900000 | 476100000 | 476300000 | 476500000 |
Channel 32-39 | 476700000 | 476900000 | 477100000 | 477300000 | 477500000 | 477700000 | 477900000 | 478100000 |
Channel 40-47 | 478300000 | 478500000 | 478700000 | 478900000 | 479100000 | 479300000 | 479500000 | 479700000 |
Channel 48-55 | 479900000 | 480100000 | 480300000 | 480500000 | 480700000 | 480900000 | 481100000 | 481300000 |
Channel 56-63 | 481500000 | 481700000 | 481900000 | 482100000 | 482300000 | 482500000 | 482700000 | 482900000 |
Channel 64-71 | 483100000 | 483300000 | 483500000 | 483700000 | 483900000 | 484100000 | 484300000 | 484500000 |
Channel 72-79 | 484700000 | 484900000 | 485100000 | 485300000 | 485500000 | 485700000 | 485900000 | 486100000 |
Channel 80-87 | 486300000 | 486500000 | 486700000 | 486900000 | 487100000 | 487300000 | 487500000 | 487700000 |
Channel 88-95 | 487900000 | 488100000 | 488300000 | 488500000 | 488700000 | 488900000 | 489100000 | 489300000 |
According to LoRaWAN® Regional Parameters v1.0.3revA, the 96 channels are numbered 0 to 95, starting at 470.3 MHz and increments linearly by 200 kHz to 489.3 MHz.
AT+BAND
Description: Active region
This command sets numbers corresponding to active regions.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BAND? | - | AT+BAND : get or set the active region(0 = EU433, 1 = CN470, 2 = RU864, 3 = IN865, 4 = EU868, 5 = US915, 6 = AU915, 7 = KR920, 8 = AS923-1, 9 = AS923-2, 10 = AS923-3, 11 = AS923-4, 12 = LA915) | OK |
AT+BAND=? | - | 0,1,2,3,4,5,6,7,8,9,10,11,12 | OK |
AT+BAND=<Input> | 0,1,2,3,4,5,6,7,8,9,10,11,12 | - | OK AT_PARAM_ERROR AT_BUSY_ERROR |
Example:
AT+BAND=?
AT+BAND=3
OK
AT+BAND=2
OK
-
If you are using US915, it is common to have an 8-ch Gateway/LNS setup with channels 8–15. To enable these channels, use
AT+MASK=0002
. -
AT_PARAM_ERROR
is returned when setting wrong or malformed value. -
AT_BUSY_ERROR
is returned when the set command process is already running. -
In this case, the default value is 4, and it depends on the region. 0: EU433 1: CN470 2: RU864 3: IN865 4: EU868 5: US915 6: AU915 7: KR920 8: AS923-1 9: AS923-2 10: AS923-3 11: AS923-4 12: LA915
<Input>
: 1 decimal integer and the range of values is 0~8. -
RUI3 LoRa/LoRaWAN® devices are divided into two variants - Low Frequency and High Frequency. Examples are the RAK4630(L) and RAK4630(H) devices.
- Low frequency variant is compatible only to 0 - 1.
- High frequency variant is compatible only to 2 - 12.
LoRaWAN Multicast Group
This section describes the commands related to multicast group functionality.
AT+ADDMULC
Description: Add multicast group
This command is used to add a new multicast group and multicast parameters.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+ADDMULC? | - | AT+ADDMULC : add a new multicast group | OK |
AT+ADDMULC=<Input Parameter> | [Class]:[DevAddr]:[NwkSKey]:[AppSKey]:[Frequency]:[Datarate]:[Periodicity] | - | OK or AT_PARAM_ERROR |
Class B and Class C use the same command input parameters. The periodicity needs to be configured even on Class C so that the command will be accepted with the needed parameters.
Examples:
AT+ADDMULC=B:11223344:11223344556677881122334455667788:11223344556677881122334455667788:868000000:0:0
OK
AT+RMVMULC
Description: Remove multicast group
This command is used to remove the configured multicast group.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RMVMULC? | - | AT+RMVMULC : delete a multicast group | OK |
AT+RMVMULC=<Input Parameter> | <DevAddr> | - | OK |
Example:
You can only remove a group with the address already added.
AT+RMVMULC=11223344
OK
AT+LSTMULC
Description: Multicast list
This command is used to get the information about the configured multicast group.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+LSTMULC? | - | AT+RMVMULC : view multicast group information | OK |
AT+LSTMULC=? | - | MC1:[Class]:[DevAddr]:[NwkSK ey]:[AppSKey]:[Frequency]:[Datarate] | OK |
Examples:
AT+LSTMULC=?
B:11223344:11223344556677881122334455667788:11223344556677881122334455667788:868000000:0
OK
P2P Instructions
This section describes the commands related to LoRa point-to-point functionality.
AT+NWM
Description: LoRa network work mode
Switch to point-to-point mode, or LoRaWAN mode [0:Point-to-point, 1:LoRaWAN].
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+NWM? | - | AT+NWM : get or set the network working mode (0 = P2P_LORA, 1 = LoRaWAN, 2 = P2P_FSK) | OK |
AT+NWM=? | - | 0,1,2 | OK |
AT+NWM=<Input> | 0,1,2 | The RUI3 device will restart automatically to switch network work mode | - |
Example:
AT+NWM=?
AT+NWM=1
OK
AT+NWM=0
OK
RAKwireless RAK3172
------------------------------------------------------
Version: RUI_4.0.4_RAK3172-E
Current Work Mode: LoRa P2P.
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 1.
- On RAK4630/RAK4631, the device will restart which requires reconnection to detect it again via UART.
AT+PFREQ
Description: P2P mode frequency
This command sets the frequency of P2P mode.
Command | Input Parameter | Return value | Return code |
---|---|---|---|
AT+PFREQ? | - | AT+PFREQ : configure P2P Frequency | OK |
AT+PFREQ=? | - | <Frequency> | OK |
AT+PFREQ=<param> | <Frequency> | - | OK AT_PARAM_ERROR |
Example:
AT+PFREQ=?
AT+PFREQ=868000000
OK
AT+PFREQ=868500000
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default frequency value is 868000000, and the frequency range is from 150000000 to 960000000.
- RUI3 LoRa/LoRaWAN devices are divided into two variants - Low Frequency and High Frequency. Examples are the RAK4630(L) and RAK4630(H) devices.
- Low frequency variant is compatible only to 150000000 - 600000000.
- High frequency variant is compatible only to 600000000 - 960000000.
AT+PSF
Description: P2P mode spreading factor
This command provides a configuration of the spreading factor for the P2P mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PSF? | - | AT+PSF : configure P2P Spreading Factor (5-12) | OK |
AT+PSF=? | - | <Spreading Factor> | OK |
AT+PSF=<param> | <Spreading Factor> | - | OK AT_PARAM_ERROR |
Example:
AT+PSF=?
AT+PSF=7
OK
AT+PSF=12
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 7, and the Spreading Factor range of values is 5~12. P2P is an SW proprietary protocol, and it depends on HW support the range of Spreading Factors SF5~SF12.
AT+PBW
Description: P2P mode bandwidth
This command provides bandwidth configuration for the P2P mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PBW? | - | AT+PBW : configure P2P Bandwidth(LORA: 0 = 125, 1 = 250, 2 = 500, 3 = 7.8, 4 = 10.4, 5 = 15.63, 6 = 20.83, 7 = 31.25, 8 = 41.67, 9 = 62.5 FSK: 4800-467000) | OK |
AT+PBW=? | - | <Bandwidth> | OK |
AT+PBW=<param> | <Bandwidth> | - | OK AT_PARAM_ERROR |
Example: Changing to bandwidth 250 kHz from 100 kHz.
AT+PBW=?
AT+PBW=0
OK
AT+PBW=1
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 0 = 125 kHz.
AT+PCR
Description: P2P mode code rate
This command provides the configuration code rate for the P2P mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PCR? | - | AT+PCR : configure P2P Code Rate(0=4/5, 1=4/6, 2=4/7, 3=4/8) | OK |
AT+PCR=? | - | <Code Rate> | OK |
AT+PCR=<param> | <Code Rate> | - | OK AT_PARAM_ERROR |
Example:
AT+PCR=?
AT+PCR=2
OK
AT+PCR=3
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 0, and the code rate range of values is 0~3. LoRa using coding rate 4/5.
AT+PPL
Description: P2P mode preamble length
This command provides configuration Preamble Length for the P2P mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PPL? | - | AT+PPL : configure P2P Preamble Length (5-65535) | OK |
AT+PPL=? | - | <Preamble Length> | OK |
AT+PPL=<param> | <Preamble Length> | - | OK AT_PARAM_ERROR |
Example:
AT+PPL=?
AT+PPL=8
OK
AT+PPL=8
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 8.
<param>
: 1 decimal integer, and the range of values is 5~65535.
AT+PTP
Description: P2P mode TX power
This command provides configuration TX Power for the P2P mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PTP? | - | AT+PTP : configure P2P TX power (5-22) | OK |
AT+PTP=? | - | <TX Power> | OK |
AT+PTP=<param> | <TX Power> | - | OK AT_PARAM_ERROR |
Example:
AT+PTP=?
AT+PTP=14
OK
AT+PTP=20
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the TX Power default value is 14 dBm, and the range of values is 5~22 dBm.
AT+PBR
Description: P2P FSK bitrate
This command gets or sets the P2P FSK modem bitrate (600 b/s-300000 b/s).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PBR? | - | AT+PBR : get or set the P2P FSK modem bitrate (600-300000 b/s) | OK |
AT+PBR=? | - | <fbitrate> | OK |
AT+PBR=<param> | <fbitrate> | - | OK AT_PARAM_ERROR |
Example:
AT+PBR=?
AT+PBR=4915
OK
AT+PBR=4915
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+PFDEV
Description: P2P FSK modem frequency deviation
This command gets or sets the P2P FSK modem frequency deviation (600-200000 Hz).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PFDEV? | - | AT+PFDEV : get or set the P2P FSK modem frequency deviation (600-200000 Hz) | OK |
AT+PFDEV=? | - | <frequency deviation> | OK |
AT+PFDEV=<param> | <frequency deviation> | - | OK AT_PARAM_ERROR |
Example:
AT+PFDEV=?
AT+PFDEV=5000
OK
AT+PFDEV=5000
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+PSEND
Description: P2P send data
This command provides the way to P2P send data.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PSEND? | - | AT+PSEND : send data in P2P mode | OK |
AT+PSEND=<Input> | <payload> | - | OK +EVT:TXP2P DONE AT_PARAM_ERROR |
Example:
AT+PSEND=112233
OK
+EVT:TXP2P DONE
OK
will return immediately after the command is sent to the module.+EVT:TXP2P DONE
will return once the payload has been sent.AT_PARAM_ERROR
is returned when setting wrong or malformed value.<payload>
: 2500 digit length, must be an even number of digits and characters 0-9, a-f, A-F only, representing 1256 hexadecimal numbers.AT+PSEND
can be blocked by certain settings of P2P RX mode. You can disable P2P RX mode and switch to P2P TX mode via theAT+PRECV=0
command to ensure that P2P RX mode is not blocking theAT+PSEND
command.
AT+CAD
Description: P2P Channel Activity Detection
This command allows the user to get or set the Channel Activity Detection of P2P mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CAD? | - | AT+CAD : get or set the Channel Activity Detection of P2P mode (1 = ON, 0 = OFF) | OK |
AT+CAD=? | - | <0 or 1> | OK |
AT+CAD=<Input> | <0 or 1> | - | OK AT_PARAM_ERROR |
Example:
AT+CAD=?
AT+CAD=0
OK
AT+CAD=1
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
When CAD mode is enabled, the device will continue to check for channel activity until it can send the packet.
AT+PRECV
Description: P2P received data
This command provides configuration the timeout period for P2P window reception.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PRECV? | - | AT+PRECV : enter P2P RX mode for a period of time (ms) | OK |
AT+PRECV=<Input> | <time> | - | OK |
When valid LoRa P2P packets are received, the format is RSSI, SNR and Payload.
+EVT:RXP2P:-30:13:1234
- RSSI = -30
- SNR = 13
- Payload = 1234
Examples:
- P2P LoRa RX configurable duration value ranges from 1 to 65532 ms. In this example, the device will wait 30 seconds for LoRa P2P packets. After the timeout, it will automatically disable RX mode and switch to TX mode. The callback after timeout is
+EVT:RXP2P RECEIVE TIMEOUT
.
AT+PRECV=30000
OK
- If the value is set to 65535, the device will listen to P2P LoRa packets without timeout but it will stop listening once a P2P LoRa packet is received. The device is configured to RX mode until a LoRa P2P packet is received. After the reception, it will disable RX mode and automatically switch to TX mode.
AT+PRECV=65535
OK
- If the value is set to 65534, the device will continuously listen to P2P LoRa packets without any timeout. The device is in RX mode. It will continuously be listed to LoRa P2P packets.
AT+PRECV=65534
OK
If configured in continuous RX mode AT+PRECV=65534
, any new values to AT+PRECV
will not be accepted. RX mode must be disabled first via AT+PRECV=0
.
During continuous RX mode, many LoRa P2P parameters cannot be modified as well. AT+PRECV
must be set to zero first.
- If the value is set to 65533, the device will continuously listen to P2P LoRa packets without any timeout and will still allow P2P TX. The device is in RX mode and also allows P2P Transmission. After P2P transmission, it will switch to RX mode.
AT+PRECV=65533
OK
- If the value is 0, the device will stop listening to P2P LoRa packets. It disables LoRa P2P RX mode and switches to TX mode.
AT+PRECV=0
OK
- LoRa P2P default setting is TX mode. This consumes lower power compared to RX mode where the radio is always listening for LoRa packets.
AT_BUSY_ERROR
is returned if the device is configured to RX mode and still waiting for LoRa P2P packets.AT_PARAM_ERROR
is returned when the setting is wrong or malformed value.
AT+ENCRY
Description: P2P encryption enabled
This command enables P2P mode encryption.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+ENCRY? | - | AT+ENCRY : get or set the encryption status of P2P mode | OK |
AT+ENCRY=? | - | 0 or 1 | OK |
AT+ENCRY=<Input> | <value> | - | OK |
Example:
AT+ENCRY=1
OK
AT+ENCRY=?
AT+ENCRY=1
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 0.
AT+ENCKEY
Description: P2P Encryption Key
This command Key will encrypt the data being sent and received.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+ENCKEY? | - | AT+ENCRY : get or set the encryption key of P2P mode (16 bytes in hex) | OK |
AT+ENCKEY=? | - | < 16 hex > | OK |
AT+ENCKEY=<Input> | < 16 hex > | - | OK |
Example:
AT+ENCKEY=01020304050607080102030405060708
OK
AT+ENCKEY=?
AT+ENCKEY=01020304050607080102030405060708
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.<Input>
: 32 digit length, character 0-9, a-f, A-F only, representing eight (16) hexadecimal numbers.
AT+PCRYPT
Description: P2P crypt status
This command allows the user to access the crypt status in P2P mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PCRYPT? | - | AT+PCRYPT : get or set the encryption status of P2P mode | OK |
AT+PCRYPT=? | - | 0 or 1 | OK |
AT+PCRYPT=<Input> | <value> | - | OK |
Example:
AT+PCRYPT=1
OK
AT+PCRYPT=?
AT+PCRYPT=1
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- In this case, the default value is 0.
AT+PKEY
Description: P2P encryption and decryption key
This command allows the user to access the encryption and decryption key in P2P mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PKEY? | - | AT+PKEY : get or set the encryption key of P2P mode (8 bytes in hex) | OK |
AT+PKEY=? | - | <8 hex> | OK |
AT+PKEY=<Input> | <8 hex> | - | OK |
Example:
AT+PKEY=0011223344556677
OK
AT+PKEY=?
AT+PKEY=0011223344556677
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+CRYPIV
Description: P2P encryption IV
This command allows the user to get or set the encryption IV of P2P mode (16 bytes in hex).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CRYPIV? | - | AT+CRYPIV : get or set the encryption key of P2P mode (16 bytes in hex) | OK |
AT+CRYPIV=? | - | <16 hex> | OK |
AT+CRYPIV=<Input> | <16 hex> | - | OK |
Example:
AT+CRYPIV=00112233445566770011223344556677
OK
AT+CRYPIV=?
AT+CRYPIV=00112233445566770011223344556677
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+P2P
Description: View P2P all parameters
This command provides configuration of all parameters for the P2P mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+P2P? | - | AT+P2P : get or set all P2P parameters | OK |
AT+P2P=? | - | - | OK AT_BUSY_ERROR |
AT+P2P=<param> | <Frequency>:<Spreading Factor>:<Bandwidth>:<Code Rate>:<Preamble Length>:<TX Power> | - | OK AT_PARAM_ERROR |
Example:
AT+P2P=?
AT+P2P=868000000:7:0:0:20:14
OK
AT+P2P=868:12:300:3:200:14
AT_PARAM_ERROR
-
AT_PARAM_ERROR
is returned when setting a wrong or malformed value. -
In this case, the default value is “868000000:7:125:0:8:14”.
-
Frequency = {150000000-960000000}, SF = {6, 7, 8, 9, 10, 11, 12}, Bandwidth {0=125, 1=250, 2=500, 3=7.8, 4=10.4, 5=15.63, 6=20.83, 7=31.25, 8=41.67, 9=62.5}, CR = {4/5=0, 4/6=1, 4/7=2, 4/8=3}, Preamble Length = {2-65535}, TX Power = {5-22}.
-
RUI3 LoRa/LoRaWAN® devices are divided into two variants - Low Frequency and High Frequency. Examples are the RAK4630(L) and RAK4630(H) devices.
- Low frequency variant is compatible only to 150000000 - 600000000.
- High frequency variant is compatible only to 600000000 - 960000000.
AT+IQINVER
Description: P2P IQ Inversion
This command is used to get or set P2P IQ Inversion (1 = ON, 0 = OFF).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+IQINVER? | - | AT+IQINVER : get or set P2P IQ inversion (1 = ON, 0 = OFF) | OK |
AT+IQINVER=? | - | <0 or 1> | OK |
AT+IQINVER=<Input> | <0 or 1> | - | OK AT_PARAM_ERROR |
Example:
AT+IQINVER?
AT+IQINVER: get or set P2P IQ inversion (1 = ON, 0 = OFF)
OK
AT+IQINVER=?
AT+IQINVER=0
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+SYNCWORD
Description: P2P Syncword in P2P Mode
This command is used to get or set P2P syncword (0x0000 - 0xffff).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+SYNCWORD? | - | AT+SYNCWORD : get or set P2P syncword (0x0000 - 0xffff) | OK |
AT+SYNCWORD=? | - | <2 Hex> | OK |
AT+SYNCWORD=<Input> | <2 Hex> | - | OK AT_PARAM_ERROR |
Example:
AT+SYNCWORD?
AT+SYNCWORD: get or set P2P syncword (0x0000 - 0xffff)
OK
AT+SYNCWORD=?
AT+SYNCWORD=1424
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+RFFREQUENCY
Description: Frequency in P2P Mode
This command is used to access the frequency in P2P mode.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+RFFREQUENCY? | - | AT+RFFREQUENCY : get or set P2P Frequency | OK |
AT+RFFREQUENCY=? | - | <interger> | OK |
AT+RFFREQUENCY=<Input> | <interger> | - | OK AT_PARAM_ERROR |
Example:
AT+RFFREQUENCY?
AT+RFFREQUENCY: get or set P2P Frequency
OK
AT+RFFREQUENCY=?
AT+RFFREQUENCY=868000000
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+TXOUTPUTPOWER
Description: P2P Tx Power (5 - 22)
This command is used to get or set the P2P Tx Power (5 - 22).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+TXOUTPUTPOWER? | - | AT+TXOUTPUTPOWER : get or set P2P Tx Power(5-22) | OK |
AT+TXOUTPUTPOWER=? | - | <powerlevel> | OK |
AT+TXOUTPUTPOWER=<Input> | <powerlevel> | - | OK AT_PARAM_ERROR |
Example:
AT+TXOUTPUTPOWER?
AT+TXOUTPUTPOWER: get or set P2P Tx Power(5-22)
OK
AT+TXOUTPUTPOWER=?
AT+TXOUTPUTPOWER=14
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+BANDWIDTH
Description: P2P Bandwidth
This command is used to get or set the P2P Bandwidth.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+BANDWIDTH? | - | AT+BANDWIDTH : get or set P2P Bandwidth(LORA: 0 = 125, 1 = 250, 2 = 500, 3 = 7.8, 4 = 10.4, 5 = 15.63, 6 = 20.83, 7 = 31.25, 8 = 41.67, 9 = 62.5 FSK:4800-467000) | OK |
AT+BANDWIDTH=? | - | <bandwidth> | OK |
AT+BANDWIDTH=<Input> | <bandwidth> | - | OK AT_PARAM_ERROR |
Example:
AT+BANDWIDTH?
AT+BANDWIDTH: get or set P2P Bandwidth(LORA: 0 = 125, 1 = 250, 2 = 500, 3 = 7.8, 4 = 10.4, 5 = 15.63, 6 = 20.83, 7 = 31.25, 8 = 41.67, 9 = 62.5 FSK:4800-467000)
OK
AT+BANDWIDTH=?
AT+BANDWIDTH=0
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+SPREADINGFACTOR
Description: P2P Spreading Factor (5 -12)
This command is used to get or set the P2P spreading factor (5 - 12).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+SPREADINGFACTOR? | - | AT+SPREADINGFACTOR : get or set P2P Spreading Factor (5-12) | OK |
AT+SPREADINGFACTOR=? | - | <spreading factor> | OK |
AT+SPREADINGFACTOR=<Input> | <spreading factor> | - | OK AT_PARAM_ERROR |
Example:
AT+SPREADINGFACTOR?
AT+SPREADINGFACTOR: get or set P2P Spreading Factor (5-12)
OK
AT+SPREADINGFACTOR=?
AT+SPREADINGFACTOR=7
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+CODINGRATE
Description: P2P Coding Rate
This command is used to get or set the P2P code rate.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CODINGRATE? | - | AT+CODINGRATE : get or set P2P Code Rate(0=4/5, 1=4/6, 2=4/7, 3=4/8) | OK |
AT+CODINGRATE=? | - | <coding rate> | OK |
AT+CODINGRATE=<Input> | <coding rate> | - | OK AT_PARAM_ERROR |
Example:
AT+CODINGRATE?
AT+CODINGRATE: get or set P2P Code Rate(0=4/5, 1=4/6, 2=4/7, 3=4/8)
OK
AT+CODINGRATE=?
AT+CODINGRATE=0
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+PREAMBLELENGTH
Description: P2P Preamble Length (5 - 65535)
This command is used to get or set the P2P preamble length (5 - 65535).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+PREAMBLELENGTH? | - | AT+PREAMBLELENGTH : get or set P2P Preamble Length (5-65535) | OK |
AT+PREAMBLELENGTH=? | - | <interger> | OK |
AT+PREAMBLELENGTH=<Input> | <interger> | - | OK AT_PARAM_ERROR |
Example:
AT+PREAMBLELENGTH?
AT+PREAMBLELENGTH: get or set P2P Preamble Length (5-65535)
OK
AT+PREAMBLELENGTH=?
AT+PREAMBLELENGTH=8
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+SYMBOLTIMEOUT
Description: P2P Symbol Timeout (0 - 248)
This command is used to get or set the P2P symbol timeout (0 - 248).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+SYMBOLTIMEOUT? | - | AT+SYMBOLTIMEOUT : get or set P2P symbolTimeout (0-248) | OK |
AT+SYMBOLTIMEOUT=? | - | <interger> | OK |
AT+SYMBOLTIMEOUT=<Input> | <interger> | - | OK AT_PARAM_ERROR |
Example:
AT+SYMBOLTIMEOUT?
AT+SYMBOLTIMEOUT: get or set P2P symbolTimeout (0-248)
OK
AT+SYMBOLTIMEOUT=?
AT+SYMBOLTIMEOUT=0
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
AT+FIXLENGTHPAYLOAD
Description: P2P fix length payload on/off (1 = ON, 0 = OFF)
This command allows the user to get or set P2P fix length payload on/off (1 = ON, 0 = OFF).
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+FIXLENGTHPAYLOAD? | - | AT+FIXLENGTHPAYLOAD : get or set P2P fix length payload on/off (1 = ON, 0 = OFF) | OK |
AT+FIXLENGTHPAYLOAD=? | - | <0 or 1> | OK |
AT+FIXLENGTHPAYLOAD=<Input> | <0 or 1> | - | OK AT_PARAM_ERROR |
Example:
AT+FIXLENGTHPAYLOAD=1
AT+FIXLENGTHPAYLOAD=1
OK
AT+FIXLENGTHPAYLOAD=?
AT+FIXLENGTHPAYLOAD=0
OK
AT_PARAM_ERROR
is returned when setting wrong or malformed value.
RF Test
This section describes the commands related to RF test management.
AT+TRSSI
Description: Start RF RSSI tone test
This command is used to start the RF RSSI tone test.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+TRSSI? | - | AT+TRSSI : start RF RSSI tone test | OK |
AT+TRSSI=? | - | -115 | OK AT_BUSY_ERROR |
AT_BUSY_ERROR
is returned when the start radio frequency RSSI process is already running.- This command is used for the RF certification test,
AT+TRSSI=?
. It provides a value in dBm, and it can only be read.
Example:
AT+TRSSI=?
Rx FSK Test
RSSI Value -115 dBm
OK
AT+TTONE
Description: Start RF tone test
This command is used to start the RF tone.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+TTONE? | - | AT+TTONE : start RF tone test | OK |
AT+TTONE | - | OK AT_BUSY_ERROR |
AT_BUSY_ERROR
is returned when the start frequency tone process is already running.- This command is used for the RF certification test.
Example:
AT+TTONE
Tx toneOK
AT+TTX
Description: Start RF TX test
Set the number of packets sent for the RF TX test.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+TTX? | - | AT+TTX : set number of packets to be sent for PER RF TX test | OK |
AT+TTX=<Input> | <integer> | OK AT_BUSY_ERROR |
AT_BUSY_ERROR
is returned when the start tx process is already running.- This command is used for the RF certification test.
<Input>
: 1 decimal integer and the range of values is 0~(232 -1).
Example:
AT+TTX=4
Tx Test
OK
Tx Test : Packet 1 of 4
OnTxDone
Tx Test : Packet 2 of 4
OnTxDone
Tx Test : Packet 3 of 4
OnTxDone
Tx Test : Packet 4 of 4
OnTxDone
AT+TRX
Description: Start RF RX test
Set the number of packets sent for the RF RX test.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+TRX? | - | AT+TRX : set number of packets to be received for PER RF RX test | OK |
AT+TRX=<Input> | <integer> | OK AT_PARAM_ERROR |
AT_BUSY_ERROR
is returned when the start tx process is already running.- This command is used for the RF certification test.
<Input>
: 1 decimal integer and the range of values is 0~(232 -1).
Example:
AT+TRX=4
OK
Rx 1 of 4 >>> PER= 100 %
Rx 2 of 4 >>> PER= 100 %
Rx 3 of 4 >>> PER= 100 %
Rx 4 of 4 >>> PER= 100 %
AT+TCONF
Description: Configure LoRa RF test
This command is used to access the LoRa configuration test.
Command | Input parameter | Return value | Return code |
---|---|---|---|
AT+TCONF? | - | AT+TCONF : configure LoRa RF test | OK |
AT+TCONF=? | - | AT+TCONF=868000000:14:4:12:0:0:0:1:16:25000:2:3 | OK |
AT+TCONF=<Input> | <Freq>:<Power>:<Bandwidth>:<SpreadingFactor>:<CodingRate>:<LNA>:<PABoost>:<Modulation>:<PayloadLen>:<FskDeviation>:<LowDRopt>:<BTproduct> | - | OKAT_PARAM_ERROR |
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- This command is used for the RF certification test, and in this case, the default value is “868000000,14,0,7,1,0,0,1,4,25000,0,0”.
Summary of parameters:
1 - Frequency
2 - Power
3 - Bandwidth parameter: (LoRa mode in Khz) 0=125, 1=250, 2=500, 3=7.8, 4=10.4, 5=15.63, 6=20.83, 7=31.25, 8=41.67, 9=62.5; (FSK mode in Hz): 4800-467000
4 - Spreading Factor (5-12)
5 - Coding Rate: 1=4/5, 2=4/6, 3=4/7, 4=4/8
6 - LNA State (not implemented)
7 - PA Boost State (not implemented)
8 - Modulation: 0=FSK, 1=LoRa
9 - Payload len
10 - Freq deviation (only fsk 600 - 200000 Hz)
11 - LowDRopt (not implemented)
12 - BT product (not implemented)
Example:
/* Example1: Set LoRa RF test configuration */
AT+TCONF=868000000:14:4:12:0:0:0:1:16:25000:2:3
OK
AT+TTH
Description: RF TX hopping test
Starts RF TX hopping test from Start to Fstop, with Fdelta steps.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+TTH? | - | AT+TTH : start RF Tx hopping test from Fstart to Fstop, with Fdelta steps. | OK |
AT+TTH=? | - | 868000000:868500000:100000:6 | OK |
AT+TTH=<Input> | <Fstart>:<Fstop>:<FDelta>:<PacketNb> | - | OK AT_PARAM_ERROR |
AT_PARAM_ERROR
is returned when setting wrong or malformed value.- This command is used for the RF certification test, and in this case, the default value is “868000000,868500000,100000,6”.
Example:
/* Example: set TX hopping test from 868 to 868,5 MHz with 6 steps of 100 kHz */ #
AT+TTH=868000000:868500000:100000:6
OK
Tx Hop at 868000000 Hz
Tx Test : Packet 1 of 6
OnTxDone
Tx Hop at 868100000 Hz
Tx Test : Packet 2 of 6
OnTxDone
Tx Hop at 868200000 Hz
Tx Test : Packet 3 of 6
OnTxDone
Tx Hop at 868300000 Hz
Tx Test : Packet 4 of 6
OnTxDone
Tx Hop at 868400000 Hz
Tx Test : Packet 5 of 6
OnTxDone
Tx Hop at 868500000 Hz
Tx Test : Packet 6 of 6
OnTxDone
AT+TOFF
Description: Stop Radio frequency test
This command is used to stop the ongoing RF test.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+TOFF? | - | AT+TOFF : stop ongoing RF test | OK |
AT+TOFF | - | OK |
- This command is used for the RF certification test.
AT+CERTIF
Description: Configure LoRaWAN Certification test
This command is used to start the RF Rx LoRa test.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CERTIF? | - | AT+CERTIF : set the module in LoRaWAN Certification mode (0 = normal mode, 1 = certification mode) | OK |
AT+CERTIF | - | OK AT_BUSY_ERROR |
AT_BUSY_ERROR
is returned when the start frequency tone process is already running.- This command is used for the RF certification test and the timer to handler data transmission equal to 5 s.
AT+CW
Description: Send Continuous Wave
This command is used to enable continuous RF transmissions with configurable frequency, transmit power and duration. Also, you can get the RF transmission's details by using this command.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+CW? | - | AT+CW : start continuous wave | OK |
AT+CW=? | - | <freq>:<power>:<time>: | OK |
AT+CW=<Input> | <freq>:<power>:<time>: | - | OK AT_BUSY_ERROR |
Example:
AT+CW?
AT+CW: start continuous wave
OK
AT+CW=?
AT+CW=868000000:14:5
OK
AT_BUSY_ERROR
is returned when the start tx process is already running.<freq>
: RAK3172(L) is needed to use the low frequency range 150000000 - 600000000; RAK3172(H) is needed to use the high frequency range 600000000 - 960000000<power>
: 5-22 dBm<time>
: 0-65535 ms
AT+TRTH
Description: RF Tx Hopping Test in Random Sequence
This command is used to access and configure RF Tx hopping test in random sequence.
Command | Input Parameter | Return Value | Return Code |
---|---|---|---|
AT+TRTH? | - | AT+TRTH : start RF TX hopping test from Fstart to Fstop, with Fdelta interval in random sequence | OK |
AT+TRTH=? | - | <Fstart>:<Fstop>:<Fdelta>:<PacketNb> | OK |
AT+TRTH=<Input> | <Fstart>:<Fstop>:<Fdelta>:<PacketNb> | - | OK AT_BUSY_ERROR |
Example:
AT+TRTH?
AT+TRTH: start RF TX hopping test from Fstart to Fstop, with Fdelta interval in random sequence
OK
AT+TRTH=?
AT+TRTH=868000000:868500000:100000:6
OK
AT_BUSY_ERROR
is returned when the start tx process is already running.<Fstart>
: start frequency<Fstop>
: stop frequency<Fdelta>
: frequency interval<PacketNb>
: number of packets