При разработке современных охранных систем перед разработчиками порой стоит задача с одной стороны сделать гибко настраиваемый для любого вида объекта прибор, а с другой стороны сделать интуитивно понятным его конфигурирование и работу. В этой статье я постарался описать и обобщить функционал, который обычно реализуют в охранных пультовых приборах.
Охранно-пожарные системы можно условно разделить на две категории. Первая категория – это охранная система, где пользователь самостоятельно ей управляет (например, через мобильное приложение) и реагирует на тревоги. Вторая – пультовая сигнализация, т.е. когда охранная фирма несет ответственность за охраняемый объект, ведет мониторинг и реагирует на тревоги, а клиент платит абонентскую плату. Как раз именно про вторую категорию здесь и пойдёт речь. Я расскажу о нескольких проблемных ситуациях во время эксплуатации, и чуть затрону разработку.
Как то-однажды мне понадобилось, чтобы один прибор, который управлялся через USB c десктопной программы, также мог управляться через Android приложение. Особенность была в том, что не использовались HID, CDC и прочие стандартные классы устройств. Передача данных осуществлялась через Bulk transfer и конечные точки. В основе работы с usb лежала библиотека libusb.