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.4.0.tar.gz (11.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.4.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for impinj_iot-0.4.0.tar.gz
Algorithm Hash digest
SHA256 36a66227adf318780eed78b1642280c9f3175166ddcb71350215df62f8a620f5
MD5 e1ab6a9e04591231510e7c5e5ccdcc44
BLAKE2b-256 4ebe1a71ddfdb8445261b0f33f200104a49e3f00820c68895f9ae98967f51b63

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for impinj_iot-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4fdf546e57d933986974582ab8133b3fee7f46702f9e7c4bfc7a5899f164a494
MD5 c6f8e8dbe4aa9b3d55255a0f3fbc7900
BLAKE2b-256 de5d900a2313275e44e58e658459e276f71082772134b67533f4c57b774da338

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