1. Подготовка образа
1.1. Подготовить USB-накопитель – загрузить образ кассы УКМ 5
Необходимо обратиться к команде техподдержки киоска за ссылкой на актуальный x64 образ кассы УКМ 5.
При использовании сервиса СуперМаг DS и СуперМаг Vision, необходимо не менее 4Гб памяти на кассе и 64-битный образ!
В данном документе представлена инструкция к версии кассы ukm5-pos-x64-1.46.19.iso и соответственно, сервер также должен быть обновлён до версии 1.46.7.
- Вставляем в свой компьютер USB-накопитель объёмом от 4GB.
- Необходимо скачать rufus по ссылке ниже:
Rufus: https://disk.yandex.ru/d/ciEYjdOw_0NpWA.
- Если у вас есть версия от 2.5 (при старте программа сама предложит обновиться до актуальной версии):
- Выбираем файл образа кассы УКМ 5, нажав кнопку ВЫБРАТЬ и выделяем нужный файл образа:
- Выставляем остальные настройки как на картинках ниже, подтверждаем и нажимаем СТАРТ:
- Дожидаемся окончания загрузки образа на носитель (надпись Готов) и нажимаем ЗАКРЫТЬ:
1.2. Установка адреса сервера
Производится заранее перед заливкой на Sherman и непосредственно перед заливкой для каждого магазина.
- Открываем флешку и находим файл f:\ukm5\ukm5\connection.conf:
- Меняем его содержимое на адрес нужного сервера УКМ 5:
Подключение к кассовому серверу на флешке:
srvIp=IP кассового сервера (или FQDN имя)
srvPort=9000
tmIp=IP кассового сервера (или FQDN имя)
tmPort=9091
Если не поменять данные на флешке, то на кассе будет окно с возможностью ввести параметры при регистрации кассы.
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:
- По окончании установки на экране появится следующее сообщение:
- Необходимо извлечь загрузочный носитель и перезагрузить системный блок.
- При последующей загрузке необходимо указать на кассе её уникальный идентификатор, который создаётся на сервере заранее:
После регистрации кассы и прогрузки данных обязательно обращаем внимание на текущее время на киоске
Если время некорректно, проверяем регион и часовой пояс в магазине, указывает корректный:
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
- Выбираем необходимый магазин, из которого будем копировать эталонный «Тип кассы»:
- В магазине переходим во вкладку Типы касс и в данной вкладке выбираем уже заранее настроенный тип касс Киоск 1.0, после чего нажимаем кнопку Клонировать, выбираем магазин куда необходимо клонировать:
- Потом в верхней части меню, возле иконки УКМ 5, нажимаем на текущее название магазина:
- В выпавшем списке в меню Выбор магазина выбираем магазин, в который приехал инженер для работ по Киоску 1.0:
- В магазине переходим во вкладку Типы касс. В данном разделе появляется новый тип касс, в названии которой присутствует слово Копия. Данная тип называется Киоск 1.0 (Копия):
- Выбираем тип касс Киоск 1.0 (Копия), нажимаем Настройки и в появившемся меню Настройки типов касс выполняем настройки, специфичные для данного магазина (это такие настройки, как идентификатор магазина в системе лояльности (если используется), и т.д.). Далее через редактирование меняем имя на необходимое (как минимум убираем "Копия"). Назначаем хештег.
Самое главное: для использования Киоска 1.0 нужно установить Тип кассы "DP-киоск". - Переходим в раздел Кассы и нажимаем Добавить.
- Присваиваем киоску номер (рекомендация для 1 киоска номер 111, остальные по нарастающей 112,113 и т.д.), имя, назначаем наш тип касс, GUID (уникальный идентификатор для ввода на киоске) и указываем шаблон оборудования DP-киоска, нажимаем Сохранить (после сохранения киоску назначаем хештег киоска).
5. Настройка СуперМаг Vision
5.1. Настройка "Тип кассы"
- На кассовом сервере по адресу: Магазин – Типы касс нужно выбрать тип кассы и нажать кнопку Настройки:
В меню Настройки типов касс необходимо настроить конфигурационный файл 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 } }}
- В конфигурационном файле sale.conf (applications\sale\sale.conf) нужно раскомментировать следующую строку:
{ include file("conf/applications/sale/goods_recognition.conf") },
после чего нажать кнопку Сохранить:
5.2. Настройка «Кассы»
- На кассовом сервере по адресу: Магазин – Кассы нужно выбрать созданную кассу и нажать кнопку Оборудование:
- В конфигурационном файле vision.conf (misc\vision.conf) необходимо прописать серийный номер камеры (уточнить у менеджера) СуперМаг Vision, непосредственно физически находящейся на данной кассе:
- Все настройки необходимо сохранить.
6. Дополнительные настройки
6.1. Настройка СуперМаг Vision на системном блоке
Создаём конфигурационный файл камеры:
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
Каждую команду нужно выполнить отдельно, не все сразу.
- По пути http://IP_KASSA:6060/image должна быть доступна картинка с камеры:
- Если картинка с камеры не видна или на экране черный квадрат, то перезагружаем весь системный блок кассового аппарата по питанию.
- Если при открытии http://IP_KASSA:6060/sku/image видим ошибку 500, то вероятнее всего ошиблись в конфигурационном файле /var/opt/camera_agent/config.yaml.
Если всё было сделано верно, по инструкции, но вместо картинки с камеры в браузере видно белый пиксель по центру экрана, то перезапускаем 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
- Проверяем работу СуперМаг Vision.
7. Настройка СуперМагDS (воспроизведение контента)
- Переходим в конфигурационный файл оборудования киоска (Магазин – Кассы, выбираем интересующую кассу и нажимаем кнопку Оборудование):
- Открываем конфигурационный файл ds.conf (\misc\ds.conf):
- Указываем для standBy значения partnerId и PlayerID, ID необходимо запросить у пользователя/маркетолога пользователя. Нажимаем Сохранить.
- Переходим в настройки типа касс киоска 1.0 или 2.0 – принципиально не важно, методология одна (Магазин – Типы касс, выбираем интересующий тип касс и нажимаем Настройки).
- В файле sale.conf (applications\sale\sale.conf) проверяем, что строка, содержащая файл с настройками СуперМаг DS, раскомментирована:
- В файле mintukm.conf (applications\mintukm.conf) проверяем, что строка с настройками СуперМаг DS раскомментирована:
- После сохранения всех настроек, перезагружаем киоск. Ждём, когда закачается расписание с контентом.
- Локально на кассе можно проверить по пути:
- После закачки, проверяем, что контент в режиме StandBy (ожидание покупателя) воспроизводится.
8. Программное тестирование надёжности подключения
В случае наличия технической возможности программного тестирования интерфейсов подключения устройств киоска самообслуживания, рекомендуется выполнить его в соответствии с имеющейся методикой тестирования.
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) в логах, киоск считается исправным и допускается к эксплуатации.
9. Аудит укладки кабелей и проводов
Для выявления нарушений технологии укладки кабелей и проводов, необходимо получить у пользователя КСО ключ от дверцы тумбы кассового бокса и проверить качество укладки кабелей и проводов следующим образом.
Открыть дверцу тумбы.
Кабели электропитания и интерфейсные кабелей внутри тумбы кассового бокса должны быть разделены 2 группы:
● кабели и провода блоков питания устройств киоска;
● интерфейсные кабели устройств киоска.
Каждая группа кабелей должна быть объединена в единый кабельный жгут, стянутый по длине несколькими кабельными стяжками.
Пример правильного кабель-менеджмента внутри тумбы:
Пример неправильного кабель-менеджмента и неправильного размещения оборудования внутри тумбы:
В случае обнаружения прокладки проводов как на фотографиях выше КСО однозначно требует проведение перемонтажа.