RDR LoRa NFC/RFID Reader Users Manual V1.2

RDR is a compact LoRa NFC/RFID Reader that can be used as a RFID-to-LoRa Gateway. The device acts as a transparent gateway by sending the tag ID and the content of the raw data of the first NDEF file found on the tag.


Initial Setup


LoRaWAN®Provisioning

RDR devices are shipped with following default settings:

  • LoRaWAN: V1.0.3
  • Band: EU868
  • Activation Method: OTAA
  • ADR: On
  • DevEUI: Read from device via CLI
  • AppEUI/JoinEUI: 8CAE49CFFFFFFF05
  • AppKey: Read from device via CLI

Operation

Startup Sequence

After power up the device will check for a valid AppKey. If the AppKey has not been set, the left LED (LR LED) will start to blink red. (See CLI command lora set appkey and save for more information)

If AppKey is set the device will send a Join Request and waits for the Join ACK from the LoRaWAN®server. During this the left LED (LR LED) will slowly blink green. You will hear a double-beep on successful join and the LED will go off - the device is now ready to read NFCs!

A restart will be triggered if there is no answer from the network after 5 minutes.

Reading NFCs

RDR is able to read a wide range of ISO14443A/B NFC Tags. NFC tags can be formatted to contain an NDEF file system with one or more NDEF Records.

Contact us if you need a recommendation and get a list of devices we have successfully tested.

As soon as the device is initialized you can can start to read NFC tags. Hold the Tag to the centre of the device. You will hear a short beep and the RD LED will go on green.

Up to 50 readings are queued in a buffer including read timestamps. RD LED will go on red when buffer is full.

Note that maximum NDEF file length must not exceed 28 bytes. Otherwise it can not be transferred over LoRaWAN®on low data rates.

Sending Data

As soon as there are readings in the buffer, the device starts sending data. (LR LED is slowly blinking green)

The strategy is to pack as many NFC readings as possible into the payload. Therefore payload length depends on the following parameters:

  • Actual data rate
  • NDEF record data length

It might take some time to transfer all the NFC readings as device respects LoRaWAN®duty cycle (ETSI) regulations.

All data has been transferred when LR LED goes off.

Offline mode

RDR can be operated as a connected LoRaWAN®device or alternatively as a NFC reader connected via USB.

To enable the offline mode use the CLI command set offline 1. Readings will be transferred over USB VCP in the following format.


<NFC_Serial>:<NDEF_File0_Payload>

Following table shows the difference between both modes.

  Online Mode (Default) Offline Mode
LoRaWAN®Modem enabled
AppKey must be set
disabled
NFC Reader enabled enabled
Data Buffer yes (50 Readings) No
Data Output LoRaWAN®Uplinks Console Output (USB VCP)
LR LED on for 1s after power up always off
RD LED on for 1s after power up on for 1s after power up


Troubleshooting


RDR devices are equipped with two dual colour LEDs to signal status and error conditions. Following table shows the blink codes available.

LED Status Problem Solving
RD (left) is fast blinking red Hardware Initialisation Error - Repower device
RD (left) is slow blinking red Voltage low - Replace or charge battery
- Check power supply
RD (left) is red Buffer is full. No further readings possible - Check LoRaWAN®connection
       
LR (right) is fast blinking red Modem Initialisation Error - Repower device
LR (right) is slow blinking red AppKey not set or modem initialisation error - Set AppKey
LR (right) is slow blinking green Device is trying to join LoRaWAN®network or waiting to send buffered data. - Wait 5m in
- Check device registration in your LoRaWAN®server
- Check LoRaWAN®Gateway

Command Line Interface CLI

RDR can be configured using the virtual serial interface (Serial over USB). There should be no need to install drivers on Windows 10. Otherwise look for STM32 VCP drivers to install first.

Serial Port Settings

Use 19200 8N1 to communication with device.

All commands are terminated by \r\n (Carriage Return, Line Feed)

Device Information Commands

Device Type

This command gets the device type (SKU). This can be:

  • RDR-EU868  EU 863-870MHz ISM Band

> get type

Example:

get type

RDR-EU868

Firmware Version

Device Firmware version in Format Maj.Min.Fix

> get version

Example:

get version

1.2.0

LoRa Modem Firmware Version

