Skip to main content

Python driver for Impinj UHF RFID readers wrapping octane SDK

Project description

octane-sdk-wrapper

PyPI - Version PyPI - Python Version OS

Python driver for Impinj UHF RFID readers wrapping octane SDK

Table of Contents

Requirements

As the python package is just wrapping the .NET dll of Octane SDK, the .NET Runtimes needs to be installed on the system.

Installation

pip install octane-sdk-wrapper

Usage

Connect to the reader

# Create driver
reader = Octane()

# Connect
reader.connect(ip='192.168.17.246')

... use the reader ...

# Disconnect reader
reader.disconnect()

Get basic information about the reader

feature_set = reader.query_feature_set()

Sample response values:

feature_set = OctaneFeatureSet(model_name='Speedway R220', region='US_FCC_Part_15', firmware_version='5.12.2.240', antenna_count=2, min_tx_power=10.0, max_tx_power=32.5)

Configure the reader

# Set antenna configurations
antenna_config: List[bool] = reader.get_antenna_config()
reader.set_antenna_config([True, False])

# Set TX power level
tx_power_per_antenna: List[float] = reader.get_tx_power()
logging.info('Setting max TX power')
reader.set_tx_power(feature_set.max_tx_power)

Perform continuous asynchronous inventory

# Define callback
def notification_callback(tag_report: OctaneTagReport):
    logging.info(tag_report)


# Configure the callback
reader.set_notification_callback(notification_callback=notification_callback)

# Configure the report options
reader.set_report_flags(include_antenna_port_numbers=True,
                        include_channel=True,
                        include_peadk_rssi=True)

# Start inventory stream
reader.start()

# Do other stuff
time.sleep(.5)

# Stop inventory stream
reader.stop()

Sample report:

OctaneTagReport(Epc=bytearray(b'\xe2\x00\x00\x195\x10\x02\x07\x08\x80\xc3+'), AntennaPortNumber=1, ChannelInMhz=913.25, PeakRssiInDbm=-66.0)

Execute Read/Write operations

reader.write(target="1234567890ABCDEF", 
             bank=OctaneMemoryBank.User, 
             word_pointer=0, 
             data="1234")

data: bytearray = reader.read(target="1234567890ABCDEF", 
                              bank=OctaneMemoryBank.User, 
                              word_pointer=0, 
                              word_count=1)

License

octane 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

octane_sdk_wrapper-1.3.0.tar.gz (397.3 kB view details)

Uploaded Source

Built Distribution

octane_sdk_wrapper-1.3.0-py3-none-any.whl (397.3 kB view details)

Uploaded Python 3

File details

Details for the file octane_sdk_wrapper-1.3.0.tar.gz.

File metadata

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

File hashes

Hashes for octane_sdk_wrapper-1.3.0.tar.gz
Algorithm Hash digest
SHA256 8cf7fd44e0f5cd7d34d81d69d3577934964408100929bd1d369ceb225a7de7ef
MD5 6044fe8049a2df7ab2d5b0d9186e190c
BLAKE2b-256 bdd5f565048f0886bed2a76afd3cd4f451447aa0b9567f29b0613b669dd2df10

See more details on using hashes here.

File details

Details for the file octane_sdk_wrapper-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for octane_sdk_wrapper-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c271856ebca8aff1aa54b1e14bf3f59fd80f190d6e2eb3365d03df14c6518b8
MD5 8d782db0246a26c534a65518f5a04ae5
BLAKE2b-256 31aa7af642f515c85bf27a83813cb3a81a0dba0c10a108752576f9ae43929082

See more details on using hashes here.

Supported by

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