RDR LoRaWAN® Payload
This document describes the RDR LoRaWAN® application payload used since Firmware V1.3
General Information
RDR devices are sending Data from NFC Tags held to the surface of the device. Data includes the timestamp of the scan, the serial number of the tag as well as one NDEF file stored on the tag.
Limitations
Due to the limited data capacity of LoRaWAN® networks, readings may be buffered and sent later. When buffering scan records the device will append multiple records to the payload to empty the buffer as fast as possible.
Scan Record Data Structure
The LoRaWAN™ payload is generated by appending one or more scan records, delimited by the form feed escape command 0x0C. Payload length depends on the length of all scan records.
LoRaWAN® Application Payload Format
RDR devices will uplink a payload on each scan. If buffer is full multiple scan records will be appended to the payload intermittent by a 0C.
Byte | Property | Description | Data Range (Hex string) | Example |
---|---|---|---|---|
0 | VID | Vendor ID, always 0xbe for Parametric Devices | be | be |
1 | DEV_FAM | Device Family, always 0x01 for PCR2 Devices | 05 | 05 |
2 | PL_REV | Payload Revision | 00 | 00 |
- | - | |||
3:6 | ULTS | Uplink Timestamp (Unix Epoch) | 00000000-FFFFFFFF | 5F9BEB2C Friday, 30. October 2020 10:30:04 |
7 | RCNT | Number of records in this payload | 00-09 | 01 |
8 | BUFF | Number of records still in the buffer | 00-ff | 00 |
9... | SR | Scan Records (see below) |
variable length | |
EOSR | End of Scan Record always 0x0C |
0C | 0C |
Scan Record
Scan records include the scan time, the serial number of the NFC tag and a variable length payload.
Offset | Property | Description | Data Range (Hex String) | Example |
---|---|---|---|---|
0:3 | Scan Time | Uplink Timestamp (Unix Epoch) 3 Bytes |
00000000-FFFFFFFF | 5F9BEB2C Friday, 30. October 2020 10:30:04 |
4:11 | NFC Serial | NFC Serial number 8 Bytes on NDEF213 |
0000000000000000-FFFFFFFFFFFFFFFF | 9EAF5126002302E0 |
12 | Record Length | NDEF File Length 0 if no NDEF file on tag |
00-FF | 01 |
13: | Record Payload | NDEF File data | variable length |
Scan Records vs LoRaWAN™ Payload Length
When the buffer contains more than one scan record, the device will pack as many scan records into the LoRaWAN™ payload as possible. The firmware takes care to not exceed the max LoRaWAN™ payload length allowed in the current situation.
Data Rate | Maximum LoRaWAN™ payload size allowed air time limits |
Scan record size NDEF Payload "Hello" |
Max Scan Records per Uplink |
---|---|---|---|
0 | 59 | 24 | 2 |
1 | 59 | 24 | 2 |
2 | 59 | 24 | 2 |
3 | 123 | 24 | 5 |
4 | 230 | 24 | 9 |
5 | 230 | 24 | 9 |
6 | 230 | 24 | 9 |
7 | 230 | 24 | 9 |
Port 5
RDR Uplink payloads are send on Port 5
Timestamp
RDR devices include a real-time clock (RTC) that will start at 2000-01-01T00:00:00 after power up. The device will return Unix Epoch Timestamps. See Unix Epoch time format converter In order to genereate real UTC timestamps add the timespan between now and RTC to the scan times. You can see an example how this can be done on the application server here
ADR
RDR uses the automatic data rate adaption (ADR) function. Nevertheless HF performance can not be guaranteed when using LoRaWAN™ networks. It's therefore a good idea to go expect the worst case.
See LoRaWAN™ 1.0.3 Regional Parameters Document for more information.
Payload Decoder Example
Please find a NodeJS decoder example in our public repository