(This information is taken from the IDBLUE Serial Interface Specification on the IDBLUE Documentation page. The firmware commands referenced below have respective calls in each Developer SDK which can be called to set the desired effect. For more detailed information, please refer to the document above or the respective SDK interface guide.)
Communication between the IDBLUE device and host occurs using a series of requests and responses.
- Requests are packets sent to the IDBLUE device from the host. They are used by the host to ask for information or for the device to perform some task.
- Responses are sent from the IDBLUE device. They are the result sent back to the host after a request has been issued (or after an asynchronous event has occurred). Responses indicate either success and return information or indicate failure and an indication of the reason for failure.
- The Developer SDK has a response handler for a success and failure event which the developer refers to when waiting for a response.
IDBLUE devices will queue most commands and process them in sequential order, with the exception of SET_SCANNING which stops a continuous scan operation.
In addition to the standard request/response packets, the IDBLUE device also supports a set of asynchronous notifications. These notifications are typically generated in response to the user pressing the Action Button on the device.
When the user presses the Action Button on the device, an asynchronous event is created, sending a response packet to the host. To designate this packet as an asynchronous event and not a possible response to an earlier command issued over the serial connection, a special packet (ASYNC) is sent before the main packet to indicate that it is an asynchronous event.
This is true for all modes of operation during a button press. Applications (and driver libraries) should interpret the response packet immediately following an ASYNCH (asynchronous header) packet as an asynchronous event.
Supported IDBLUE Commands
The table below provides a summary of all currently supported IDBLUE commands. Driver developers should incorporate support for all of these commands into any offering.
- NO_OP – No operation; used to check for the presence of a connected device.
- GET_STATUS – Requests an information snapshot of the device’s current status (includes battery level and hardware and firmware versions).
- BEGIN_COMMANDS – Informs the device that a connected host application is about to issue a series of RFID commands. The device then displays appropriate audible and visual feedback to the user.
- END_COMMANDS – Informs the device that a connected host application has finished issuing a series of RFID commands. The device then displays appropriate audible and visual feedback to the user.
- POWER_DOWN – Powers down the IDBLUE device.
- BEEP – Causes the device to emit one of the standard audio tone sequences.
- BLUETOOTH_OFF – Turns off the Bluetooth transmitter.
- SET_SCANNING – When the device is in continuous scanning mode, start or stop scanning for tags using the current connected mode.
- SET_PROPERTY – Sets one of the device’s configuration properties. These values are volatile unless saved by issuing a SAVE_PROPERTIES command.
- GET_PROPERTY – Gets the current value of one of the device’s configurable properties.
- SAVE_PROPERTIES – Saves the current configuration properties to FLASH (i.e. these values will be stored when the device is powered down).
- LOAD_PROPERTIES – Load the stored configuration properties.
- FACTORY_RESET – Resets all properties to factory defaults.
- SET_BT_PIN – Sets the Bluetooth PIN.
- SET_BT_NAME – Assigns a Bluetooth device display name.
- GET_BT_NAME – Returns the Bluetooth device display name.
- ENABLE_CHANNEL – Enables or disables the logical communication channel.
To list what configurable properties are available, please check the Configurable Properties Article.
Common RFID Commands
- GET_TAG_ID – Performs a tag inventory and returns the tag id of the RFID tag in the RF field.
- For HF tags, it returns the HF tag’s ID
- For UHF tags, it returns the UHF tag’s EPC bank data. Why?
HF RFID Commands
- READ_BLOCK – Reads a single block of tag memory from a specified tag ID.
- READ_BLOCKS – Read multiple blocks of tag memory from a specified tag ID.
- WRITE_BLOCK – Write a single block of data to a specified tag ID.
- WRITE_BLOCKS – Write multiple blocks of data to a specified tag ID.
- GET_TAG_INFO – Returns information about the tag in the field.
HF Stored Tag Functions
- GET_ENTRY_COUNT – Returns the number of tags stored on the device. Each tag record contains the tag ID, an optional timestamp and a single byte of data from the tag.
- GET_ENTRY – Retrieves a specific stored tag record from the device.
- CLEAR_ENTRIES – Deletes all stored tag information on the device.
UHF RFID Commands
- EPC_WRITE_TAG – Write to a memory bank on an EPC Gen 2 tag.
- EPC_READ_TAG – Read a memory bank from an EPC Gen 2 tag.
- EPC_LOCK_BITS – Lock an EPC Gen 2 tag.
- EPC_SET_KILL_PASSWORD – Sets the kill password for an EPC Gen 2 tag.
- EPC_KILL_TAG – Kill an EPC Gen 2 tag.
Posted in: Software and Development