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.2.0.tar.gz (11.9 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.2.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file impinj_iot-0.2.0.tar.gz.

File metadata

  • Download URL: impinj_iot-0.2.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for impinj_iot-0.2.0.tar.gz
Algorithm Hash digest
SHA256 dde1f33eb83ef34e63056e3a7dd64adac33f7bfdedb9a18b0cc9de792f8a2e8d
MD5 b78878a266b584e44d44d7c485256ba0
BLAKE2b-256 20870591d59ba518b2ce4a7d6d98ac207cbf0283b7ebc51f69a331a0e91407e5

See more details on using hashes here.

File details

Details for the file impinj_iot-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: impinj_iot-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for impinj_iot-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 442fc284f7e45bf8636872bceda2c7d15daa125cb7d2b8193bddc98558e3c9ea
MD5 eae3ebfed0eaae8339f5b7042e7cefe5
BLAKE2b-256 7fbbf68613090fb05c2068be86ff913ea33a5e851c3297f6a18862c27b059faf

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