INT 21h

Select language

Вывод текста на камеру HiWatch

№ 12606 В разделе Sysadmin от June 3rd, 2025,
В подшивках: ,

Обмен данными идет в XML.

Сформируем шаблон запроса и сохраним в файл hiwatch-body.tmpl:

<?xml version="1.0" encoding="UTF-8"?>
<TextOverlayList version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<TextOverlay>
  <id>1</id>
  <displayText>$CAM_TEXT</displayText>
  <enabled>true</enabled>
  <positionX>0</positionX>
  <positionY>576</positionY>
</TextOverlay>
</TextOverlayList>

Здесь передаются координаты OSD, ID, явное включение вывода и сам текст. Разумеется, все можно шаблонизировать.

Теперь делаем скрипт hiwatch-set-text.sh, который выведет текст:

#!/bin/bash

# Добываем данные из MQTT
romashka=$(/usr/bin/mosquitto_sub -C 1 -N -h 192.168.1.9 -p 1883 -u login -P password -t "/device/48:55:19:C8:E4:0A/termo/1/data" -W 1)
zemlya=$(/usr/bin/mosquitto_sub -C 1 -N -h 192.168.1.9 -p 1883 -u login -P password -t "/device/zemlya/termo/1/data" -W 1)

# Генерируем строку, которую вставим в шаблон
export CAM_TEXT="Romashka: ${romashka}, Grunt: ${zemlya}"

# Подгружаем шаблон и сразу же вставляем в него переменные
body=$(envsubst < hiwatch-body.tmpl)

# URL камеры куда упадет запрос
url="http://192.168.3.54/ISAPI/System/Video/inputs/channels/1/overlays/text"

# Вписываем креды от камеры и через PUT кидаем текст запроса
curl -s --digest -X PUT -u login:password "$url" -d "$body"

Смотрим результат.

Вы великолепны.

Нет комментариев »

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Облачная платформа
Яндекс.Метрика

Fortune cookie: Today's spam: I have it all!