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, Tcp
# 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"))
# TCP by ip address
brp = Brp(Tcp(ipaddr="192.168.0.1"))
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
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
baltech_sdk-3.19.0-py3-none-any.whl
(575.6 kB
view details)
File details
Details for the file baltech_sdk-3.19.0-py3-none-any.whl.
File metadata
- Download URL: baltech_sdk-3.19.0-py3-none-any.whl
- Upload date:
- Size: 575.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd49c33abcc7cbd8726ce96991783418467bbd0af419f7fc1dc32f621f5073b0
|
|
| MD5 |
d29ee551142ce53a6e9da12fc15c8f3b
|
|
| BLAKE2b-256 |
2c0fa5090013b99a6dc3d12e0f07d425fa43690b3df90ee76d926f45c36475b5
|