Вторник, 26.11.2024, 15:31
| RSS
Поиск
Главная |
Защита, контроль, управление
Форма входа

Меню

Авторские проекты

Статьи

Raspberry Pi

Полезная информация

Обратная связь

Ссылки

Форум

Чат

Канал YouTube

Группа в Facebook


Календарь
«  Июнь 2018  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930

Наш опрос

Ссылки


Яндекс.Метрика





.
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Подключение IP-камеры к WebHomePi

Подключение IP-камеры к WebHomePi

Наш канал в YouTube


В этой небольшой заметке рассмотрим подключение IP-камеры к нашей системе домашней автоматики WebHomePi. Сразу хочу обратить внимание, что речь пойдет именно про IP-камеру, а не про штатный модуль камеры, подключаемый шлейфом к Raspberry Pi через соответствующий порт.

У многих может возникнуть вполне логичный вопрос – а зачем, собственно, такая интеграция нужна, если IP-камера сама по себе является самодостаточным устройством с web-сервером «на борту» и возможностью мониторинга и управления непосредственно из web-браузера или клиентского приложения? Все верно, поэтому цель такой интеграции заключается скорее в удобстве использования – подключится к WebHomePi и IP-камере можно будет по одному и тому же IP-адресу и через общий интерфейс управления.

Итак, для того чтобы получить доступ к IP-камере с отдельной страницы WebHomePi, необходимо решить две несложные задачи:

  • Вывести видеопоток с камеры во фрейм на странице;
  • Эмулировать элементы интерфейса (кнопки) для управления камерой.

Обе задачи решаются с помощью несложных скриптов JavaScript, которые взаимодействуют с внутренним доменом локальной сети, которым, в данном случае является сервер IP-камеры.  Посмотреть эти скрипты вы можно, открыв в редакторе страницу camera.html. Но более интересным вопросом является, какие переменные (команды) передать в эти скрипты. К сожалению, у разных производителей камер команды могут отличаться.  Поэтому, я буду ориентироваться на конкретную IP-камеру «Tenvis SCM-102251». (рис.1) . Камера, конечно, довольно «древняя» (2013 года выпуска), но как тестовый экземпляр вполне подойдет для наших целей.

 

IP camera WebHomePi

Рис. 1

 

Вывод видеопотока для IP-камеры во фрейм осуществляется следующим образом:

 <iframe "http://192.168.1.10:8001/videostream.cgi user=root&amp;pwd=pass&amp;resolution=32&amp;rate=0";frameborder="2" width="640"height="480"></iframe> 

Здесь указывается используемые IP-адрес и порт камеры, имя пользователя (root) и пароль (pass) для доступа к камере, а также размеры окна фрейма (640х480) и ширина рамки фрейма (2).

Для других IP-камер вывод потока может отличаться и информацию по конкретной камере придется поискать на сайте производителя или в иных открытых источниках.

Для управления камерой используются так называемые get-запросы. Например, для того, что бы повернуть камеру влево, необходимо передать на сервер IP-камеры следующую команду:

http://192.168.1.10:8001/ptzctrl?act=left

а, например, остановить поворот камеры:

http://192.168.1.10:8001/ptzctrl?act=stop

Как получить get-запросы непосредственно для конкретной камеры? Для этого достаточно  подключится к IP-камере через «родной» web-интерфейс, открыть консоль на странице (Ctrl+Shift+I) и контролировать в консоли получаемые команды при нажатии кнопок управления камерой. Эти команды необходимо скопировать и сохранить.

Теперь, когда мы знаем, как выводить поток и управлять камерой, можно интегрировать IP-камеру в интерфейс WebHomePi. Для этого делаем следующее:

1. Копируем прилагаемый файл camera.html в директорию /home/pi/myproject/html

2. Создаем в директории /home/pi/myproject/html/logs файл camera.txt и вписываем туда вывод видеопотока на страницу и get-запросы для управления камерой (рис.2)

 

IP camera Raspberry Pi

Рис. 2

 

При записи в файл camera.txt необходимо соблюдать следующую последовательность:

  • 1 строка – вывод видеопотока
  • 2 строка – поворот камеры вверх
  • 3 строка – поворот камеры вниз
  • 4 строка – поворот камеры влево
  • 5 строка – поворот камеры вправо
  • 6 строка – остановка поворота камеры

3. Добавляем в файл /home/pi/myproject/pythonl/gpio.py прилагаемый макрос чтения файла настроек IP-камеры  macros_camera

После этих операций перегружаем Raspberry Pi и заходим на страницу камеры уже через интерфейс WebHomePi, например:

 http://192.168.1.14:8000/camera.html (рис.3)

 

Video Raspberry Pi

Рис. 3

 

Разумеется, IP-камеры поддерживают значительно большее число команд управления, например, zoom (приближение/удаление), изменение разрешение изображения, обзор, поворот изображения, установленная позиция и т.д. Эти команды также можно добавить в интерфейс управления. Надеюсь, кому будет нужно, без проблем справятся самостоятельно.

Исходники

В заключение небольшая демонстрация управления IP-камерой (видеоскриншот со смартфона):

 

 




Категория: | Просмотров: 1983 | Добавил: Admin | Теги: | Рейтинг: 5.0/1 |
Всего комментариев: 0






T2M © 2024
Сайт управляется системой uCoz