...
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
{"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
}
}} |
...
Создаём конфигурационный файл камеры:
Блок кода 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
Вписываем лицензию вместо <<cameraID>> в default_camera: и sources (лицензия обязательно должна быть та же, которая прописана на сервере в vision.conf):
Пример. В режиме редактирования файла F4 – в mc, проверяем, что в конце строк нет символов переноса; если есть, то удаляем.
Ниже пример правильного конфига:
А вот так быть не должно:При необходимости настраиваем статический ip адрес и DNS:
Блок кода language py theme RDark sudo mcedit /etc/netplan/01-netcfg.yaml
Прописываем адреса, пример ниже:
Настраиваем службы:
Блок кода 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 должна быть доступна картинка с камеры:
Раскрыть | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
Если необходимо изменить поворот камеры, дописываем в этот же конфиг параметр Rotate и при необходимости меняем значение angle
|
- Если картинка с камеры не видна или на экране черный квадрат, то перезагружаем весь системный блок кассового аппарата по питанию.
- Если при открытии 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.