Returns the firmware version of the integrated LoRaWAN®modem.

Note: This is not the LoRaWAN®version

> get modem_version

Example:

get modem_version

1.0.2

Device Serial Number

Returns the unique serial number of the device. This is the same as DevEUI (See lora get deveui)

> get serial

Example:

get serial

333031377939870a

Beeper

Enable audio signals for readings

> get beep

> set beep [0|1]

Example:

get beep
0

set beep 1
1

Time

Get the time of integrated RTC

> get time

Example:

get time
14:20:05


Date

Get date of internal real time clock. This starts with the 1.1.1900

> get date

Example:

get date
2000-01-01

set date 2021-02-07
2021-02-07

Heartbeat

Heart beats are are uplink frames that can be enabled to check the connection when the device is not used.

Range: 10-1440 minutes (a day) or 0 to switch off this function.

Note: NFC readings will restart the heart beat interval

> lora get hbi

> lora set hbi <minutes>

Example:

lora get hbi

0

lora set hbi 1440

1440

Offline Mode

LoRaWAN®modem can be disabled. In offline mode the device outputs all readings directly to the console. Connect an USB-Cable to the device to use this function.

Note: restart device by sending init

> set offline [0|1]

> get offline

Example:

get offline

0

set offline 1
1

save
ok

init
ok

DevEUI

Returns the unique LoRaWAN®device EUI. This is the same as the serial number (See get serial)

> lora get deveui

Example:

lora get deveui

333031377939870a

AppEUI

Returns or sets the LoRaWAN®application EUI.

Use save to permanently store changes to persistent memory

> lora get appeui

> lora set appeui <16 hex characters>

Example:

lora get appeui

0011223344556677

lora set appeui 7766554433221100

7766554433221100

AppKey

Set an unique Application Key prior to operating the device. RF LED is constantly blinking read as long the AppKey is not set.

Use save to permanently store changes to persistent memory

> lora get appkey

> lora set appkey <32 hex characters>

Example:

lora get appkey

00112233445566778899AABBCCDDEEFF

lora set appkey 00112233445566778899AABBCCDDEEFF

00112233445566778899AABBCCDDEEFF

Confirmed Messages

Enable / Disable LoRaWAN®confirmed messaged.

Note: Device will retry uplinks for 5 minutes when confirmed messages are neabled.

> lora get confirmed

> lora set confirmed [0|1]

Example:

lora get confirmed

0

lora set confirmed 1

1

Factory Defaults

With this command you can reset RDR to factory settings.

Note: Use save for to save settings to NV memory

> defaults

Example:

defaults
ok

save
ok

init
ok

Save Settings

Stores all changes you have done to NV memory.

Note: Re-powering the device without saving loses all changes

> save

Example:

save
ok

Restart Device

Changes to device settings will getting active by restarting the device either by repowering or using the init command

> init

Example:

init
ok

AT Mode

RDR can be used as LoRaWAN®modem that can be directly controlled by AT Commands. When in AT mode NFC reader is not active anymore.

Use this for debugging purposes only as settings will not be permanently saved. Use lora set commands to change credentials permanentely.

Enabling AT Mode

You can enable the AT Mode by sending the following command. After device reset the AT mode will be disabled.

> AT

Example:

AT
OK

ATZ
OK

The AT command set is a standard developed by “Hayes” to control modems. AT stands for attention. The command set consists of a series of short text strings providing operations such as joining, data exchange and parameters setting. In a context of LoRa® modem, the Hayes command set is a variation of the standard AT Hayes commands.

The AT commands have the standard format “AT+XXX”, with XXX denoting the command.

There are four available command behaviours:

  • AT+XXX? provides a short help of the given command, for example AT+DEUI?
  • AT+XXX is used to run a command, such as AT+JOIN
  • AT+XXX=? is used to get the value of a given command, for example AT+CFS=?
  • **AT+XXX=** is used to provide a value to a command, for example AT+SEND=2:Hello

The output format is as below:

<value>\r\n
\r\n<Status>\r\n

When no value is returned, the <value>\r\n 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 \r\n in a \r\n<Status>\r\n format. The possible status are:

  • OK: command run 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. Note that each command preceded by # is provided by the host to the module. Then the return of the module is printed.