Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

1. Подготовка образа

1.1. Подготовить USB-накопитель – загрузить образ кассы УКМ 5

Необходимо обратиться к команде техподдержки киоска за ссылкой на актуальный x64 образ кассы УКМ 5.

При использовании сервиса СуперМаг DS и СуперМаг Vision, необходимо не менее 4Гб памяти на кассе и 64-битный образ! 

В данном документе представлена инструкция к версии кассы ukm5-pos-x64-1.46.19.iso и соответственно, сервер также должен быть обновлён до версии 1.46.7.

  • Вставляем в свой компьютер USB-накопитель объёмом от 4GB.
  • Необходимо скачать rufus по ссылке ниже:

Rufushttps://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. Простая загрузка

  1. Выключить кассу.
  2. Подключить на кассу USB-клавиатуру.
  3. Подключить накопитель в свободный USB-порт.
  4. Включить кассу.
  5. При включении перейти в BIOS и нажать одну из клавиш F2/Delete/F1 (в зависимости от типа BIOS).
  6. Далее идем в Advanced – ACPI settings и ставим все пункты гибернации в положение disable.
  7. Затем надо изменить порядок загрузки, установить первое загрузочное устройство – USB-накопитель.
  8. Потом нужно перейти в раздел Save & Exit, подраздел Boot Override, выбрать Flash-накопитель и нажать клавишу Enter:
  9. Должна начаться загрузка. Нужно выбрать пункт Install UKM5:

           

Примечание. Если загрузка не началась или в BIOS Flash-накопитель не видится, попробуйте пункт 2.1.2.

2.2. Если не получилась простая загрузка

  1. Выключить кассу.
  2. Подключить на кассу USB-клавиатуру.
  3. Подключить накопитель в свободный USB-порт.
  4. Включаем кассу.
  5. При включении перейти в BIOS нажать одну из клавиш Delete/F1/F2 (в зависимости от типа BIOS).
  6. Изменить порядок загрузки, установить первое загрузочное устройство – USB-накопитель:
    • Перейти в раздел Boot – Hard Drive BBS Prioriries:

    • в Boot Option #1 назначить (+/-) Flash-накопитель:

    • сохранить изменённые параметры в BIOS:

  7. После сохранения параметров касса перезагрузится и на экране появится окно инсталляции. Нужно выбрать пункт Install UKM5:

  8. По окончании установки на экране появится следующее сообщение:
  9. Необходимо извлечь загрузочный носитель и перезагрузить системный блок.
  10. При последующей загрузке необходимо указать на кассе её уникальный идентификатор, который создаётся на сервере заранее:

2.3. Проверка времени на кассе и настройки часового пояса

После регистрации кассы и прогрузки данных обязательно обращаем внимание на текущее время на киоске:

Если время некорректно, проверяем регион и часовой пояс в магазине и указываем корректные значения:

2.4. Проверка корректности настройки лимита 

Следующим шагом проверяем ограничение времени на продажу алкоголя.

Переходим в раздел Ограничения продажи – По расписанию:

Заходим в каждое созданное ограничение на продажу алкоголя и убеждаемся, что выбранный магазин входит в установленное ограничение и временной интервал указан корректно (если магазина нет, добавляем его в режиме редактирования (кнопка Редактировать)):

3. Настройка дисплеев киоска (на объекте)

Если монитор настроен нормально, можно перейти к следующему пункту, закрыв приложение крестиком.

Примечание. Не нажимать кнопку Apply!

  1. При загрузке появится следующее окно Screen Layout Editor:
  2. При необходимости повернуть дисплей  нужно выбрать в меню пункт Outputs/VGA-1/Orientation/Left:
  3. Нажать Save As:
  4. Появится окно Save Layout:
  5. Выбрать каталог .config:

  6. Cохранить файл с названием display_config.sh, нажать Save (строго в каталог /ukm5/.config/):
  7. Закрыть Screen Layout Editor нажатием на крестик, указано красной стрелкой:
  8. Дождаться загрузки УКМ 5, а затем убедиться, что настройки сохранились и экран киоска отображается правильно.

4. Настройки серверной части УКМ 5

  1. Выбираем необходимый магазин, из которого будем копировать эталонный «Тип кассы»:
  2. В магазине переходим во вкладку Типы касс и в данной вкладке выбираем уже заранее настроенный тип касс Киоск 1.0, после чего нажимаем кнопку Клонировать, выбираем магазин куда необходимо клонировать:
  3. Потом в верхней части меню, возле иконки УКМ 5, нажимаем на текущее название магазина:
  4. В выпавшем списке в меню Выбор магазина выбираем магазин, в который приехал инженер для работ по  Киоску 1.0:

  5. В магазине переходим во вкладку Типы касс. В данном разделе появляется новый тип касс, в названии которой присутствует слово Копия. Данная тип называется Киоск 1.0 (Копия):
  6. Выбираем тип касс Киоск 1.0 (Копия), нажимаем Настройки и в появившемся меню Настройки типов касс выполняем настройки, специфичные для данного магазина (это такие настройки, как идентификатор магазина в системе лояльности (если используется), и т.д.). Далее через редактирование меняем имя на необходимое (как минимум убираем "Копия"). Назначаем хештег.
    Самое главное: для использования Киоска 1.0 нужно установить Тип кассы "DP-киоск".
  7. Переходим в раздел Кассы и нажимаем Добавить.
  8. Присваиваем киоску номер (рекомендация для 1 киоска номер 111, остальные по нарастающей 112,113 и т.д.), имя, назначаем наш тип касс, GUID (уникальный идентификатор для ввода на киоске) и указываем шаблон оборудования DP-киоска, нажимаем Сохранить (после сохранения киоску назначаем хештег киоска).

