impinj-iot
Python driver for Impinj R700 RAIN RFID readers using the IoT Device Interface (REST API).
Features
- Connect to Impinj R700 readers over HTTPS
- Start/stop inventory with configurable antenna ports, TX power, and RF modes
- Real-time tag streaming via NDJSON with callback-based notifications
- Query reader info (model, firmware, region, antenna count, power limits)
- Full RF mode enumeration with modulation details
- Authentication support (default:
root/impinj)
Installation
pip install impinj-iot
Quick Start
from impinj_iot import ImpinjIot, ImpinjIotTagReport
reader = ImpinjIot()
def on_tag(report: ImpinjIotTagReport):
print(f"EPC: {report.epc} RSSI: {report.peak_rssi_cdbm / 100:.1f} dBm")
reader.set_notification_callback(on_tag)
reader.connect("192.168.1.100")
reader.set_tx_power(30.0) # dBm
reader.start()
# ... tags arrive via callback ...
reader.stop()
reader.disconnect()
API Reference
ImpinjIot
| Method | Description |
|---|---|
connect(ip, user, password) |
Connect to reader via HTTPS |
disconnect() |
Stop inventory and disconnect |
is_connected() |
Check connection status |
set_notification_callback(fn) |
Register tag report callback |
get_reader_info() |
Get reader model, firmware, region, antenna count, power limits |
start() |
Start inventory and tag stream |
stop() |
Stop inventory |
get_tx_power() / set_tx_power(dbm) |
Get/set TX power in dBm |
get_antenna_config() / set_antenna_config(list[bool]) |
Get/set active antennas |
get_rf_mode() / set_rf_mode(mode) |
Get/set RF mode |
get_supported_rf_modes() |
Query reader for available RF modes |
ImpinjIotTagReport
| Field | Type | Description |
|---|---|---|
epc |
str |
Tag EPC (hex string) |
antenna_port |
int |
Antenna port number |
peak_rssi_cdbm |
int |
Peak RSSI in centi-dBm |
frequency |
int |
Frequency in kHz |
transmit_power_cdbm |
int |
TX power in centi-dBm |
RfMode
Enum with all supported Impinj R700 RF modes: MAX_THROUGHPUT, HYBRID, DENSE_READER_M4, DENSE_READER_M8, AUTOSET, and more. See source for full list.
License
impinj-iot is distributed under the terms of the MIT license.
Metadata
Release files for impinj-iot 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| impinj_iot-0.4.0.tar.gz | 11.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| impinj_iot-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.3 kB
Release files / impinj_iot-0.4.0.tar.gz
| Download URL | impinj_iot-0.4.0.tar.gz |
|---|---|
| Size | 11.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
36a66227adf318780eed78b1642280c9f3175166ddcb71350215df62f8a620f5
|
|
BLAKE2b-256 checksum How to use checksums |
4ebe1a71ddfdb8445261b0f33f200104a49e3f00820c68895f9ae98967f51b63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.27.0
|
Release files / impinj_iot-0.4.0-py3-none-any.whl
| Download URL | impinj_iot-0.4.0-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4fdf546e57d933986974582ab8133b3fee7f46702f9e7c4bfc7a5899f164a494
|
|
BLAKE2b-256 checksum How to use checksums |
de5d900a2313275e44e58e658459e276f71082772134b67533f4c57b774da338
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.27.0
|