Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

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

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

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

...

  • Дожидаемся окончания загрузки образа на носитель (надпись Готов) и нажимаем ЗАКРЫТЬ:

1.2. Установка адреса сервера

Производится заранее перед заливкой на Sherman и непосредственно перед заливкой для каждого магазина.

...

Если не поменять данные на флешке, то на кассе будет окно с возможностью ввести параметры при регистрации кассы.

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. Проверка времени на кассе и настройки часового пояса

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

Image Added

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

Image Added

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

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

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

Image Added

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

Image Added

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

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

...

  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  GUID (уникальный идентификатор для ввода на киоске) и указываем шаблон оборудования  указываем шаблон оборудования DP-киоска, нажимаем Сохранить .

Image Removed

  1. Аналогично настраиваем все специфичные для данного магазина сервисы.(после сохранения киоску назначаем хештег киоска).
    Image Added

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

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

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

    СуперМаг Vision

    конфигурационный файл goods_recognition.conf (applications\sale\goods_recognition.conf), как представлено на картинке ниже:Image Added

    Image Removed
    Блок кода
    languagepy
    themeRDark
    titleНастройка сервиса распознавания
    {"app_sale.goods_recognition" : {
      params : {
        runOrder = 

...

  1. 20
        include file("conf/misc/vision.conf")   # Настройки, которые касаются кассы, а не типа касс; туда можно вынести любую строку, если нужно
        baseUrl = "http://127.0.0.1:6060"
        partnerId = 345 //

...

  1.  

...

  1. Необходимо 

...

  1. узнать 

...

  1. ID 

...

  1. у 

...

  1. менеджера
    

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1. #camSerialNumber 

...

  1. = "serialNumber567"    # 

...

  1. Вынесен 

...

  1. в 

...

  1. conf/

...

  1. misc/vision.conf для возможности настройки для каждой кассы индивидуально
        pictureUrl = "

...

  1. http://vision.servplus.ru/catalog/picture

...

  1. "
        

...

  1. isReweighingDialog = false // 

...

  1. Для весов типа NCR (невозможно повторное взвешивание, без снятия товара с весов)
        sendAllItemsOnAddition = false
        // connectTimeout = 

...

  1. 10 seconds // Таймаут ожидания соединения при запросе
        // requestTimeout = 

...

  1. 30 seconds // Таймаут ожидания ответа при запросе
         blackoutTimeout = 5 seconds // При неудачном соединении, отправка 

...

  1. всех запросов будет заблокирована на время

...

  1.  blackoutDelay
        // apiVersion = "1.4" // Версия API, по умолчанию 1.4. Возможно задать 1.3, все остальные версии будут трактоваться как 1.4
      }
    }}
  2. В конфигурационном файле sale.conf (applications\sale\sale.conf) нужно раскомментировать следующую строку:

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

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

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

  1. В разделе Магазин необходимо войти в подраздел Кассы и нажать кнопку +Добавить:
    Image Removed
  2. В меню Редактирование кассы прописать Тип и Шаблон оборудования, как представлено на рисунке ниже:
    Image Removed
  3. В созданной кассе в полях Номер, Название и GUID вносим новые названия киосков? которые должны называться как 111 (так называется первый киоск), 112 (так называется второй киоск):
    Image Removed
  4. В созданной кассе, в разделе Настройки типов касс, в разделе vision.conf На кассовом сервере по адресу: Магазин – Кассы нужно выбрать созданную кассу и нажать кнопку Оборудование:
    Image Added
  5. В конфигурационном файле vision.conf (misc\vision.conf) необходимо прописать серийный номер камеры (уточнить у менеджера) СуперМаг Vision, непосредственно физически находящейся на данной кассе:
    Image Removed Image Added
  6. Все настройки необходимо сохранить.

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

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

...

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

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

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

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

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

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

    Блок кода
    languagepy
    themeRDark
    sudo mcedit /etc/netplan/01-netcfg.yaml

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

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

    Блок кода
    languagepy
    themeRDark
    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. Запускаем службы:

    Блок кода
    languagepy
    themeRDark
    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 должна быть доступна картинка с камеры:


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

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

