SAUK. Протокол WEB-API для Wi-Fi и Ethernet
Репозиторий библиотеки
Библиотека для работы с WEB-API устройства SAUK через Ethernet или Wi-Fi. Позволяет управлять всеми функциями устройства, включая настройку RFID-параметров, работу с сетью, управление периферией и многое другое.
Установите необходимые зависимости:
pip install requests
from sauk_api import SAUK_API
sauk = SAUK_API(base_url="http://192.168.10.1")
config = sauk.get_rfid_config()
sauk.enable_infinite_inventory(True)
sauk.set_antenna_power(1, 23)
sauk.set_frequency_settings(start=866300, space=60, quantity=3)
sauk.set_min_hold_ms(5000)
tags = sauk.inventory_once()
tag_list = sauk.get_tag_list()
sauk.clear_tag_list()
sauk.reboot_device()
version = sauk.get_version()
sauk.beep_device()
log = sauk.get_message_log()
sauk.logout()
networks = sauk.scan_wifi_networks()
sauk.connect_wifi("my_ssid", "my_password")
net_info = sauk.get_network_info()
sauk.enable_wifi_access_point(True)
periphery_config = sauk.get_periphery_config()
sauk.set_relay_config(1, enable=True, timer=5000)
sauk.set_wiegand_config(1, enable=True, type_=26, shift_bytes=1, source=1)
sauk.set_temperature_calibration(-2)
tag_identity = sauk.get_tag_identity_config()
sauk.set_valid_time(10000)
sauk.set_hold_time(30000)
sauk.set_rssi_filter(-70, enable=True)
sauk.set_epc_filter(1, "E2003411B8020114A418C2AE", enable=True)
sauk.set_access_password(0x12345678)
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
)
sauk.set_notification_ip("192.168.10.100", 5000, timeout=2000, enable=True)
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)
current_time = sauk.get_datetime()
sauk.set_datetime(1, 1, 2024, 12, 0, 0)
None в случае ошибки.set_*_config() с передачей нужных параметров.# Получить текущую конфигурацию 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)
# Выполнить однократное сканирование
tags = sauk.inventory_once()
print("Scanned Tags:", tags)
# Получить список меток из таблицы идентификации
tag_list = sauk.get_tag_list()
print("Tag List:", tag_list)
# Очистить таблицу идентификации
sauk.clear_tag_list()
# Перезагрузить устройство
sauk.reboot_device()
# Получить версию прошивки
version = sauk.get_version()
print("Firmware Version:", version)
# Подать звуковой сигнал
sauk.beep_device()
# Получить системный журнал
log = sauk.get_message_log()
print("System Log:", log)
# Сканировать доступные 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)
# Получить текущую конфигурацию периферии
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)
# Получить текущие параметры идентификации
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)
# Получить полную таблицу доступа
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)
# Получить текущее время
current_time = sauk.get_datetime()
print("Current Time:", current_time)
# Установить новое время
sauk.set_datetime(1, 1, 2024, 12, 0, 0)