SDK to communicate with Baltech RFID readers.
Project description
Baltech SDK
Installation
pip install baltech-sdk
Usage
from baltech_sdk import Brp, UsbHid
# Sample code for GetInfo
with Brp(UsbHid()) as brp:
print(brp.Sys_GetInfo())
# This is a shortcut for:
io = UsbHid()
brp = Brp(io, open=False)
brp.open()
print(brp.Sys_GetInfo())
brp.close()
A complete reference of the supported commands can be found here.
Supported IO protocols
from baltech_sdk import Brp, UsbHid, RS232
# USB HID autodetect connected reader
brp = Brp(UsbHid())
# USB HID by serialnumber
brp = Brp(UsbHid(serialnumber=99999999))
# Serial with (optional) custom settings
brp = Brp(RS232("COM1", baudrate=115200, parity=b"N"))
Reader Update
from baltech_sdk import Brp, UsbHid, ReaderUpdater
with Brp(UsbHid(), open=True) as brp:
updater = ReaderUpdater.from_path("firmware.bf3")
# simple upload
updater.run(brp)
# upload with progress
for progress in updater.iter(brp):
print(f"{progress.progress:.0%} ({progress.transferred_bytes} bytes)")
Access Reader Configuration
from baltech_sdk import Config
cfg_src = {(0x0201, 0x02): b'\x01'} # instead of a confDict also a brp object
# can be passed to modify reader's
# configuration directly
cfg = Config(cfg_src)
# set value
cfg.Device_Boot_StartAutoreadAtPowerup("EnableOnce")
# get value
print(cfg.Device_Boot_StartAutoreadAtPowerup.get())
# delete value
cfg.Device_Boot_StartAutoreadAtPowerup.delete()
Templates and BaltechScripts
from baltech_sdk import Config, Template, BaltechScript, TemplateFilter
confdict = {}
cfg = Config(confdict)
cfg.Scripts_Events_OnAccepted(
BaltechScript()
.ToggleInverted("RedLed", RepeatCount=3, Delay=20)
.Toggle("GreenLed", RepeatCount=1, Delay=20)
.DefaultAction()
)
cfg.Autoread_Rule_Template(
0,
Template()
.Static(b"SNR:")
.Serialnr(TemplateFilter(BinToAscii=True, Unpack=True, BinToBcd=True))
)
print(confdict)
Linux or macOS
To use baltech-sdk under Linux or macOS you need to build your own binary of the BaltechSDK and manually set the path to your binary.
from pathlib import Path
from baltech_sdk import set_brp_lib_path
set_brp_lib_path(Path("path/to/brp_lib"))
Further parameters on connections fors sensible data
Additional Options:
- AES based Encryption can be activated
- Enabled monitoring can be suppressed or extended to plaintext
from baltech_sdk import Brp, UsbHid, SecureChannel
KEY = b'abcdefghijklmnuk'
brp = Brp(UsbHid(),
crypto=SecureChannel(security_level=1, key=KEY), # encrypt communication
monitor="plaintext" # log unencrypted data (if activated by user)
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
baltech_sdk-5.2026.5.tar.gz
(253.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file baltech_sdk-5.2026.5.tar.gz.
File metadata
- Download URL: baltech_sdk-5.2026.5.tar.gz
- Upload date:
- Size: 253.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55063d093cd603c9df881d8e3e8e486ad8d00fbf1a620a9038d51c29ce6a15d1
|
|
| MD5 |
0d275e6c38c57b9dad251a31f017b2ea
|
|
| BLAKE2b-256 |
6821ecbaa2645bcb8b3bd69c95f170a97bca2c3de9491053adae1c4061b50c7e
|
File details
Details for the file baltech_sdk-5.2026.5-py3-none-any.whl.
File metadata
- Download URL: baltech_sdk-5.2026.5-py3-none-any.whl
- Upload date:
- Size: 258.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1f3090eb53c37f86713c6d1925f689ec29cdc66107b7b15cd78a31816d56eb4
|
|
| MD5 |
a3cc78ea300b78c415080f997c9e574e
|
|
| BLAKE2b-256 |
3492b5a33921fe4b4746a546e6d9bc2c328737a7847a02882f43ec9c3b91bc76
|