...
- В меню Настройки типов касс необходимо настроить СуперМаг Vision, как представлено на картинке ниже:
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
{"app_sale.goods_recognition" : { params : { runOrder = 2 20 include file("conf/misc/vision.conf") # Настройки, которые касаются кассы, а не типа касс; туда можно вынести любую строку, если нужно baseUrl = "http://127.0.0.1:6060" partnerId = 345 //адрес камераузнать агентаid нау кассеменеджера (в случае использования Jetson -#camSerialNumber тут= адрес"serialNumber567" Jetson) # Вынесен partnerId = 777 //ваш партнер айди (узнать у менеджера)в conf/misc/vision.conf для возможности настройки для каждой кассы индивидуально pictureUrl = "httpshttp://vision.servplus.ru/catalog/picture/" include file("conf/misc/vision.conf") isReweighingDialog = false // для весов типа NCR (невозможно повторное взвешивание, без снятия товара с весов) blackoutDelaysendAllItemsOnAddition = false // connectTimeout = 10 seconds // таймаут ожидания соединеия при запросе // requestTimeout = 30 seconds // таймаут ожидания ответа при запросе blackoutTimeout = 25 seconds // при неудачном соединении отправка все запросов будет заблокирована на время blackoutTimeout blackoutDelay // apiVersion = "1.4" // версия api, по умолчанию 1.4. возможно задать 1.3, все остальные версии будут трактоваться как 1.4 } }} |
...
2.
...
В типе касс в sale.conf раскоментируем строчку "goods_recognition.conf", нажимаем Сохранить.
5.2. Настройка «Кассы»
- В созданной кассе, в разделе Настройки типов кассОборудование, в разделе vision.conf необходимо прописать серийный номер камеры (уточнить у менеджера) СуперМаг Vision, непосредственно физически находящейся на данной кассе:
Сохраняемся!
6. Дополнительные настройки
...
Создаём конфигурационный файл камеры:
Блок кода 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.Вписываем лицензию вместо <<cameraID>> в default_camera: и sources (лицензия обязательно должна быть та же, которая прописана на сервере в vision.conf):
Пример. В режиме редактирования файла F4 – в mc, проверяем, что в конце строк нет символов переноса; если есть, то удаляем.
Ниже пример правильного конфига:
А вот так быть не должно:Настраиваем При необходимости настраиваем статический ip адрес и 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.