Python driver for Impinj R700 RAIN RFID readers using IoT Device Interface (REST API)
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file impinj_iot-0.1.0.tar.gz.
File metadata
- Download URL: impinj_iot-0.1.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
213bc42de0cc43b2deea7ba8a3c35cab4e916c29f2654f9ca69b1b505c011e89
|
|
| MD5 |
fb59fd2a50846485e7d3a7e30f5ff8c5
|
|
| BLAKE2b-256 |
7b68a803e8b9e8180c15176a65880f4440ccd45bffc947b9fd9c73fe9ddf54db
|
File details
Details for the file impinj_iot-0.1.0-py3-none-any.whl.
File metadata
- Download URL: impinj_iot-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
396e20602987bba566a9026f4f882d5a9bfaa8edb0a2219f1c5e2673fb295159
|
|
| MD5 |
124bf6bdfeeba5838594e7a6ee930387
|
|
| BLAKE2b-256 |
c643847f018a70a55b5662ac77dfe34d1d4cfb604f2d665c90512d8153c01afc
|