Оглавление
1. Подготовка образа
1.1. Подготовить USB-накопитель – загрузить образ кассы УКМ 5
...
Необходимо обратиться к команде техподдержки киоска за ссылкой на актуальный x64 образ кассы УКМ 5.
При использовании селфи-камеры, сервиса СуперМаг DS и СуперМаг Vision, необходимо не менее 4Гб памяти на кассе и 64-битный образ!
В данном документе представлена инструкция к версии кассы ukm5-pos-x64-1.3846.319.iso и соответственно с сервера , сервер также должен быть обновлён до версии 1.3846.7.3
- Вставляем в свой компьютер USB-накопитель объёмом от 4GB.
- Необходимо скопировать и вставить (Ctrl+C и Ctrl+V) программу Rufus в папку на ПК из данной инструкции:
...
- скачать rufus по ссылке ниже:
Rufus: https://drivedisk.googleyandex.com/fileru/d/1uULQTETKdQZzgHFXtW5kohr9qzpr2le6/view?usp=sharingciEYjdOw_0NpWA.
- Если у вас есть версия от 2.5 (при старте программа сама предложит обновиться до актуальной версии):
...
- Дожидаемся окончания загрузки образа на носитель (надпись Готов) и нажимаем ЗАКРЫТЬ:
1.2. Установка адреса сервера
...
Производится заранее пред заливкой на Sherman и непосредственно перед заливкой для каждого магазина.
- Открываем флешку и находим файл f:\ukm5\ukm5\connection.conf:
...
srvIp=IP кассового сервера (или FQDN имя)
srvPort=9000
tmIp=IP кассового серверасервера (или FQDN имя)
tmPort=9091
Подключение к кассовому серверу клиента:
srvIp=xxx.xxx.xx.xx
srvPort=49000
tmIp= xxx.xxx.xx.xx
tmPort=49091
Если не поменять данные на флешке, то на кассе будет окно с возможностью ввести параметры при регистрации кассы.
2. Заливка киоска с флешки (на объекте)
2.1. Простая загрузка
...
- Выключить кассу.
- Подключить на кассу USB-клавиатуру.
- Подключить накопитель в свободный USB-порт.
- Включить кассу.
- При включении перейти в BIOS и нажать одну из клавиш F2/Delete/F1 (в зависимости от типа BIOS).
...
- Далее идем в Advanced – ACPI settings и ставим все пункты гибернации в положение disable.
- Затем надо изменить порядок загрузки, установить первое загрузочное устройство – USB-накопитель.
...
- Потом нужно перейти в раздел Save & Exit, подраздел Boot Override, выбрать Flash-накопитель и нажать клавишу Enter
...
- :
- Должна начаться загрузка. Нужно выбрать пункт Install UKM5:
Примечание. Если загрузка не началась или в BIOS Flash-накопитель не видится, попробуйте пункт 2.1.2.
2.2. Если не получилась простая загрузка
- Выключить кассу.
- Подключить на кассу USB-клавиатуру.
- Подключить накопитель в свободный USB-порт.
- Включаем кассу.
- При включении перейти в BIOS нажать одну из клавиш Delete/F1/F2 (в зависимости от типа BIOS).
- Изменить порядок загрузки, установить первое загрузочное устройство – USB-накопитель:
- Перейти в раздел Boot – Hard Drive BBS Prioriries:
- в Boot Option #1 назначить (+/-) Flash-накопитель:
- сохранить изменённые параметры в BIOS:
- После сохранения параметров касса перезагрузится и на экране появится окно инсталляции. Нужно выбрать пункт Install UKM5:
- По окончании установки на экране появится следующее сообщение:
- Необходимо извлечь загрузочный носитель и перезагрузить системный блок.
- При последующей загрузке необходимо указать на кассе её уникальный идентификатор, который создаётся на сервере заранее:
2.3. Проверка времени на кассе и настройки часового пояса
После регистрации кассы и прогрузки данных обязательно обращаем внимание на текущее время на киоске:
Если время некорректно, проверяем регион и часовой пояс в магазине и указываем корректные значения:
2.4. Проверка корректности настройки лимита
Следующим шагом проверяем ограничение времени на продажу алкоголя.
Переходим в раздел Ограничения продажи – По расписанию:
Заходим в каждое созданное ограничение на продажу алкоголя и убеждаемся, что выбранный магазин входит в установленное ограничение и временной интервал указан корректно (если магазина нет, добавляем его в режиме редактирования (кнопка Редактировать)):
3. Настройка дисплеев киоска (на объекте)
Если монитор настроен нормально, можно перейти к следующему пункту, закрыв приложение крестиком.
Примечание. Не нажимать кнопку Apply!
- При загрузке появится следующее окно Screen Layout Editor:
- При необходимости повернуть дисплей нужно выбрать в меню пункт Outputs/VGA-1/Orientation/Left:
- Нажать Save As:
- Появится окно Save Layout:
- Выбрать каталог .config:
- Cохранить файл с названием display_config.sh, нажать Save (строго в каталог /ukm5/.config/):
- Закрыть Screen Layout Editor нажатием на крестик, указано красной стрелкой:
- Дождаться загрузки УКМ 5, а затем убедиться, что настройки сохранились и экран киоска отображается правильно.
4. Настройки серверной части УКМ 5
- Выбираем магазин, из которого будем копировать Тип кассы:
- В магазине переходим во вкладку Типы касс и в данной вкладке выбираем уже заранее настроенный тип касс Киоск 2.0 (111), после чего нажимаем кнопку Клонировать:
- Потом в верхней части меню, возле иконки УКМ 5, нажимаем на текущее название магазина:
- В выпавшем списке в меню Выбор магазина выбираем магазин, в который приехал инженер для работ по переоборудованию решения Киоск 1.0 в решение Киоск 2.0:
- В магазине переходим во вкладку Типы касс. В данном разделе появляется новая касса, в названии которой присутствует слово Копия. Данная касса называется Киоск 2.0 (Копия):
- Выбираем кассу Киоск 2.0 (Копия), нажимаем Настройки и в появившемся меню Настройки типов касс выполняем настройки, специфичные для данного магазина (это такие настройки, как адрес сервера ЕГАИС, идентификатор магазина в системе лояльности (если используется), и т.д.).
Самое главное: для использования Киоска 2.0 нужно установить Тип кассы "КСО", а для Киоска 1.0 – тип "DP-киоск". - Вводим проверенные данные ЕГАИС-сервера (данные можно взять из другого Типа касс в текущем магазине):
- Аналогично настраиваем все специфичные для данного магазина сервисы.
5. Настройка СуперМаг Vision
5.1. Настройка "Тип кассы"
- На кассовом сервере по адресу: Магазин – Типы касс нужно выбрать тип кассы и нажать кнопку Настройки:
В меню Настройки типов касс необходимо настроить конфигурационный файл goods_recognition.conf (applications\sale\goods_recognition.conf), как представлено на картинке ниже:
Блок кода language py theme RDark {"app_sale.goods_recognition" : { params : { runOrder = 2 baseUrl = "http://127.0.0.1:6060" //Адрес камера-агента на кассе (в случае использования Jetson - тут адрес Jetson) partnerId = 777 //Идентификатор партнера (узнать у менеджера) pictureUrl = "https://vision.servplus.ru/catalog/picture/" include file("conf/misc/vision.conf") isReweighingDialog = false // Для весов типа NCR (невозможно повторное взвешивание, без снятия товара с весов) blackoutDelay = 2 seconds // При неудачном соединении отправка все запросов будет заблокирована на время blackoutTimeout } }
5.2. Настройка «Кассы»
- В разделе Магазин необходимо войти в подраздел Кассы и нажать кнопку +Добавить:
- В меню Редактирование кассы прописать Тип и Шаблон оборудования, как представлено на рисунке ниже:
- В созданной кассе в полях Номер, Название и GUID вносим новые названия киосков, которые должны называться как 111 (так называется первый киоск), 112 (так называется второй киоск):
- В созданной кассе, в разделе Настройки типов касс, в файле vision.conf необходимо прописать серийный номер камеры (уточнить у менеджера) СуперМаг Vision, непосредственно физически находящейся на данной кассе:
5.3. Настройка селфи-камеры (камера с отображением окна безопасности)
- В разделе Оборудование необходимо перейти во вкладку Шаблоны и создать новый шаблон оборудования (если он ещё не создан), к примеру, Киоск 2.0:
Используем нижеуказанные параметры:
Нажимаем Сохранить.
Примечание. При возникновении проблем с распределением камер (камеры выполняют не свои функции), ознакомится с пунктом 6.2.
5.4. Настройка работы звука на Киоске 2.0
При использовании шаблона оборудования кассы, созданной на сервере версии 1.46 или выше, данные действия выполнять не требуется.
- В разделе Оборудование необходимо перейти во вкладку Шаблоны и создать новый шаблон оборудования (если он ещё не создан), к примеру, Киоск 2.0:
В данном шаблоне необходимо в папке sound настроить конфигурационный файл input.conf, указав следующие параметры:
Блок кода language py theme RDark # Файл конфигурации принимающего звук устройства defaultSoundCard = alsa_card.pci-0000_00_1b.0 # Основная звуковая карта. Параметр не изменять! defaultProfile = analog-stereo # Основной профиль ввода, поддерживаемые варианты analog-stereo, hdmi-stereo defaultDevice = analog-input-mic # Основное устройство ввода, поддерживаемые варианты analog-input-mic, analog-input-internal-mic, hdmi-output-0, hdmi-output-1 defaultDeviceVolume = 100 # Громкость звука основного устройства ввода, от 0 до 150 (в процентах)
- Нажимаем Сохранить.
Дополнительно, необходимо в файле sound настроить конфигурационный файл output.conf, указав следующие параметры:
Блок кода language py theme RDark # Файл конфигурации выводящего звук устройства defaultSoundCard = alsa_card.pci-0000_00_1b.0 # Основная звуковая карта. Параметр не изменять! defaultProfile = analog-stereo # Основной профиль вывода, поддерживаемые варианты analog-stereo, hdmi-stereo defaultDevice = analog-output-headphones # Основное устройство вывода, поддерживаемые варианты analog-output-headphones, analog-output-speaker, hdmi-output-0, hdmi-output-1 defaultDeviceVolume = 100 # Громкость звука основного устройства вывода, от 0 до 150 (в процентах)
- Нажимаем Сохранить.
Примечание. При возникновении проблем с выводом звука (звука на киоске нет), ознакомиться с пунктом 6.1.
5.5. Проверка
После выполнения всех настроек, перезапустить киоск и проверить, что все работает корректно.
6. Дополнительные настройки
6.1. Проверка звука (проверять после подключения всех камер)
Чтобы запустить утилиту для управления устройствами ввода/вывода звука, необходимо выполнить следующие команды в терминале:
1 |
|
На экране кассы (или по VNC) появится интерфейс программы настройки звука.
- В случае необходимости, нужно настроить профиль, устройство ввода и вывода. Пример приведен на рисунках ниже:
- DP-киоск:
Профиль Устройство ввода Устройство вывода
- Гермес:
Профиль Устройство ввода Устройство вывода
- DP-киоск:
2. Вывод используемых в системе звуковых карт:
1 |
|
3. Проигрывание звука на кассе через консоль:
Блок кода | ||||
---|---|---|---|---|
| ||||
Analog (например DP-Kiosk) aplay -D plughw:0,0 /usr/share/sounds/alsa/Front_Center.wav
HDMI (например Гермес) aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav |
6.2. Настройка нескольких камер в драйвере uvcdriver (диагностика USB-оборудования)
- Подключить 2 камеры.
Просмотр подключенных к кассе USB-устройств:
Блок кода language bash theme RDark dmesg -T | grep Product:
Видим обе камеры. Одна подключена в порт 1-2, вторая подключена в порт 1.4.3.
Далее нужно привязать камеры к определенным USB-портам, запустив следующие скрипты:
Блок кода language py theme RDark ~/mint/bin/manual_ascending_attaching_cameras.sh
Перезагрузить кассу.
- Проверить, что в СуперМаг Vision и демонстрации покупателя есть картинка с камеры.
Если камеры не по тем портам, то запускаем скрипт смены камер и повторяем проверки:
Блок кода language py theme RDark ~/mint/bin/manual_descending_attaching_cameras.sh
Перезагрузить кассу и проверить еще раз.
Проверить, выполнена ли привязка, можно следующей командой:
Блок кода language py theme RDark cat /etc/udev/rules.d/60-gst-usb-camera-v4l.rules
Пример правильного вывода:
Здесь видно, что камера, подключенная в порт 1-1, работает как фронтальная камера, а камера подключенная в порт 1-4.3, работает как камера СуперМаг Vision.
В случае, если привязка камер не выполнена, в поле KERNELS будет пусто. Нужно будет выполнить привязку еще раз.
Внимание! В случае, если было выполнено подключение камер в другие порты, нужно еще раз выполнить привязку камер.- Смотрим, что нет проблем с портами USB:
dmesg -T | grep disconnect
dmesg -T | grep reset
Не должно быть reset больше 1 раза в 3 дня и disconnect устройства в порту камер чаще одного раза в 3 дня.
Наличие большого количества сообщений с типом disconnect вероятнее всего, говорит о наличии проблемы с физическим подключением устройства (плохой разъем, кабель, плохой контакт).
Наличие большого количества сообщений с типом reset может свидетельствовать о нехватке электропитания для устройства. Необходимо подключение в другие порты, согласно следующей схеме:
Вот пример явно неправильного подключения устройства. Нужно сменить порт подключения устройства, подключенного в порт 1-2:
Это пример устройства, которое не определяется в порту (возможна также ошибка error -30, error -71). Может помочь полное отключение кассы по питанию, отключение устройства от порта, подключение устройства обратно через 5 минут или смена порта. - Если проблем нет, то проверяем правильно ли привязаны камеры (не перепутаны ли местами). Должна работать фронтальная камера (проверяем, подключившись по VNC) и камера СуперМаг Vision (проверяем, положив что-то на весы и нажав на кнопку Взвесить).
Примечание. Проверить работу камеры по ссылке в браузере недостаточно!!!
Если что-то не совпадает, прописываем камеры:
cd /home/ukm5/mint/bin
./manual_ascending_attaching_cameras.sh
# ascending – повышается номер порта для фронтальной камеры.
Смотрим правила, как изменились номера портов:
cat /etc/udev/rules.d/60-gst-usb-camera-v4l.rules
Перезапускаем кассу:
sudo reboot
Проверяем, не перепутались ли камеры местами.
Если перепутались то:
cd /home/ukm5/mint/bin
./manual_descending_attaching_cameras.sh
Смотрим правила, как изменились номера портов:
cat /etc/udev/rules.d/60-gst-usb-camera-v4l.rules
Перезапускаем кассу:
sudo reboot
Запускаем покупателей и мониторим:
dmesg | grep reset
или
dmesg | grep disconnect
6.3. Настройка СуперМаг Vision на Sherman-J
Создаём конфигурационный файл камеры:
Блок кода language py theme RDark 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
Меняем отмеченные жёлтым выше параметры на те, что были в RPi.
Пример. В режиме редактирования файла F4 – в mc, проверяем, что в конце строк нет символов переноса; если есть, то удаляем.
Ниже пример правильного конфига:
А вот так быть не должно:Настраиваем DNS:
Блок кода language py theme RDark sudo mcedit /etc/netplan/01-netcfg.yaml
Прописываем адреса dns-серверов, как в примере ниже:
Настраиваем службы:
Блок кода language py theme RDark 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
Каждую команду нужно выполнить отдельно, не все сразу.
Запускаем службы:
Блок кода language py theme RDark sudo systemctl restart gst_camera@gst_device_usb.service sudo systemctl restart camera_agent.service sudo systemctl restart uni_worker@camera_agent.service
Каждую команду нужно выполнить отдельно, не все сразу.
- По пути http://IP_KASSA:6060/image должна быть доступна картинка с камеры:
- Если картинка с камеры не видна или на экране черный квадрат, то перезагружаем весь системный блок кассового аппарата по питанию.
- Если при открытии http://IP_KASSA:6060/sku/image видим ошибку 500, то вероятнее всего ошиблись в конфигурационном файле /var/opt/camera_agent/config.yaml.
Если всё было сделано верно, по инструкции, но вместо картинки с камеры в браузере видно белый пиксель по центру экрана, то перезапускаем udev-правила и службы ещё раз:
Блок кода language py theme RDark 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
Если и это не помогло, то перезапускаем ОС:
Блок кода language py theme RDark sudo reboot
- Проверяем работу СуперМаг Vision.
7. Настройка СуперМаг DS (воспроизведение контента)
- Переходим в конфигурационный файл оборудования киоска (Магазин – Кассы, выбираем интересующую кассу и нажимаем кнопку Оборудование):
- Открываем конфигурационный файл ds.conf (\misc\ds.conf):
Указываем для standBy значения partnerId и PlayerID, ID необходимо запросить у пользователя/маркетолога пользователя. Нажимаем Сохранить.
Информация title Важная информация Для киоска 2.0 на оборудовании "Гермес" можно использовать воспроизведение контента в режиме "receipt" (внутри чека), для чего необходимо раскомментировать вторую строчку в конфигурационном файле и прописать актуальные ID:
- Переходим в настройки типа касс киоска 1.0 или 2.0 – принципиально не важно, методология одна (Магазин – Типы касс, выбираем интересующий тип касс и нажимаем Настройки).
- В файле sale.conf (applications\sale\sale.conf) проверяем, что строка, содержащая файл с настройками СуперМаг DS, раскомментирована:
- В файле mintukm.conf (applications\mintukm.conf) проверяем, что строка с настройками СуперМаг DS раскомментирована:
- После сохранения всех настроек, перезагружаем киоск. Ждём, когда закачается расписание с контентом.
- Локально на кассе можно проверить по пути:
- После закачки, проверяем, что контент в режиме StandBy (ожидание покупателя) воспроизводится. Если используется оборудование "Гермес", также проверяем контент внутри чека. Воспроизведение рекламы внутри чека возможно на всех киосках, у которых на основных мониторах стоит разрешение от 1920x1080.
8. Программное тестирование надёжности подключения USB-устройств
В случае наличия технической возможности программного тестирования интерфейсов подключения устройств киоска самообслуживания, рекомендуется выполнить его в соответствии с имеющейся методикой тестирования.
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) в логах, киоск считается исправным и допускается к эксплуатации.