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

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

Ключ

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

...

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

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

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


  5. Image Modified

    Блок кода
    languagepy
    themeRDark
    titleНастройка сервиса распознавания
    {"app_sale.goods_recognition" : {
      params : {
        runOrder = 20
        include file("conf/misc/vision.conf")   # Настройки, которые касаются кассы, а не типа касс; туда можно вынести любую строку, если нужно
        baseUrl = "http://127.0.0.1:6060"
        partnerId = 345 // Необходимо узнать 

...

  1. ID у менеджера
        #camSerialNumber = "serialNumber567"    # Вынесен в conf/misc/vision.conf для возможности настройки для каждой кассы индивидуально
        pictureUrl = "http://vision.servplus.ru/catalog/picture"
        isReweighingDialog = false // 

...

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

...

  1. Таймаут ожидания 

...

  1. соединения при запросе
        // requestTimeout = 30 seconds // 

...

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

...

  1. При неудачном соединении, отправка 

...

  1. всех запросов будет заблокирована на время blackoutDelay
        // apiVersion = "1.4" // 

...

  1. Версия 

...

  1. API, по умолчанию 1.4. 

...

  1. Возможно задать 1.3, все остальные версии будут трактоваться как 1.4
      }
    }}

2. В типе касс в sale.conf раскоментируем строчку "goods_recognition.conf", нажимаем Сохранить.

Image Removed

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

  1. В созданной кассе, в разделе Оборудование, в разделе vision.conf В конфигурационном файле sale.conf (applications\sale\sale.conf) нужно раскомментировать следующую строку:

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

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

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

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

Image Removed

  1. Image Modified

...

  1. Все настройки необходимо сохранить.

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

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

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

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

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

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

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

  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 Modified

Настраиваем обрезку картинки с

камеры 

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

.

:



Image Modified

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

Image Modified

Image Modified

Округляем координаты до

10-ков

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

и

, а затем сохраняем его

.

:

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 Modified

Для камеры DP2710 HD настраиваем фокусное расстояние, сняв фиксацию винта у линзы, вращая линзу по и против часовой стрелки до получения чёткой картинки товара на площадке весов (яблоко, банан и

тп -

т.п. – товар сантиметров

в

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



Image Modified

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

  1. Далее открываем конфиг /misc/ds.conf 

указываем для "standBy" partnerId и PlayerID, id запрашивать у клиента/маркетолога клиента, нажимаем Сохранить.

  1. Переходим в настройки тип касс киоска 1.0 или 2.0 не важно, методология одна. 

- в sale.conf проверяем,  что строчка с ds раскомментирована:

...