Камерой hikvision управлять http запросами возможно, просто плохо искали.
Во-первых
мануал
Только что проверил на своей камере DS-2CD2432F-IW V5.4.0 build 160530 (работало и на старых прошивках)
Начальное состояние: 1 канал камеры, программное обнаружение движения ВКЛ, настроены зоны и методы оповещений. Ищем пунт 8.4.13 в мануале и внимательно читаем. Делаем при помощи Restman (расширения для браузера) Get запрос
http://user:password@192.168.XXX.XXX/ISAPI/System/Video/inputs/channels/1/MotionDetection
и получаем ответ от камеры.
<?xml version="1.0" encoding="UTF-8" ?>
<MotionDetection version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<enabled>true</enabled>
<enableHighlight>true</enableHighlight>
<samplingInterval>2</samplingInterval>
<startTriggerTime>500</startTriggerTime>
<endTriggerTime>500</endTriggerTime>
<regionType>grid</regionType>
<Grid>
<rowGranularity>18</rowGranularity>
<columnGranularity>22</columnGranularity>
</Grid>
<MotionDetectionLayout version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<sensitivityLevel>60</sensitivityLevel>
<layout>
<gridMap>000000000000000000fff000fff000fff000fff000fff000fff000fff000fff000fff000fff000fff000000000000000000000000000</gridMap>
</layout>
</MotionDetectionLayout>
</MotionDetection>
В
третьей строке видим <enabled>ture</enabled>, а так же уровни чувствительности, зоны и т.д.
Если хотим выключить обнаружение движения, то отправляем PUT запрос на тот же адресс, но с изменённым значением в BODY с true на false.
<?xml version="1.0" encoding="UTF-8" ?>
<MotionDetection version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<enabled>false</enabled>
<enableHighlight>true</enableHighlight>
<samplingInterval>2</samplingInterval>
<startTriggerTime>500</startTriggerTime>
<endTriggerTime>500</endTriggerTime>
<regionType>grid</regionType>
<Grid>
<rowGranularity>18</rowGranularity>
<columnGranularity>22</columnGranularity>
</Grid>
<MotionDetectionLayout version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<sensitivityLevel>60</sensitivityLevel>
<layout>
<gridMap>000000000000000000fff000fff000fff000fff000fff000fff000fff000fff000fff000fff000fff000000000000000000000000000</gridMap>
</layout>
</MotionDetectionLayout>
</MotionDetection>
Всё, обнаружение движения выключится. Чтобы включить обратно, опять делаем PUT с изменённой третьей строчкой.
Таким образом можно менять в настройках камеры всё что угодно, весь мануал как раз этому посвящен. Я ,к примеру, воспроизводил заранее приготовленный ulaw файл через динамик камеры. Открыл канал, залил звук, закрыл канал.
curl --request PUT 'http://user:password@192.168.XXX.XXX/ISAPI/System/TwoWayAudio/channels/1/open'
curl --request PUT 'http://user:password@192.168.XXX.XXX/ISAPI/System/TwoWayAudio/channels/1/audioData' --upload-file w.ulaw
curl --request PUT 'http://user:password@192.168.XXX.XXX/ISAPI/System/TwoWayAudio/channels/1/close'
Я это вам написал что бы вы не теряли надежду, а вот как это реализовать на контроллере - это вы уже сами.