This support article lists the most frequently asked questions (FAQs) for the Impinj IoT device interface.
What is the Impinj IoT device interface?
The Impinj IoT device interface is an on-reader interface that enables IoT developers to quickly and simply build applications to configure, and control devices, and to consume RAIN data from Impinj readers.
For more details on what's included in the Impinj IoT device interface, check out the following resources.
- API documentation: https://platform.impinj.com/site/docs/reader_api/index.gsp
- Technical training content on the Learning Portal (partner only): https://learning.impinj.com/learn/course/254/Impinj%2520IoT%2520Device%2520Interface%2520Technical%2520Training
- Also see: How do I enable the Impinj IoT device interface or the Impinj LLRP Interface?
- Method 1: Navigate to the Impinj R700 web UI at http://<impinj-xx-xx-xx or IP address>, select desired interface from the "Available Interfaces" drop-down menu in the READER INTERFACE section.
- Method 2: Use the /system/rfid/interface REST API endpoint to set the interface: https://platform.impinj.com/site/docs/reader_api/index.gsp#/default/put_system_rfid_interface
- Method 3: Use an RShell command to set the interface:
> config rfid interface llrp
> config rfid interface rest
How do I access the API documentation?
You can access the API documentation from the following URL:
How do I access the system endpoints?
System endpoints are available in the Impinj R700 firmware 7.4 or newer. All system configuration endpoints require basic authentication and can only be accessed over HTTPS (see how to enable HTTPS on the Impinj R700). Once HTTPS is enabled on the reader, you can use the following system endpoints prefix to access them:
For example, you can quickly retrieve the reader hostname by the following curl command:
> curl -u root:impinj -k https:impinj-xx-xx-xx/api/v1/system/hostname
For more details, please refer to the API documentation from the following URL:
See the following Support article:
I’m getting a 404 error. What does this mean and how do I work around it?
A 404 response indicates the requested resource was not found on the reader. This could mean the URL is incorrect or that the IoT device interface is not enabled. To remedy this,
- Check the requested URL
- Check that the reader interface is set to "Impinj IoT device interface" (not "Impinj LLRP interface") - see How do I enable the Impinj IoT device interface or the Impinj LLRP Interface?
What is the default behavior for HTTP/HTTPS (IoT device interface) in different Impinj R700 firmware versions?
7.4.1 and later: The Impinj R700 will by default have HTTP enabled, HTTPS disabled, and basic authorization disabled.
7.4: The Impinj R700 will enable HTTPS and require basic authorization by default. HTTP access is now disabled by default.
7.3 and before: The Impinj R700 will by default have HTTP enabled, HTTPS disabled, and basic authorization disabled.
Can I use Impinj LLRP interface and Impinj IoT device interface at the same time?
The RFID operation of the reader can only be controlled by one interface at a time. When configured to use the Impinj IoT device interface the LLRP connection is disabled, and vice versa.
The /system endpoints are always on and can be utilized as long as the reader is configured to use HTTPS and basic authorization.
What programming languages can I use to communicate with the Reader Configuration REST API?
What firmware version is required to use the Impinj IoT device interface?
The Impinj IoT device interface was introduced in firmware version 7.3 (reader configuration REST API v1.2), but upgrade to the latest firmware version to take advantage of the latest features:
I see MQTT and Kafka are available in the Impinj IoT device interface. Can the reader subscribe to MQTT or Kafka topics?
Currently, the Impinj IoT device interface only offers publishing functionality for MQTT and Kafka, and cannot subscribe to topics.
How many HTTP streaming clients can connect to the /data/stream endpoint simultaneously?
Up to 5 HTTP streaming clients can read from the /data/stream endpoint simultaneously. If a 6th client attempts to connect, the connection will succeed and disconnect the oldest connected client.
Is device configuration supported on the Impinj IoT device interface?
Yes, a number of device configuration features were added under the /system endpoints after firmware version 7.4 (API version 1.3). See the Reader Configuration REST API documentation for a full list of the latest features:
Is the reader configuration REST API the same as the RAIN Communication Interface(RCI)?
No. The reader configuration REST API is owned and maintained by Impinj and is separate from RCI. The Impinj R700 does not support RCI.
Is any license required to access the APIs?
No additional licensing is required in order to use the Impinj IoT device interface.
Can I utilize the Impinj IoT device interface with other Impinj software libraries? (e.g., Octane SDK, Octane LTK, Impinj R700 ETK?)
Enabling the Impinj IoT device interface disables the LLRP interface on the reader. This means that the Impinj Octane SDK and Impinj Octane LTK will no longer be able to communicate with the reader. However, the Impinj R700 ETK contains the pre-compiled libraries and the tools required to develop on-reader applications, which can be used with the Impinj IoT device interface to develop on reader applications using the reader configuration REST API.
Is there any installation necessary to use the IoT device interface?
No installation is required to utilize the Impinj IoT device interface. The interface is included on all Impinj R700 readers with firmware version 7.3 or later.
Is the IoT interface available for Impinj Speedway R420/R220 RAIN RFID readers?
No, the Impinj IoT device interface is currently only supported on the Impinj R700.
What’s the maximum buffer and tag cache size?
The maximum buffer size is 300,000. The maximum tag cache is 8192.