Суббота, 20.04.2024, 07:00 
Приветствую Вас Гость | RSS



Меню сайта
 

Личные странички
UA3EKK
RV3EFH
UA3EID
RA3EA
UA3EKJ
RA3ED
UA3ECX
RV3EF

Мини-чат

Погода


Наш опрос
Каким видом радиосвязи вас чаще всего можно услышать в эфире?
Всего ответов: 299

Статистика

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


Форма входа
Логин:
Пароль:

Куплю/продам

[13.02.2012]
продам (1)
[19.12.2011]
icom R6 (0)
[16.10.2011]
Усилитель мощности на ГС31/ ГС35 (3)
[22.05.2011]
Рубрика технической взаимопомощи (2)
[10.03.2011]
поворотное (0)

Фото

Праздники

Ваш IP
Узнай свой IP адрес

Главная » 2017 » Ноябрь » 15 » Необычное применение PELCO-D в видеонаблюдении
10:39
Необычное применение PELCO-D в видеонаблюдении

Недавно на сайте ОЭФ я публиковал информацию об исследовании раздела жёсткого диска восьмиканального видеорегистратора для аналоговых видеокамер.

Отмечу, что видеорегистратор позволяет не только организовывать многоканальную видеозапись с камер видеонаблюдения, но также и управлять данными видеокамерами определённым образом. Управление можно осуществлять как с кнопок видеорегистратора, так и удалённо, с помощью веб-интерфейса или мобильного приложения. Управление камерой предусматривает, прежде всего, регулировку таких параметров, как зум, фокусировка, диафрагма. Как следствие, камера должна быть оборудована соответствующе. Камеры, предусматривающие управление, стоят по цене значительно дороже обычных. Кроме того, есть возможность управлять вращением камеры в двух плоскостях, если последняя это предусматривает.

Рис.1 Интерфейс управления из приложения TMEye.

Управление осуществляется по протоколу PELCO-D. Физический уровень протокола идентичен RS-232 или RS-485. Последний как раз и применяется в видеорегистраторах и камерах. Все видеокамеры, которые предусматривают управление, совместно с видеорегистратором соединяются параллельно по RS-485, образуя сеть. У каждой камеры есть свой уникальный адрес, который прописывается как в настройках камеры, так и в настройках каналов видеорегистратора.

Большинство камер не обладают функцией управления, а если и обладают, то управление поддерживается ограниченным числом узлов. Во всяком случае, мне ни разу не встречались видеокамеры с функцией управления диафрагмой.

Изучив особенности протокола управления PELCO-D, мне пришла идея реализовать устройство, которое будет подключаться к данной сети RS-485 и будет способно коммутировать нагрузки по определённой команде с видеорегистратора. В частности, задача стала следующая. При поступлении команды «открыть диафрагму» на конкретную камеру (по её адресу) нужно включить свет в той комнате (или в том месте), где эта камера установлена. Аналогично, при команде «закрыть диафрагму» – выключить свет.

Рис.2 Необходимые данные из протокола PELCO-D.

Оказалось, данная задача решается относительно просто. В состав электросхемы устройства входит микроконтроллер (у меня был ATtiny2313), микросхема MAX485 для согласования c UART, транзисторные ключи (у меня набор на ULN2803) и электромагнитные реле. Последние можно установить в распределительной коробке электропроводки параллельно цепи выключателя.

Алгоритм программы микроконтроллера сводится к приёму байт PELCO-D по UART, которые формирует видеорегистратор при нажатии на кнопки управления, а также обработка этих байт, согласно протоколу и поставленной задаче.

Ниже представлены фрагменты исходного кода.

Проект я составлял в среде разработки CVAVR, используя встроенный мастер формирования первоначального кода. В этом мастере, кроме необходимой конфигурации портов, во вкладке UART я задал приём с использованием прерывания и буфера на 32 байта. Функция извлечения из этого буфера получило название getchar() совместно с индексом rx_counter.

Рассматривая руководство на протокол PELCO-D, можно увидеть, что посылка (сообщение) управления состоит из 7 байт. Первый байт всегда равен 255, последний байт – контрольная сумма пяти байтов (со второго по шестой). Второй байт – адрес камеры, третий и четвёртый – байты с командными битами. Мне потребовался Бит1 и Бит2 третьего байта. Именно они отвечают за управление диафрагмой.

Рис.3 Фрагмент кода 1.

В исходном коде после начала бесконечного цикла while(1) стоит условие «Если контроллер принял первый байт» (строка 2). При выполнении этого условия происходит дальнейший анализ, а при невыполнении (строки 17-18) происходит подготовка к будущему приёму байт. Переменная sum отвечает за накопление суммы вышесказанных байтов (строка 12) для того, чтобы в дальнейшем сравнить эту сумму с байтом контрольной суммы (точнее их 8 младших разрядов). Переменная j – индекс массива P[], в который записываются принимаемые байты (строка 10). Незначительная, но достаточная задержка в 50мс в строке 7 служить для того, чтобы контроллер успел принять всю цепочку из 7 байт в буфер. Время задержки я выбирал с запасом, учитывая скорость приёма 9600 бод, как самая распространённая скорость UART. На эту скорость настроены камеры и видеорегистратор. Данная задержка позволяет избежать приём байтов, которые следуют не один за другим, а с паузами, чего не допустимо на практике во избежание путаницы. В строке 5 происходит анализ первого принятого байта на его равенство 255, как условие протокола.

