Skip to main content

A Python wrapper for the rfIDEAS Reader Integration Kit library

Project description

Reader Integration Kit - Python Binding

A Python wrapper for the rf IDEAS Reader Integration Kit native library. This package enables Python applications to communicate with rf IDEAS readers using a high-level reader interface.

Supported Platforms

This package is distributed as platform- and architecture-specific builds. Each architecture is a separate PyPI package, so install the one that matches your operating system and CPU architecture:

Platform / Architecture Package Name
Linux x86_64 reader-integration-kit-linux-x86-64
Linux ARM64 (generic aarch64) reader-integration-kit-linux-aarch64
Linux ARM64 (Raspberry Pi 5, optimized) reader-integration-kit-linux-pi5
Linux 32-bit ARM hard-float (ARMhf / armv7) reader-integration-kit-linux-armhf
Windows x86_64 reader-integration-kit-windows-x86-64

Installation

Install the package for your platform using pip:

Linux x86_64:

pip install reader-integration-kit-linux-x86-64

Linux ARM64 (generic aarch64):

pip install reader-integration-kit-linux-aarch64

Raspberry Pi 5 (optimized ARM64 build):

pip install reader-integration-kit-linux-pi5

Linux 32-bit ARM (ARMhf / armv7):

pip install reader-integration-kit-linux-armhf

Windows:

pip install reader-integration-kit-windows-x86-64

Note: You must install the package that matches your operating system and CPU architecture. There is no universal package that covers all platforms. On a Raspberry Pi 5 you can use either the optimized reader-integration-kit-linux-pi5 build (tuned for the Pi 5's Cortex-A76 cores) or the portable reader-integration-kit-linux-aarch64 build that runs on any ARMv8-A device.

Prerequisites

  • Python 3.6 or later
  • An rf IDEAS reader (e.g., WaveID) connected to your system
  • On Linux, appropriate udev rules may be required for USB reader access

Usage

Import the reader_integration_kit module and create an instance of Reader. The facade uses handles to manage reader instances, allowing you to interact with multiple readers concurrently.

WaveID Reader Example

import reader_integration_kit.facade as reader
from reader_integration_kit.structures import ReaderDefinition, DeviceId, SerialPortSettings
from reader_integration_kit.enum import ProtocolType, BeepDuration, BeepVolume

# Create a reader definition for WaveID
reader_def = ReaderDefinition(
    DeviceId=DeviceId(VendorId=0x0c27, ProductId=0x3bfa),
    ProtocolType=ProtocolType.FEATURE_REPORT,
    SerialPortSettings=SerialPortSettings()
)

# Create a WaveID reader instance
with reader.Reader(reader_def, retry_count=3) as waveid:
    # Initialize the reader
    waveid.init()

    # Get reader metadata (populated lazily on first access)
    metadata_dict = waveid.get_metadata()
    print(f"Part Number: {metadata_dict.get('PartNumber', 'N/A')}")

    # Force refresh metadata from device
    metadata_dict = waveid.get_metadata(force_refresh=True)

    # Beep the reader
    waveid.beep(2, BeepDuration.BEEP_DURATION_SHORT)

    # Get beeper volume
    volume = waveid.get_beeper_volume()
    print(f"Beeper Volume: {volume}")

    # Set beeper volume
    waveid.set_beeper_volume(BeepVolume.BEEP_VOLUME_HIGH)

Note: The Reader class manages reader handles internally. Each instance corresponds to a single reader handle. You can create multiple Reader instances to interact with multiple readers simultaneously. Resources are automatically released when exiting the context manager (with statement) or when the object is garbage collected.

Documentation

For integration guides and complete API reference, see the rf IDEAS Documentation.

License

This package is proprietary software distributed by rf IDEAS, Inc. Use of this package is subject to the End-User License Agreement (EULA) included with the package. See the included rfIDEAS_EULA.txt for full terms and conditions.


Copyright rf IDEAS, Inc. All rights reserved.

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

reader_integration_kit_linux_pi5-1.4.1.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file reader_integration_kit_linux_pi5-1.4.1.tar.gz.

File metadata

File hashes

Hashes for reader_integration_kit_linux_pi5-1.4.1.tar.gz
Algorithm Hash digest
SHA256 9bbbd8702bbac336c8e7757fd180d66cc9a83b34f8fd2f26ea0611a4567098e5
MD5 ea507c3cbcead914c5fa731b32d36a64
BLAKE2b-256 c9ff31f907fca59f1395a08e7f8d6fe4d94ba724e924c13debcbe852e6093d48

See more details on using hashes here.

File details

Details for the file reader_integration_kit_linux_pi5-1.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for reader_integration_kit_linux_pi5-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ca1b63cac212071f29ba5e94ef24a2f62045f5ebd720480f115a092a91997843
MD5 f92823307b5ea901550e16d3be0ccf1d
BLAKE2b-256 9d552a05b8a596b0e4d929ad5886504d1d69dd631fdb7d8f604e2ffd231c6085

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