5. Настройка СуперМаг Vision

5.1. Настройка "Тип кассы"

  1. На кассовом сервере по адресу: Магазин – Типы касс нужно выбрать тип кассы и нажать кнопку Настройки:

  2. В меню Настройки типов касс необходимо настроить конфигурационный файл 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
      }
    }}
  3. В конфигурационном файле sale.conf (applications\sale\sale.conf) нужно раскомментировать следующую строку:

    { include file("conf/applications/sale/goods_recognition.conf") },

    после чего нажать кнопку Сохранить:

5.2. Настройка «Кассы»

  1. На кассовом сервере по адресу: Магазин – Кассы нужно выбрать созданную кассу и нажать кнопку Оборудование:
  2. В конфигурационном файле vision.conf (misc\vision.conf) необходимо прописать серийный номер камеры (уточнить у менеджера) СуперМаг Vision, непосредственно физически находящейся на данной кассе:
  3. Все настройки необходимо сохранить.

6. Дополнительные настройки

6.1. Настройка СуперМаг Vision на системном блоке

  1. Создаём конфигурационный файл камеры:

    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
  2. Вписываем лицензию вместо <<cameraID>> в default_camera: и sources (лицензия обязательно должна быть та же, которая прописана на сервере в файле vision.conf).

    ПримерВ режиме редактирования файла F4 – в mc, проверяем, что в конце строк нет символов переноса; если есть, то удаляем их.

    Ниже пример правильного конфига:

    А вот так быть не должно:

  3.  При необходимости настраиваем статический IP-адрес и DNS:

    sudo mcedit /etc/netplan/01-netcfg.yaml

    Прописываем адреса, пример ниже:

  4. Настраиваем службы:

    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

    Каждую команду нужно выполнить отдельно, не все сразу.

  5. Запускаем службы:

    sudo systemctl restart gst_camera@gst_device_usb.service
    sudo systemctl restart camera_agent.service
    sudo systemctl restart uni_worker@camera_agent.service

    Каждую команду нужно выполнить отдельно, не все сразу.

  6. По пути http://IP_KASSA:6060/image должна быть доступна картинка с камеры:


 Настройка обрезки изображение (настройка кропа)

Открываем картинку с камеры в браузере:

1

http://cash_ip:6060/image



Настраиваем обрезку картинки с камеры: /var/opt/camera_agent/config.yaml.
Сохраняем картинку с браузера и открываем её в Paint.
Рисуем рамку, как показано на картинке ниже, из точки 2 в точку 1:



Далее, наводим указатель мыши (в Paint это будет прицел) в точку 1 и точку 2, смотрим в левый нижний угол окна Paint с координатами точек:

Округляем координаты до десятков и вписываем их в раздел обрезки в файле конфигурации, а затем сохраняем его:

1
2
3

transform:
  - Crop:
      box: [710, 280, 1200, 670]

Первые 2 числа – это координаты верхнего левого угла, вторые два числа – это координаты нижнего правого угла.

Если необходимо изменить поворот камеры, дописываем в этот же конфиг параметр Rotate и при необходимости меняем значение angle:

1
2

- Rotate:
            angle: 90

Далее перезапускаем camera agent на кассе:

1

sudo systemctl restart camera_agent.service

Получаем обрезанную картинку в браузере (обновляем страницу):

1

http://cash_ip:6060/image



Для камеры DP2710 HD настраиваем фокусное расстояние, сняв фиксацию винта у линзы, вращая линзу по и против часовой стрелки до получения чёткой картинки товара на площадке весов (яблоко, банан и т.п. – товар сантиметров 5 в высоту).
Стараемся выловить "центр" того диапазона прокрутки линзы, в котором товар в фокусе, это поможет попасть в фокус товару другого размера.
После аккуратно фиксируем винтом линзу! Резкая фиксация приведёт к смещению линзы и пропаданию фокуса камеры с площадки весов.



  • Если картинка с камеры не видна или на экране черный квадрат, то перезагружаем весь системный блок кассового аппарата по питанию.
  • Если при открытии 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 (воспроизведение контента)

  1. Переходим в конфигурационный файл оборудования киоска (Магазин – Кассы, выбираем интересующую кассу и нажимаем кнопку Оборудование):
  2. Открываем конфигурационный файл ds.conf (\misc\ds.conf):
  3. Указываем для standBy значения partnerId и PlayerID, ID необходимо запросить у пользователя/маркетолога пользователя. Нажимаем Сохранить.
  4. Переходим в настройки типа касс киоска 1.0 или 2.0 – принципиально не важно, методология одна (Магазин – Типы касс, выбираем интересующий тип касс и нажимаем Настройки). 
  5. В файле sale.conf (applications\sale\sale.conf) проверяем, что строка, содержащая файл с настройками СуперМаг DS, раскомментирована:
  6. В файле mintukm.conf (applications\mintukm.conf) проверяем, что строка с настройками СуперМаг DS раскомментирована:
  7. После сохранения всех настроек, перезагружаем киоск. Ждём, когда закачается расписание с контентом.
  8. Локально на кассе можно проверить по пути:

  9. После закачки, проверяем, что контент в режиме StandBy (ожидание покупателя) воспроизводится.

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) в логах, киоск считается исправным и допускается к эксплуатации.