RFID-считыватели SAUK. Библиотека python для работы с API
SAUK RFID API Python Library
Библиотека для работы с WEB-API устройства SAUK через Ethernet или Wi-Fi. Позволяет управлять всеми функциями устройства, включая настройку RFID-параметров, работу с сетью, управление периферией и многое другое.
Установка
Установите необходимые зависимости:
pip install requests
Основные возможности
- Управление RFID-конфигурацией
- Инвентаризация меток
- Системные команды
- Настройка сети (Wi-Fi/Ethernet)
- Конфигурация периферии
- Параметры идентификации меток
- Работа с таблицей доступа
- Управление датой и временем
Использование
Инициализация
from sauk_api import SAUK_API sauk = SAUK_API(base_url=
"http://192.168.10.1")
1. RFID Configuration Methods (Конфигурация RFID)
- Получить текущую конфигурацию RFID:
config = sauk.get_rfid_config()
- Включить непрерывное сканирование:
sauk.enable_infinite_inventory(True)
- Установить мощность для антенны 1:
sauk.set_antenna_power(1, 23)
- Настроить частоты:
sauk.set_frequency_settings(start=866300,
space=60, quantity=3)
- Установить время удержания триггера:
sauk.set_min_hold_ms(5000)
2. Inventory Methods (Инвентаризация)
- Выполнить однократное сканирование:
tags = sauk.inventory_once()
- Получить список меток из таблицы идентификации:
tag_list = sauk.get_tag_list()
- Очистить таблицу идентификации:
sauk.clear_tag_list()
3. System Methods (Системные команды)
- Перезагрузить устройство:
sauk.reboot_device()
- Получить версию прошивки:
version = sauk.get_version()
- Подать звуковой сигнал:
sauk.beep_device()
- Получить системный журнал:
log = sauk.get_message_log()
- Завершить сеанс пользователя:
sauk.logout()
4. WiFi and Network Methods (Работа с сетью)
- Сканировать доступные Wi-Fi сети:
networks = sauk.scan_wifi_networks()
- Подключиться к Wi-Fi сети:
sauk.connect_wifi("my_ssid", "my_password")- Получить информацию о сети:
net_info = sauk.get_network_info()
- Активировать режим точки доступа:
sauk.enable_wifi_access_point(True)
5. Periphery Configuration Methods (Конфигурация периферии)
- Получить текущую конфигурацию периферии:
periphery_config = sauk.
get_periphery_config()
- Настроить реле:
sauk.set_relay_config(1, enable=True,
timer=5000)
- Настроить интерфейс Wiegand:
sauk.set_wiegand_config(1, enable=True,
type_=26, shift_bytes=1, source=1)
- Калибровка температурного датчика:
sauk.set_temperature_calibration(-2)
6. Tag Identity Methods (Параметры идентификации меток)
- Получить текущие параметры идентификации:
tag_identity =
sauk.get_tag_identity_config()
- Установить время сна метки:
sauk.set_valid_time(10000)
- Установить время удержания в таблице:
sauk.set_hold_time(30000)
- Настроить фильтр по RSSI:
sauk.set_rssi_filter(-70, enable=True)
- Настроить фильтр по EPC:
sauk.set_epc_filter(1,
"E2003411B8020114A418C2AE", enable=True)
- Настроить пароль доступа:
sauk.set_access_password(0x12345678)
- Настроить уведомления по UART:
sauk.set_notification_uart(
enable=True,
speed=9600,
json_format=1,
add_prefix="PRE", add_suffix="SUF",
add_crlf=True,
add_epcl=True,
add_epc=True,
add_tidl=True,
add_tid=True, add_ant=True,
add_rssi=True,
notify_alive=True
)
- Настроить уведомления по IP:
sauk.set_notification_ip("192.168.10.100",
5000, timeout=2000, enable=True) 7. Access Table Methods (Работа с таблицей доступа)
- Получить полную таблицу доступа:
access_table = sauk.get_access_table()
- Добавить запись в таблицу доступа:
sauk.modify_access_table( epc="E2003411B8020114A418C2AE", name="Device1", group=1, access=1, keya="FFFFFFFFFFFF", keyb="FFFFFFFFFFFF" )
- Получить часть таблицы доступа:
part_table = sauk.get_access_table_part
(start=0, end=10)
8. DateTime Methods (Работа с датой и временем)
- Получить текущее время:
current_time = sauk.get_datetime()
- Установить новое время:
sauk.set_datetime(1, 1, 2024, 12, 0, 0)
Примечания
- Все методы возвращают результат в формате JSON или `None` в случае ошибки.
- Для настройки параметров можно использовать как отдельные методы, так и общий метод `set_*_config()` с передачей нужных параметров.
- При работе с уведомлениями можно гибко настраивать формат данных и дополнительные параметры.
- Для работы с таблицей доступа предусмотрены методы как для полного получения, так и для частичного запроса данных.
Примеры использования
1. Работа с RFID конфигурацией
# Получить текущую конфигурацию RFID
config = sauk.get_rfid_config() print
("Current RFID Config:", config) # Включить непрерывное сканирование
sauk.enable_infinite_inventory(True) # Установить мощность для антенны 1
sauk.set_antenna_power(1, 23) # Настроить частоты sauk.set_frequency_
settings(start=866300, space=60,
quantity=3) # Установить время удержания триггера
sauk.set_min_hold_ms(5000)
2. Инвентаризация меток
# Выполнить однократное сканирование
tags = sauk.inventory_once()
print("Scanned Tags:", tags)
# Получить список меток из таблицы
идентификации
tag_list = sauk.get_tag_list()
print("Tag List:", tag_list)
# Очистить таблицу идентификации
sauk.clear_tag_list() 3. Системные команды
# Перезагрузить устройство
sauk.reboot_device()
# Получить версию прошивки
version = sauk.get_version()
print("Firmware Version:", version)
# Подать звуковой сигнал
sauk.beep_device()
# Получить системный журнал
log = sauk.get_message_log()
print("System Log:", log) 4. Работа с сетью
# Сканировать доступные Wi-Fi сети
networks = sauk.scan_wifi_networks()
print("Available Networks:", networks)
# Подключиться к Wi-Fi сети
sauk.connect_wifi("my_ssid", "my_password")
# Получить информацию о сети
net_info = sauk.get_network_info()
print("Network Info:", net_info)
# Активировать режим точки доступа
sauk.enable_wifi_access_point(True) 5. Конфигурация периферии
# Получить текущую конфигурацию периферии periphery_config =
sauk.get_periphery_config() print("Periphery Config:",
periphery_config) # Настроить реле sauk.set_relay_config(1, enable=True,
timer=5000) # Настроить интерфейс Wiegand sauk.set_wiegand_config(1,
enable=True, type_=26, shift_bytes=1,
source=1) # Калибровка температурного датчика sauk.set_temperature_calibration(-2)
6. Настройка параметров идентификации меток
# Получить текущие параметры идентификации tag_identity =
sauk.get_tag_identity_config() print("Tag Identity Config:", tag_identity) # Установить время сна метки sauk.set_valid_time(10000) # Установить время удержания в таблице sauk.set_hold_time(30000) # Настроить фильтр по RSSI sauk.set_rssi_filter(-70, enable=True) # Настроить фильтр по EPC sauk.set_epc_filter(1,
"E2003411B8020114A418C2AE", enable=True) # Настроить пароль доступа sauk.set_access_password(0x12345678) # Настроить уведомления по UART sauk.set_notification_uart( enable=True, speed=9600, json_format=1, add_prefix="PRE", add_suffix="SUF", add_crlf=True, add_epcl=True, add_epc=True, add_tidl=True, add_tid=True, add_ant=True, add_rssi=True, notify_alive=True ) # Настроить уведомления по IP sauk.set_notification_ip("192.168.10.100",
5000, timeout=2000, enable=True)
7. Работа с таблицей доступа
# Получить полную таблицу доступа
access_table = sauk.get_access_table()
print("Access Table:", access_table)
# Добавить запись в таблицу доступа
sauk.modify_access_table(
epc="E2003411B8020114A418C2AE",
name="Device1",
group=1,
access=1,
keya="FFFFFFFFFFFF",
keyb="FFFFFFFFFFFF"
)
# Получить часть таблицы доступа
part_table =
sauk.get_access_table_part(start=0,
end=10)
print("Access Table Part:", part_table) 8. Работа с датой и временем
# Получить текущее время
current_time = sauk.get_datetime()
print("Current Time:", current_time)
# Установить новое время
sauk.set_datetime(1, 1, 2024, 12, 0, 0) SAUK© 2020 – 2025. Все тексты и изображения, представленные на сайте, являются интеллектуальной собственностью SAUK. Могут быть использованы только по письменному согласию SAUK. SAUK® является зарегистрированным торговым знаком.