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.4.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.4.tar.gz.
File metadata
- Download URL: baltech_sdk-5.2026.4.tar.gz
- Upload date:
- Size: 253.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa90990a5bfa8c306d495f389c158cd4b68af7dc3dee4cc138309b1555496f62
|
|
| MD5 |
0c6b48083bda6785f92a2e58633e6c9d
|
|
| BLAKE2b-256 |
27b778e02586b1d85ad8953b45e6aee565df9c413a05bd8880e0f9ffd6bd1dfe
|
File details
Details for the file baltech_sdk-5.2026.4-py3-none-any.whl.
File metadata
- Download URL: baltech_sdk-5.2026.4-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.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7779d23f031051aa5b6d82df819c132709f160fa83cd096976cad897192e7f3c
|
|
| MD5 |
923299cbcdb768097691fb61fad247fa
|
|
| BLAKE2b-256 |
348a2322b5e29d2b111eb53a753e42511622c4755a5e37084f97e89deffa394a
|