Skip to main content

Python driver for Impinj R700 RAIN RFID readers using IoT Device Interface (REST API)

Project description

impinj-iot

PyPI - Version PyPI - Python Version

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

impinj_iot-0.1.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

impinj_iot-0.1.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

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

Hashes for impinj_iot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 213bc42de0cc43b2deea7ba8a3c35cab4e916c29f2654f9ca69b1b505c011e89
MD5 fb59fd2a50846485e7d3a7e30f5ff8c5
BLAKE2b-256 7b68a803e8b9e8180c15176a65880f4440ccd45bffc947b9fd9c73fe9ddf54db

See more details on using hashes here.

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

Hashes for impinj_iot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 396e20602987bba566a9026f4f882d5a9bfaa8edb0a2219f1c5e2673fb295159
MD5 124bf6bdfeeba5838594e7a6ee930387
BLAKE2b-256 c643847f018a70a55b5662ac77dfe34d1d4cfb604f2d665c90512d8153c01afc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page