1

http://cash_ip:6060/image



Image Added

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



Image Added

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

Image Added

Image Added

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

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



Image Added

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



Image Added

  • Если картинка с камеры не видна или на экране черный квадрат, то перезагружаем весь системный блок кассового аппарата по питанию.
  • Если при открытии http://IP_KASSA:6060/sku/image видим ошибку 500, то вероятнее всего ошиблись в конфигурационном файле /var/opt/camera_agent/config.yaml.
  • Если всё было сделано верно, по инструкции, но вместо картинки с камеры в браузере видно белый пиксель по центру экрана, то перезапускаем udev-правила и службы ещё раз:

    Блок кода
    languagepy
    themeRDark
    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
  • Если и это не помогло, то перезапускаем ОС:

    Блок кода
    languagepy
    themeRDark
    sudo reboot
  • Проверяем работу СуперМаг Vision.

7. Настройка СуперМагDS (воспроизведение контента)

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

8. Программное тестирование надёжности подключения USB-устройств

В случае наличия технической возможности программного тестирования интерфейсов подключения устройств киоска самообслуживания, рекомендуется выполнить его в соответствии с имеющейся методикой тестирования.

1. Подключиться к киоску самообслуживания по SSH, используя PuTTY (скачать PuTTY можно по ссылке – https://disk.yandex.ru/d/4sdhDVRcAwfzEw).

Прописываем IP-адрес киоска (IP-адрес можно посмотреть, нажав кнопку Статус), нажимаем Open:

Image Added

Image Added

Как альтернативный вариант (если нет возможности использовать PuTTY), можем подключиться к консоли через стандартную PC-клавиатуру, подключенную к кассе, нажав вместе правый ALT+CTRL+F3:

Image Added

Далее инструкция подходит и для PuTTY, и для работы напрямую с PC-клавиатурой.

Вводим логин ukm5, пароль xxxxxx:

Image Added

2. Для получения перечня виртуальных устройств на портах системного блока киоска выполняем следующую команду:

dmesg -T | grep Product: | tail -n 200

Видим все подключенные устройства:

Image Added

3. Необходимо убедиться в отсутствии постоянных дисконнектов (разрывов соединения). Для получения информации (логов) по
дисконнектам устройств, нужно выполнить следующую команду:

dmesg -T | grep disconnect

Если после выполнения команды, никакой информации не выводится, значит дисконнекты отсутствуют.

Пример:

Image Added

Если дисконнекты присутствуют, то информация будет следующего вида:

Image Added

Здесь видно, что происходит постоянное отключение устройства USB 1-4.4 в короткий промежуток времени, и очевидно, что это устройство «USB 2.0 Camera»:

Image Added

Подсчитать полное количество дисконнектов можно через выполнение следующей команды:

cd /var/log/ && zgrep -ia 'kernel' syslog | zgrep -c 'usb 1-4.4: USB disconnect'

Image Added

Как итог, видно 11 дисконнектов камеры, это повод начать разбираться с камерой, т.е. проверить заземление киоска, проверить порядок подключения USB-портов, попробовать заменить камеру и т.д.

4. Для получения лога по ресетам (переподключению) портов, необходимо выполнить следующую команду:

dmesg -T | grep reset | tail -n 50

Пример:

Image Added

Из примера видно, что никаких массовых и даже одиночных ресетов не было, можно сделать вывод, что проблем с переподключением USB-устройств нет.

Если ресеты будут присутствовать, то отображение информации будет выведено списком, выделенным красными цветом. Посчитать количество ресетов можно следующей командой:

cd /var/log/ && zgrep -ia 'kernel' syslog | zgrep -c 'usb 1-2: reset'

В случае отсутствия массовых самопроизвольных (не больше 1 раз в день) ресетов (reset) и дисконнектов (disconnect) в логах, киоск считается исправным и допускается к эксплуатации.