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_armhf-1.4.1.tar.gz (1.1 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_armhf-1.4.1.tar.gz.

File metadata

File hashes

Hashes for reader_integration_kit_linux_armhf-1.4.1.tar.gz
Algorithm Hash digest
SHA256 912cc716c0041736346b1b39419d7a7aa3cba70a76f2f47c7043be71a4d427fc
MD5 3baa1d761cafc11f717be58e16bd26df
BLAKE2b-256 a70f1754d3721e92a1b8a10c2671dcb459224dcef1c039a6cb609c59583869c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for reader_integration_kit_linux_armhf-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f054361982ad03270cb697c9e032c4a82dafc7a6eeeec6e1a16cf1104821c900
MD5 e52b18e645888361a6860b8ebe66861c
BLAKE2b-256 e1613deeb511d5b1d22eacd2fcb2fe8666a2adb67bd19a1aeebfceb7f6b350e4

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