UPD_2: С версии драйвера АТОЛ 10.7.0.0 EoT заменен на «автоматически». Теперь драйвер сам выбирает способ выгрузки в ОФД.
Сначала давайте разберемся, что такое EoU. EoU - это Ethernet Over Usb. Данная утилита предназначена для организации канала между ОФД и ККТ при подключении по USB. В большинстве, стандартных, случаев используется именно данный канал, если только вы не устанавливаете прямой канал Ethernet или нет цели сетевого использования ККТ.
После установки драйверов ККТ, в нашем случае ATOL 10, запуска и тестирования кассы, переходим к установке и настройке службы EoU.
Сначала создаем нового пользователя с ограниченными права, нам же не нужно, чтобы пользователь сидел под администратором и мог менять настройки и работу системы. Назовем нашего пользователя POS-1.
Скачиваем архив с одноименным названием из Центра Загрузок.
В архиве находятся различные версии утилиты. Выбираем последнюю и переходим в директорию нужной нам архитектуры.
Разрядность необходимо выбирать исходя из разрядности операционной системы, а не приложения для кассы (как правило, 1С) и драйверов ККТ. Если у вас операционная система 64bit, то и выбирать нужно именно эту разрядность.
Войдя в каталог мы обнаружим различные бинарные файлы, библиотеки и файл настроек. Именно файл настроек settings.xml нас и интересует. Открываем файл настроек любым текстовым редактором и в начале документа должна присутствовать секция:
<hotplug>auto</hotplug>
Эта опция включает автоматическое обнаружение касс на Linux.
Теперь нам необходимо разместить файлы в нужных местах системы и настроить работу утилиты в качестве сервиса.
В открытой папке выбираем «Файл», и в выпавшем контекстном меню выбираем открыть как Администратор, и запустить терминал от имени администратора. Это нам необходимо чтобы не мучиться с провисанием путей для команд, а так же для разблокировки файлов, чтобы они не выдавали ошибок запрета тех или иных действий при работе с ними.
Сначала создадим директорию /etc/ATOL/EoU и скопируем туда файл настроек settings.xml:
mkdir -p /etc/ATOL/EoU
cp settings.xml /etc/ATOL/EoU/
Саму утилиту EoU расположим в любом месте, но в нашем примере это будет директория opt:
mkdir /opt/EoU
cp * /opt/EoU/
Дадим файлам права на исполнение:
chmod +x /opt/EoU/EthOverUsb*
Зарегистрируем EoU в качестве сервиса:
/opt/EoU/EthOverUsb.sh -i
Теперь нам нужно добавить службу в автозагрузку и обеспечить управление службой посредством системы. Для этого нам нужно написать юнит для systemd.
Создаем файл юнита:
touch /etc/systemd/system/eou.service
Откроем его для редактирование и вносим настройки:
[Unit]
Description=ATOL EthernetOverUsb Service
After=display-manager.service
[Service]
Type=forking
User=root
ExecStart=/opt/EoU/EthOverUsb.sh
ExecStop=/opt/EoU/EthOverUsb.sh -t
[Install]
WantedBy=multi-user.target
Сохраняем файл юнита и добавляем его в автозагрузку:
systemctl enable eou
Теперь мы можем управлять службой используя привычные команды:
service eou start|stop|restart|status
Для проверки автоматического запуска службы EoU и обнаружения утилитой касс - перезагружаем систему. После загрузки Linux ищем лог работы службы, который располагается в /var/log/EoU и проверяем запуск утилиты, обнаружение касс и обмен данными с ОФД.
Можем перезагрузить систему и убедиться, что служба запускается автоматически.
На этом установка и настройка утилиты EoU окончена, и можно начинать работать.
Если вы столкнулись с проблемой установки утилиты EoU на Debian-подобные системы, вы можете обратиться к нам за помощью.
Новость отредактировал: Легион - 12 августа 2020
Причина: Обновление информации о новых правилах в работе драйвера ATOL 10
Комментариев 3