Автоматизация при работе с клиентским приложением. Примеры bash скрипта для ОС Linux и bat файла для ОС Windows.
Пример bash скрипта для ОС Linux, который подключает USB порт в случае, если он свободен, иначе пишет что он используется.
Создаем файл:
nano /home/check_and_use_ports
#!/bin/bash
# Список адресов портов для отслеживания (разделитель пробел)
adress_ports=(11311 11312 11313 11314 11321 11322 11323 11324 11331 11332)
# Перебор всего списка
for port in "${adress_ports[@]}"
do
# Проверяем занят ли порт
result=$(/home/dkclientx86_64 -t 'list' | grep $port)
if grep -q 'In-use' $result; then
# если порт занят выводим сообщение + в лог (или закоментировать строки если не требуется)
msg="USB $port USED. Not BOUND"
echo $msg
logger -t "Check and use ports" $msg
else
# свободный порт подключаем и логируем (distkontrolusb48-Gr-01 изменяем на свой)
/home/dkclientx86_64 -t 'USE,distkontrolusb48-Gr-01.$port'
msg="USB $port BOUND"
echo $msg
logger -t "Check and use ports" $msg
fi
done
Даем права на исполнение:
chmod +x /home/check_and_use_ports
Проверяем:
/home/check_and_use_ports
Также возможно организовать его выполнение по крону.
Добавляем задачу в крон файл:
nano /etc/crontab
Добавляем строку на выполнение каждые 10 мин (или другой интервал):
*/10 * * * * root /home/check_and_use_ports
Пример bat скрипта для ОС Windows, который подключает USB порт в случае, если он свободен.
Создаем файл c разрешением .bat
check_and_use_ports.bat
Через любой доступный текстовый редактор открываем и заполняем содержимым:
echo off
rem Список адресов портов (разделитель пробел)
set list=11311 11312 11313 11314 11321 11322 11323 11324
rem Получаем список статуса всех портов
C:\dkcl64.exe -t "list" -r %TEMP%\out.txt
rem Перебор массивы списка потов
(for %%a in (%list%) do (
rem Ишем искомый порт в списке статуса портов
for /F "delims=" %%r IN ('type "%TEMP%\out.txt"^|findstr /rc:"%%a"') DO (
echo "Port %%a"
rem Попытка подключения (distkontrolusb64-Gr-01 изменяем на свой)
C:\dkcl64.exe -t "USE,distkontrolusb64-Gr-01.%%a"
)
))
Также возможно организовать его выполнение с помощью планировщика задач.
Более подробно можно ознакомиться в документации к OC Windows
Пример bat скрипта для клиента, который принудительно освобождает USB порт и подключает его, а через заданное время отключает.
Устанавливаем пароль для ssh пользователя в Web интерфейсе концентратора.
Скачиваем утилиту для управления портами по ссылке:
http://distkontrol.com/upload/clients/usbcontrol.zip
Распаковываем архив с утилитой.
Создаем файл в директории с утилитой usbcontrol:
C:\usbcontrol\connect.bat
Через любой доступный текстовый редактор открываем и заполняем содержимым:
echo off
C:\usbcontrol\usbcontrol.exe 192.168.1.180 0 1.1 PASSWORD
timeout 1
C:\usbcontrol\usbcontrol.exe 192.168.1.180 1 1.1 PASSWORD
timeout 3
C:\dkcl64.exe -t "USE,distkontrolusb48-Gr-01.31314"
timeout 60
C:\dkcl64.exe -t "STOP USING,distkontrolusb48-Gr-01.31311"
После подключения USB устройства также можно добавить запуск необходимых программ.
На файл C:\usbcontrol\connect.bat создаем ярлык на рабочий стол
Полный список команд Вы можете посмотреть в руководстве пользователя:
Раздел "5.4 УПРАВЛЕНИЕ КЛИЕНТОМ DISTKONTROLUSB СКРИПТАМИ ИЛИ ИЗ КОМАНДНОЙ СТРОКИ"
http://www.distkontrol.ru/upload/RukovodstvoUSBoverIPv4.pdf
Замечания и дополнения по примерам, Вы можете отправить через форму: