Протокол Pelco-D
Протокол Pelco-D — это открытый проприетарный последовательный протокол управления, разработанный американской компанией Pelco (ныне — подразделение Schneider Electric) для передачи команд между устройствами видеонаблюдения, в первую очередь — между контроллерами (джойстиками, клавиатурами, видеорегистраторами) и поворотными камерами (PTZ-камерами), а также купольными камерами и другими механизмами с сервоприводами. Протокол работает по интерфейсу RS-422/RS-485 и обеспечивает передачу команд панорамирования, наклона, зума (PTZ), а также управление предустановками, патрулированием и дополнительными функциями (например, включение обогрева или омывателя). Стандарт был разработан в 1980-х годах и до сих пор остаётся одним из самых распространённых в индустрии систем безопасности, наряду с протоколом Pelco-P.
История
Протокол Pelco-D был создан в середине 1980-х годов компанией Pelco, которая на тот момент являлась одним из ведущих производителей оборудования для видеонаблюдения. Разработка была направлена на унификацию управления PTZ-камерами, которые в то время подключались к контроллерам через многожильные кабели с аналоговыми сигналами. Pelco-D стал цифровым последовательным протоколом, что позволило передавать команды по двум проводам (витая пара) на расстояния до 1200 метров без значительных потерь сигнала.
В 1990-х годах, с ростом популярности цифровых видеорегистраторов (DVR) и IP-камер, протокол Pelco-D был адаптирован для работы через преобразователи интерфейсов (RS-232/RS-485) и стал де-факто стандартом в индустрии. Многие производители (включая российские компании, такие как «Рубеж», «Болид», «Алгоритм Безопасности») начали выпускать оборудование с поддержкой Pelco-D, что сделало протокол совместимым с устройствами разных брендов. В 2000-х годах Pelco опубликовала спецификацию протокола, что способствовало его широкому распространению в открытых системах видеонаблюдения.
Технические характеристики
Физический уровень
Pelco-D использует асинхронный последовательный интерфейс RS-422/RS-485, который обеспечивает полудуплексную передачу данных. Основные параметры:
- Скорость передачи: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с (наиболее распространена — 9600 бит/с).
- Формат данных: 8 бит данных, 1 стоповый бит, без бита чётности (8N1).
- Максимальная длина линии: до 1200 метров (при использовании витой пары).
- Топология: «шина» (multi-drop), до 32 устройств на одной линии (без повторителей).
Формат кадра
Каждое сообщение Pelco-D состоит из 7 байт:
- Байт синхронизации (0xFF) — маркер начала сообщения.
- Адрес устройства (1 байт) — идентификатор камеры (от 0x00 до 0xFF, обычно 0x01 для первой камеры).
- Команда 1 (1 байт) — код операции (например, движение влево/вправо, вверх/вниз, зум).
- Команда 2 (1 байт) — расширение команды (например, скорость движения, управление предустановками, включение дополнительных функций).
- Данные 1 (1 байт) — значение параметра (например, скорость панорамирования от 0x00 до 0x3F).
- Данные 2 (1 байт) — дополнительное значение (например, скорость наклона).
- Контрольная сумма (1 байт) — XOR (исключающее ИЛИ) всех предыдущих байтов, кроме синхронизации.
Пример команды движения вправо для камеры с адресом 0x01 на скорости 0x20: `` 0xFF 0x01 0x00 0x02 0x20 0x00 0x23 ``
Команды
Протокол поддерживает следующие основные группы команд:
- Управление движением: панорамирование (влево/вправо), наклон (вверх/вниз), зум (теле/широко), фокус (дальше/ближе), ирис (открыть/закрыть).
- Управление предустановками: сохранение, вызов и удаление предустановок (до 255 позиций).
- Патрулирование: запуск и остановка режима патрулирования (циклический обход предустановок).
- Дополнительные функции: включение/выключение обогрева, омывателя, дворников, а также управление вспомогательными выходами (например, реле).
- Специальные команды: запрос статуса устройства, сброс, управление скоростью.
Применение
В системах видеонаблюдения
Pelco-D является основным протоколом для управления PTZ-камерами в аналоговых и гибридных системах видеонаблюдения. Он используется в:
- Контроллерах и клавиатурах (например, Pelco KBD300A, российские аналоги «Болид» PTZ-клавиатуры).
- Видеорегистраторах (DVR и NVR) — через встроенные порты RS-485.
- Программном обеспечении для видеонаблюдения (например, Milestone XProtect, Axxon Next, «Трафик»), где эмуляция Pelco-D реализована через драйверы.
- Преобразователях интерфейсов (например, Ethernet-to-RS-485) для управления IP-камерами с поддержкой Pelco-D.
В промышленности и робототехнике
Благодаря простоте и открытости, Pelco-D иногда используется в нестандартных применениях:
- Управление поворотными механизмами (например, антеннами, солнечными панелями, роботизированными платформами).
- В системах автоматизации зданий (управление жалюзи, проекционными экранами).
- В образовательных проектах (Arduino, Raspberry Pi) для демонстрации работы последовательных протоколов.
Совместимость и ограничения
Совместимость
Pelco-D поддерживается подавляющим большинством PTZ-камер, выпускаемых с 1990-х годов по настоящее время. Многие производители (Hikvision, Dahua, Bosch, Axis, российские «Рубеж», «Болид», «Алгоритм Безопасности») включают поддержку Pelco-D в качестве опции наряду с собственными протоколами. Однако из-за отсутствия единого стандарта реализации возможны несовместимости:
- Разные производители могут по-разному кодировать команды (например, скорость движения может быть инвертирована или иметь другой диапазон).
- Некоторые устройства требуют настройки битрейта и адреса через меню камеры.
Ограничения
- Низкая скорость передачи: при 9600 бит/с задержка между командами может составлять до 10 мс, что критично для быстрого управления.
- Отсутствие шифрования: данные передаются в открытом виде, что делает протокол уязвимым для перехвата и подмены команд (особенно при использовании Ethernet-мостов).
- Ограниченная адресация: 256 адресов (0x00–0xFF), что недостаточно для крупных систем с тысячами камер.
- Полудуплексный режим: невозможность одновременной передачи и приёма данных, что усложняет реализацию обратной связи (например, запрос статуса камеры).
Сравнение с Pelco-P
Pelco-D и Pelco-P — два основных протокола Pelco, различающихся форматом кадра и областью применения:
- Pelco-D: 7-байтовый кадр, простая контрольная сумма (XOR), поддержка до 32 устройств на шине. Используется в основном для аналоговых PTZ-камер.
- Pelco-P: 8-байтовый кадр, более сложная контрольная сумма (CRC-16), поддержка до 255 устройств. Обеспечивает лучшую помехоустойчивость, но требует больше вычислительных ресурсов.
Pelco-P чаще применяется в профессиональных системах с длинными линиями связи (более 1200 метров) и в условиях сильных электромагнитных помех. Pelco-D, благодаря простоте, остаётся стандартом для массового рынка.
Интересные факты
- Протокол Pelco-D часто используется в эмуляторах и симуляторах PTZ-камер для тестирования систем видеонаблюдения без реального оборудования.
- В 2010-х годах энтузиасты создали открытые библиотеки (например, libpelco) для работы с Pelco-D на микроконтроллерах, что позволило интегрировать протокол в проекты «умного дома».
- Несмотря на возраст, Pelco-D остаётся одним из самых изучаемых протоколов в курсах по системам безопасности и автоматизации.
Источники
- Спецификация протокола Pelco-D (Pelco Document D3123, 1999).
- Техническая документация компании Pelco (Schneider Electric).
- Материалы конференций по системам видеонаблюдения (ISC West, Securika Moscow).
- Статьи в журнале «Системы безопасности» (№ 4, 2018, «Протоколы управления PTZ-камерами»).
- Открытые проекты на GitHub (libpelco, Pelco-D Arduino library).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →