Необходимо обратиться к команде техподдержки киоска за ссылкой на актуальный x64 образ кассы УКМ 5.
При использовании сервиса СуперМаг DS и СуперМаг Vision, необходимо не менее 4Гб памяти на кассе и 64-битный образ!
В данном документе представлена инструкция к версии кассы ukm5-pos-x64-1.46.19.iso и соответственно, сервер также должен быть обновлён до версии 1.46.7.
Rufus: https://disk.yandex.ru/d/ciEYjdOw_0NpWA.
Производится заранее перед заливкой на Sherman и непосредственно перед заливкой для каждого магазина.
Подключение к кассовому серверу на флешке:
srvIp=IP кассового сервера (или FQDN имя)
srvPort=9000
tmIp=IP кассового сервера (или FQDN имя)
tmPort=9091
Если не поменять данные на флешке, то на кассе будет окно с возможностью ввести параметры при регистрации кассы.
Примечание. Если загрузка не началась или в BIOS Flash-накопитель не видится, попробуйте пункт 2.1.2.
После регистрации кассы и прогрузки данных обязательно обращаем внимание на текущее время на киоске:
Если время некорректно, проверяем регион и часовой пояс в магазине и указываем корректные значения:
Следующим шагом проверяем ограничение времени на продажу алкоголя.
Переходим в раздел Ограничения продажи – По расписанию:
Заходим в каждое созданное ограничение на продажу алкоголя и убеждаемся, что выбранный магазин входит в установленное ограничение и временной интервал указан корректно (если магазина нет, добавляем его в режиме редактирования (кнопка Редактировать)):
Если монитор настроен нормально, можно перейти к следующему пункту, закрыв приложение крестиком.
Примечание. Не нажимать кнопку Apply!
В меню Настройки типов касс необходимо настроить конфигурационный файл goods_recognition.conf (applications\sale\goods_recognition.conf), как представлено на картинке ниже:
{"app_sale.goods_recognition" : { params : { runOrder = 20 include file("conf/misc/vision.conf") # Настройки, которые касаются кассы, а не типа касс; туда можно вынести любую строку, если нужно baseUrl = "http://127.0.0.1:6060" partnerId = 345 // Необходимо узнать ID у менеджера #camSerialNumber = "serialNumber567" # Вынесен в conf/misc/vision.conf для возможности настройки для каждой кассы индивидуально pictureUrl = "http://vision.servplus.ru/catalog/picture" isReweighingDialog = false // Для весов типа NCR (невозможно повторное взвешивание, без снятия товара с весов) sendAllItemsOnAddition = false // connectTimeout = 10 seconds // Таймаут ожидания соединения при запросе // requestTimeout = 30 seconds // Таймаут ожидания ответа при запросе blackoutTimeout = 5 seconds // При неудачном соединении, отправка всех запросов будет заблокирована на время blackoutDelay // apiVersion = "1.4" // Версия API, по умолчанию 1.4. Возможно задать 1.3, все остальные версии будут трактоваться как 1.4 } }} |
Создаём конфигурационный файл камеры:
sudo cat >> /var/opt/camera_agent/config.yaml << 'EOF' %YAML 1.2 --- schema_version: 2 web_api: recognition: https://vision.servplus.ru/v2.3/recognize/partner/ upload: https://vision.servplus.ru/v2.3/upload/ devices: gst_device_usb: connection: v4l2src device=/dev/v4l/by-id/gst-usb-camera socket: /tmp/gst_dev_usb cap: image/jpeg,width=1920,height=1080,framerate=30/1 default_camera: <<cameraID>> sources: <<cameraID>>: camera: classname: GStreamerSRBCamera stream: shmsrc socket-path={devices.gst_device_usb.socket} num-buffers=1 ! {devices.gst_device_usb.cap} ! appsink device: gst_device_usb transform: - Crop: box: [670, 280, 1270, 800] EOF |
Вписываем лицензию вместо <<cameraID>> в default_camera: и sources (лицензия обязательно должна быть та же, которая прописана на сервере в файле vision.conf).
Пример. В режиме редактирования файла F4 – в mc, проверяем, что в конце строк нет символов переноса; если есть, то удаляем их.
Ниже пример правильного конфига:
А вот так быть не должно:
При необходимости настраиваем статический IP-адрес и DNS:
sudo mcedit /etc/netplan/01-netcfg.yaml |
Прописываем адреса, пример ниже:
Настраиваем службы:
sudo sed -i -e 's/ukmclient/ukm5/g' /etc/systemd/system/camera_agent.service sudo sed -i -e 's/ukmclient/ukm5/g' /etc/systemd/system/gst_camera@.service sudo sed -i -e 's/ukmclient/ukm5/g' /etc/systemd/system/uni_worker@.service cd /opt/camera_agent; sudo venv/bin/python3 -u devices.py sudo systemctl enable --now uni_worker@camera_agent sudo systemctl enable camera_agent.service |
Каждую команду нужно выполнить отдельно, не все сразу.
Запускаем службы:
sudo systemctl restart gst_camera@gst_device_usb.service sudo systemctl restart camera_agent.service sudo systemctl restart uni_worker@camera_agent.service |
Каждую команду нужно выполнить отдельно, не все сразу.
Открываем картинку с камеры в браузере:
Настраиваем обрезку картинки с камеры: /var/opt/camera_agent/config.yaml.
Далее, наводим указатель мыши (в Paint это будет прицел) в точку 1 и точку 2, смотрим в левый нижний угол окна Paint с координатами точек:
Округляем координаты до десятков и вписываем их в раздел обрезки в файле конфигурации, а затем сохраняем его:
Первые 2 числа – это координаты верхнего левого угла, вторые два числа – это координаты нижнего правого угла. Если необходимо изменить поворот камеры, дописываем в этот же конфиг параметр Rotate и при необходимости меняем значение angle:
Далее перезапускаем camera agent на кассе:
Получаем обрезанную картинку в браузере (обновляем страницу):
Для камеры DP2710 HD настраиваем фокусное расстояние, сняв фиксацию винта у линзы, вращая линзу по и против часовой стрелки до получения чёткой картинки товара на площадке весов (яблоко, банан и т.п. – товар сантиметров 5 в высоту).
|
Если всё было сделано верно, по инструкции, но вместо картинки с камеры в браузере видно белый пиксель по центру экрана, то перезапускаем udev-правила и службы ещё раз:
sudo udevadm control --reload-rules && udevadm trigger sudo systemctl restart gst_camera@gst_device_usb.service sudo systemctl restart camera_agent.service sudo systemctl restart uni_worker@camera_agent.service |
Если и это не помогло, то перезапускаем ОС:
sudo reboot |
В случае наличия технической возможности программного тестирования интерфейсов подключения устройств киоска самообслуживания, рекомендуется выполнить его в соответствии с имеющейся методикой тестирования.
1. Подключиться к киоску самообслуживания по SSH, используя PuTTY (скачать PuTTY можно по ссылке – https://disk.yandex.ru/d/4sdhDVRcAwfzEw).
Прописываем IP-адрес киоска (IP-адрес можно посмотреть, нажав кнопку Статус), нажимаем Open:
Как альтернативный вариант (если нет возможности использовать PuTTY), можем подключиться к консоли через стандартную PC-клавиатуру, подключенную к кассе, нажав вместе правый ALT+CTRL+F3:
Далее инструкция подходит и для PuTTY, и для работы напрямую с PC-клавиатурой.
Вводим логин ukm5, пароль xxxxxx:
2. Для получения перечня виртуальных устройств на портах системного блока киоска выполняем следующую команду:
dmesg -T | grep Product: | tail -n 200
Видим все подключенные устройства:
3. Необходимо убедиться в отсутствии постоянных дисконнектов (разрывов соединения). Для получения информации (логов) по
дисконнектам устройств, нужно выполнить следующую команду:
dmesg -T | grep disconnect
Если после выполнения команды, никакой информации не выводится, значит дисконнекты отсутствуют.
Пример:
Если дисконнекты присутствуют, то информация будет следующего вида:
Здесь видно, что происходит постоянное отключение устройства USB 1-4.4 в короткий промежуток времени, и очевидно, что это устройство «USB 2.0 Camera»:
Подсчитать полное количество дисконнектов можно через выполнение следующей команды:
cd /var/log/ && zgrep -ia 'kernel' syslog | zgrep -c 'usb 1-4.4: USB disconnect'
Как итог, видно 11 дисконнектов камеры, это повод начать разбираться с камерой, т.е. проверить заземление киоска, проверить порядок подключения USB-портов, попробовать заменить камеру и т.д.
4. Для получения лога по ресетам (переподключению) портов, необходимо выполнить следующую команду:
dmesg -T | grep reset | tail -n 50
Пример:
Из примера видно, что никаких массовых и даже одиночных ресетов не было, можно сделать вывод, что проблем с переподключением USB-устройств нет.
Если ресеты будут присутствовать, то отображение информации будет выведено списком, выделенным красными цветом. Посчитать количество ресетов можно следующей командой:
cd /var/log/ && zgrep -ia 'kernel' syslog | zgrep -c 'usb 1-2: reset'
В случае отсутствия массовых самопроизвольных (не больше 1 раз в день) ресетов (reset) и дисконнектов (disconnect) в логах, киоск считается исправным и допускается к эксплуатации.