WEB server открывания двери на Raspberry Pi
Повезло так повезло, в наследство на попечение досталось с десяток дверей с сетевым СКУД.
Ладно бы чего-то нормальных марок, ан нет, производства PARXXX (сами догадайтесь)))
В принципе до всего, за редким исключением, в данной системе я хотел бы домотаться:
1. Софт, але контора! Опять наверное уволили тех, кто стоял у истоков и код допиливают выпускники ВУЗов за пиво? Если нет, то надо уволить и нанять нормальных программеров, 21 век на дворе. Delphy по старой традиции русских разработчиков СБ, тупой, глючный интерфейс, блевотные иконки, дебильная логика работы. Новые версии меееедленные, и глючные.
2. Логика работы системы, этим грешат все системы, кто-то больше, кто-то меньше. В какой момент коды карточек или группы доступа отсылаются в контроллер? Почему при схеме работы двери с двумя считывателями, кнопка RTE безвозвратно перестает участвовать в процессе, почему при смене IP сервера надо обходить физически сетевые контроллеры и т.п.
3. Ценообразование: при нормальной цене на сетевые контроллеры, брать деньги за такой софт - грех, брать дополнительные деньги за мелкие фичи оплаченного софта - грех в кубе.
Особенно порадовал повторный озалуп на деньги при появлении новой, третьей версии софта для купивших вторую и желающих обновиться.
4. Политика партии: все секретно, протоколы обмена все свои, что почему - военная тайна. Это российская фича для оборудования СБ, продавать криво/косый/продукт, не декларируя не принцип работы, не связи, ни логику работы- чтобы не видно было всю внутреннюю кривизну, плюс затруднить любую самостоятельную интеграцию, только с дозволения производителя, и естественно за невероятные $$. Туда же летит "забота о потребителе", "нам лучше знать", "это появится в следующих релизах".
5. Отдельный пиздец, простите вырвалось, системы защиты их ПО, которое не работает ни с каким другим оборудованием на свете, кроме как продаваемым ими. Я повторюсь, ПО с такими ценниками на железо, дарить надо. Проехали, что ПО человек купил и теперь надо заставить его работать. Вот тут появляются всевозможные защитные USB донглы, кривые драйвера для них, серийники, дичайшие регистрационные формы, и прочий изврат, для того чтобы заставить работать купленное ПО. Повторюсь, тут сфера безопасности, о ней можно говорить, если софт, для ее обеспечения безопасность кошельков производителя ставит превыше выполняемых функций?
Вдумайтесь, сетевому (т.е. Ethernet, TCP/IP) контроллер СКУД, нельзя никак, кроме как с софта производителя отдать команду на открытие дверей.
Да понимаю, безопасность, но схем аутентификации и авторизации готовых миллион. Получается, что для того, чтобы просто открыть дверь с рабочего места необходимо платить $$ за каждый экземпляр (6450 руб. на данный момент), тратить место на HDD, администрировать глючного клиента, + долгий запуск, представляете звонок в домофон, сотрудник сворачивает все, запускает программу, вводит логин пароль, переходит на вкладку устройств, открывает дверь. Также понижение уровня безопасности, у всех сотрудников будет стоять софт СБ, все будут видеть где сервер, состав системы, при малейшей ошибке в назначении прав хомячки получат доступ к лишним функциям.
Да есть вариант обмотаться проводами, так как если в кабинете 5 персон, и сделать кнопку одной, то с вероятностью 150% через неделю кнопку попросят все, так как это удобно и точка.
Таки кнопка в районе рабочего места сотрудника, при схеме считыватели с двух сторон двери - тоже серьезный градус понижения безопасности, анонимно, пользуйся кто хочет, невозможно заблокировать.
Отличный геморрой происходит при перемещении добавлении рабочих мест. Администрировать еще одну кабельную систему "СКС Open Door (C)", это при наличествующих сетевых контроллерах доступа? Огромные лучи поноса компаниям-брендам СБ, компании PARXXX отдельно.
Много бы чего можно было бы сделать, при наличии описанной логики работы и протоколов, и возможности самостоятельной модификации управляющих программ либо создания своих, сколько кривизны нашли бы частные разработчики, каких бы плюшек они наваяли бы.
Решение:
Так как влезать в готовую кухню существующей системы очень ресурсоемко, разработчики на контакт не идут, делаю устройство посредник.
Беру Raspberry Pi, конфигурирую, устанавливаю Apache2+php. Делаю скромную страницу, которая сверяет IP пользователя со списком разрешенных IP, и по команде запускает Python скрипт, который дергает ногу GPIO + пишет в файл, дату/время/IP.
Также делаю консольное и WinForm приложение, которое при его запуске делает HTTP POST запрос и закрывается, кладу их на сетевую шару, делаю ярлыки на панели задач нужным людям.Аутентификация пользователей по IP адресу, является достаточно надежной и удобной в повседневной эксплуатации, так как не требует ввода дополнительных данных от операторов и произведения ими дополнительных действий.Аутентификация по IP усложняет передачу и кражу учетных данных от пользователя к пользователю (суперхацкеров опустим, тут всякие port security и прочая работает).Аппаратное сопряжение и гальвано развязка реализована на оптореле CPC1330G, с ограничением тока резистором со стороны Raspberry PI, и прямым подключением выхода к клеммам DRTE платы контроллера Parsec.Для управления оптореле используется физический выход GPIO, сконфигурированный как цифровой выход.
Что получилось:
Возможность открывать дверь тем кому надо. Когда сотрудник покидает свое рабочее место, он его лочит, что препятствует несанкционированному использованию. Да и непосвященному человеку не секунды нужны, чтобы разобраться.
Нет необходимости тащить дополнительные провода.
При желании наверное можно воткнуть Raspberry PI в корпус контроллера NC200-IP, места там навалом и 5 вольт можно наверное взять.
Открыть дверь занимает несколько секунд - либо выбрать вкладку в браузере и нажать необходимую кнопку, либо ткнуть в ярлык на панели задач.
Себестоимость (берем цены в россии, покупалось на организацию):
Raspberry Pi 2500 руб.
БП - 0 из старья.
Рассыпуха - 0 из старья.
Корпуса - 0 тоже всегда можно подобрать.
Фото: