$SCRDR Messages from Reader

Everytime the Smart Reader reads a tag (contactless card, NFC tag or RFID label, data coming from a BLE token…), it sends to the listening host(s) an $SCRDR message, formatted as follow:

$SCRDR;<Interface>;<Protocol>;<Template>;<RSSI>;<TagId>;<Move>;<TagData>;<TagDetails>*<Checksum><CR><LF>

The header $SCRDR is a constant to identify the message.

The <Checksum> field is the XOR of all bytes from the first ‘$’ sign to the last ‘*’ sign (both included), expressed in hexadecimal.

The total length of the message depends on the Tag. Unless the Templates are configured to truncate all data to short values, the host must generally speaking be ready to received up to 64kB characters.

Fields in the $SCRDR message

Field Format Description
Interface Hex, 2 digits (1 byte) Which interface has read the token? See Interfaces for details.
Protocol Hex, 2 digits (1 byte) Protocol used to read the token. See Protocols for details.
Template Hex, 2 digits (1 byte) Template used to read the token.
RSSI Hex, 2 digits (1 byte) RSSI of the token, if this data is available (BLE and RFID UHF).
TagId Hex, variable length Identifier of the token (output of the Smart Reader template). See TagId for details.
Move empty, “I”, “R” or “IR Tells whether the token is Inserted (“I“), Removed (“R“) or has just made a short apparition (inserted+removed, hence “IR”). The field is empty if the Smart Reader is not configured to track the movements of the tokens.
TagData Hex or text, variable length Some token-specific data than the Smart Reader template may provide in some situation (for instance the status of a tamper for some NFC tags, the advertising data in BLE spy mode, …). See TagData for details.
TagDetails Hex or text, variable length Some advanced token-specific data than the Smart Reader template may provide in some situation (for instance scan response data in BLE spy mode, …). See TagDetails for details.

Example

$SCRDR;13.56;NFC-A;1;;047DAE02C84080;;00047DAE02C84080;*47<CR><LF>