← Назад к списку статей

Отправка HTTP запросов из Xeoma

Отправка HTTP команд в программе для видеонаблюдения Xeoma

Начиная с Xeoma 14.5.19, выпущенной 13 мая 2014, Xeoma предлагает использовать модуль «Отправка HTTP команд» (ранее модуль назывался «Отправка HTTP запроса»).

Этот модуль позволяет формировать и отсылать HTTP запросы, что поможет улучшить вашу домашнюю систему видеонаблюдения. Возможна также интеграция в систему «умный дом».
Предлагаем ознакомиться с небольшим словарём терминов, встречающихся в этой статье:

Словарь ☟
  • URL* — Uniform Resource Locator, это адрес того ресурса/устройства, с которым мы будем общаться по HTTP. Пример: http://felenasoft.com
  • URN* — Uniform Resource Name, это имя той конкретной части ресурса/устройства (из URL), которой нужно передать команду. Пример: /images/http_request_sender_module_icon.png
  • URI* — Uniform Resource Identifier, это уникальная комбинация URL и URN, которая чётко указывает и на адрес ресурса/устройства, и на нужную его часть. Пример: http://felenasoft.com/images/http_request_sender_module_icon.png

*Если вы хорошо разбираетесь в тонкостях HTTP/HTTPS, то вполне возможно, что вы бы определили эти термины немного иначе — действительно, существует несколько подходов к ним. Однако мы избрали именно этот подход для простоты и удобства, т.к. нюансы терминологии HTTP всё же не являются предметом этой статьи.

Если вы хотите, чтобы запрос отсылался при обнаружении движения, подключите модуль после Детектора движения. При поступлении изображения от предыдущего модуля в цепочке (это называается «событие») модуль отправит HTTP запрос на указанный адрес с настраиваемыми параметрами. Например, в схеме на рисунке, когда будет обнаружено движение, модуль отправит запрос «HTTP переключателю», что включит последующие модули при приёме HTTP запроса.

Отправка HTTP команд будет осуществлена после обнаружения движения в программе для видеонаблюдения Xeoma

Мы видим, что модуль отправляет запрос, чтобы включить звуковой сигнал, когда движение обнаружено. Пожалуйста, обратите внимание на настройку чувствительности Детектора движения и размера объекта.

Теперь рассмотрим настройки модуля «Отправка НТТР команд» более детально:

Настройка отправки НТТР команд в программе для видеонаблюдения Xeoma

  • Тест — с помощью этой кнопки можно проверить соединение между отправителем и получателем HTTP запроса; если в ходе теста что-то пойдёт не так, то здесь появится соответствующее сообщение об ошибке.
  • Конечный URL — в этой графе отобразится полный текст (URI) HTTP запроса, который пригодится при устранении неполадок, т.к. по нему хорошо видно что именно было отправлено.
  • Имя пользователя (логин) и Пароль — если получатель запроса требует пройти авторизацию, то здесь можно указать учётные данные; если же они не требуются, то можно оставить эти поля пустыми.
  • Имя хоста или IP адрес и Номер порта — здесь можно указать содержимое запроса, а именно: адрес получателя (подходят как IP-адреса, так и DNS-имена) и порт, а также любые нужные параметры (например, URN, HTTP или HTTPS).
  • Показать параметры — если выставить эту галочку, то появятся дополнительные поля для указания параметров и их значений, они добавятся в графу Конечный URL в виде имя_параметра=значение, каждая такая пара будет отделена от предыдущей символом «&».
  • Отправлять — в этом выпадающем списке можно выбрать, когда отправлять запрос: в начале, в конце или в ходе события; если выбрать вариант «по интервалу», то появится бегунок для указания времени между отдельными запросами.
  • Название события — здесь можно указать текст, связанный с этим запросом; этот пункт напрямую связан со следующим в списке.
  • Показать событие на экране превью — если выставить эту галочку, то Xeoma покажет Название события в окне камеры; этот пункт полезен как для устранения неполадок, так и для уведомления пользователей.
  • Метод отправки — в этом выпадающем списке можно выбрать, какой именно метод HTTP отправки будет использован; доступны следующие методы:
    GET
    POST
    Если выбрать POST, то в настройках также появится отдельная графа «Дополнительные заголовки» — здесь можно указать собсветнные заголовки для HTTP запроса.

Рассмотрим пример простого запроса:

Пример GET HTTP запроса

Это GET HTTP запрос без какой-либо авторизации, в который выключен только один параметр (state=on). Запрос отправляется на адрес 192.168.1.23 с URN: «/protect/rb08.cgi» (символ «?» используется для разделения URN и команд) только после того, как событие завершилось (т.е. предыдущий модуль в цепочке сначала сработал, а затем отключился).

Рассмотрим пример посложнее:

Пример POST HTTPS запроса

Это POST HTTPS запрос с авторизацией, который направляет по URI https://192.168.0.12/report специальный заголовок (Extra-Token: 1122ggff123123) и один параметр (problem). Значение этому параметру передаёт модуль Детектор проблем с помощью макроса %REPORT%, подробнее о макросах и их использовании читайте здесь. Этот запрос отправляется сразу по началу события.

21 мая 2014; обновлено 8 октября 2021

Читайте также:
Видеонаблюдение с Xeoma: модуль HTTP переключатель
HTTP Маркировка и интеграция с POS и кассовыми аппаратами
API для интеграции с Xeoma