Выше описанный блок программы успешно показал свои результаты без единого сбоя. После данного блока следуют блоки дальнейшего анализа байтов принятой цепочки. Ниже приведены первые два таких.

Рис.4 Фрагмент кода 2.

В строке 21 стоит условие «если байтов было принято 7, и контрольная сумма совпала». При невыполнении этого условия (что свидетельствует о не полном соответствии протокола) всё, что в него включено, игнорируется. А в него включены условия на включение и отключение того или иного реле. Для примера показаны включение и отключение реле, отвечающего за лампу освещения, соответствующий камере 1 (адрес камеры также равен 1). Условие на включение (строка 22) формируется так: «если адрес 1, и бит1 второго байта единица, и бит0 третьего байта ноль». Для анализа битов применены битовые маски. Анализируемые биты и байты – согласно протоколу PELCO-D и условию поставленной задачи. Они обведены красным цветом на рисунке с изображением протокола.

Рис.5 Вид устройства.

На рисунке 5 изображено устройство в готовом виде. На печатной плате, кроме вышеописанных компонентов, расположены четыре оптронных ключа в одной сборке (LTV847) для дополнительных целей. Выходы этих оптронов идут на штыревой разъём. Четыре из восьми выводов транзисторных ключей идут на клеммник (остальные четыре вывода идут на оптроны). Через этот клеммник подключаются выходные реле. Также через клеммник заводится питание на устройство и линия RS-485. Микросхема MAX485 в SMD корпусе и расположена на обратной стороне платы (со стороны дорожек).

Таким образом, простые программно-электронные решения позволяют решать довольно гибко те или иные задачи. С помощью описанного здесь самодельного устройства при соответствующей корректировке схемы и прошивки, принимая во внимание идею, можно также, например, коммутировать видеосигналы с видеокамер, число которых может превосходить число каналов видеорегистратора. При этом можно задействовать расширенные команды (Set Preset, Clear Preset, Go To Preset) протокола PELCO-D.

Рис.6 Расширенные команды PELCO-D.

 

Просмотров: 1480 | Добавил: RV3EEQ
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Круглый стол
Круглый стол от 13.04.2024 г. СКАЧАТЬ.

Предыдущий круглый стол от 06.04.2024 г. СКАЧАТЬ.

Круглый стол 10 лет назад от 26.10.2013 г. СКАЧАТЬ.

Круглый стол 10 лет назад от 12.04.2014 г. СКАЧАТЬ.

Круглый стол 10 лет назад от 05.04.2014 г. СКАЧАТЬ.

Наши видео

Дни рождения
Дни рождения в Апреле :
 
R3EN Леонид (Верховье):
9-ого исполнилось 65

R2EAF Владимир (Ливны):
11-ого исполнилось 53

R2EAC Кирилл (Орёл):
12-ого исполнилось 19

RU3EE Владимир (Кромы):
12-ого исполнилось 66

R3ECV Иван (Залегощь):
16-ого исполнилось 64

UB3ECL Валерий (Орёл):
19-ого исполнилось 51

R3ECU Владимир (Орёл):
20-ого исполнилось 48 СЕГОДНЯ!!!

RC3EA Сергей (Орёл):
21-ого будет 55

R3EAF Владимир (Долгое):
22-ого будет 60

R3EAK Роман (Орл. р-н):
26-ого будет 48

UB3EAC Евгений (Мценск):
27-ого будет 76

UA3E Сергей (Верховье):
28-ого будет 57

 
Поздравляем !!!

E-mail отправителя *:
ФИО, позывной, день рождения:

Наши соревнования

Соревнования Золотой Орел


Календарь
«  Ноябрь 2017  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930

Поиск

Друзья сайта
  • RK3EWW
  • Сайт Ливенских радиолюбителей
  • Полезные ссылки:
  • QRZ.RU
  • Сервер Кубанских Радиолюбителей
  • Союз радиолюбителей России
  • Российский УКВ портал

  • Форум
  • XieGu (0)

  • Коментарии

    Поиск на QRZ.RU
    Поиск в российском Callbook'e:
    ON-LINE поиск предоставлен сервером QRZ.RU

    Известные сайты
    Сервер радиолюбителей России - схемы, документация,
 соревнования, дипломы, программы, форумы и многое другое!

    Сервер 

Кубанских радиолюбителей

    Российский УКВ портал

    R-Quad - 

радиолюбительские антенны


    РАДИОФАНАТ - 

сайт Николая Большакова

    Орловский регион
    Радиоклуб Орловский Эфир. Региональное общественное объединение

    Детская коллективная радиостанция. Орел



    Сайт Ливенских радиолюбителей

    Разместите наш баннер

    Регионы России

    Smolradio.ru -
Сайт Радиолюбителей Смоленщины

    Сайт радиолюбителей Тульской области

    Сервер Тамбовских Радиолюбителей



    Тульский областной радиоклуб




    Принципиальные схемы

    Архив записей

    Радиоклуб Орловский Эфир © 2024Сайт управляется системой uCoz