Главная » Статьи » Сигнализация » Пожарная сигнализация |
АИУ обзор
Avtor+
АИУ для ИСБ версий 3.х - 5.х обзор.
Часть 1
Модуль АИУ как известно предназначен для подключения к компьютеру (ПЦН) с установленным программным обеспечением Интегрированная Система Безопасности (ИСБ) магистральной линии связи оборудования поддерживаемого этим софтом (АСПС "Бирюза", КСО, ВПИУ-М.... ). При установке специализированных драйверов на модуль он определяется в операционной системе Windows как два COM порта. Один КОМпорт служит для реализации основной функции преобразователя интерфейса USB - RS485. Второй порт служит для передачи уникального идентификационного номера АИУ и в зависимости от исполнения, для управления выходами или приема кода ключа от считывателя. Внешний вид АИУ v1 Внешний вид АИУ v2 По поводу функции преобразователя интерфейса USB-RS485 говорить особо нечего кроме того что модуль АИУ справляется с ней в общем-то не плохо и имеет гальваническую развязку. Правда частенько при работе в составе АСПС "Бирюза" и ИСБ версий 3.x-5.х связь с оборудованием почему-то теряется и не восстанавливается до перезагрузки операционной системы. Причину этого феномена мне пока установить не удалось, поэтому спишем этот дефект пока на саму операционную систему :-). Намного интересней функция хранения (и передачи) индивидуального номера (ID). В старых версиях ИСБ 777 (имеются ввиду версии ниже 7-й) этот номер должен соответствовать зашифрованному файлу-ключу для того чтобы оборудование нормально работало совместно с программным обеспечением. Так осуществлялась защита использования ПО в старых версиях. В версиях ИСБ выше 7-й, если я не ошибаюсь, этот индивидуальный номер не используется, а для защиты ПО существует более совершенный электронный USB ключ. Интерес к этой функции защиты у меня возник когда я собрал в нашей лаборатории Oruki.ru небольшой стенд с АСПС "Бирюза" и начал с ним работать. Поскольку к сожалению у Ровалэнта пока нет софта для тестирования модулей подключаемых в объектовую линию связи (АБ, ББП, ВПИУ....) проверить такое оборудование (например перед отправкой в ремонт или после ремонта) можно только в составе АСПС. Давайте попробуем разобраться как работает эта защита и насколько сложно ее преодолеть. Поскольку открытой информации по работе этого устройства нет, то можно лиши предположить что в памяти микроконтроллера записан некий код (возможно тот, что отображается в АРМах v3.х-5.х при их работе) этот код считывается через виртуальный COM порт программой (server.exe) и сравнивается с ключом находящимся в файле key.reg в соответствии с неким секретным алгоритмом. Если соответствие не обнаружено связь с магистральным оборудованием рвется и выдается сообщение об ошибке. Проверяем нашу версию. Для начала устанавливаем на компьютер с работающей системой любую программу позволяющую считывать обмен информации по COMпорту (сниффер). Настраиваем его на порт по которому идет опрос ID модуля АИУ, запускаем server.exe и смотрим лог. Похоже частично предположения подтвердились. Компьютер при запуске сервера, при обращении к АСОДу и просто в процессе работы отправляет запросы а модуль АИУ отвечает. Передача информации происходит на скорости 57600 бит/сек с двумя стоповыми битами и без бита четности. За все время я наблюдал только три варианта запроса: вар1 00 e6 02 fe 00 08 02 08 07 01 08 00 вар2 00 e6 02 fe 00 08 02 08 00 06 06 00 вар3 00 e6 02 fe 00 08 02 08 06 01 07 00 и два варианта ответа: вар1 00 e6 02 00 fe 08 09 0f 07 01 f7 0a 01 47 82 1b 00 ee 01 вар2 00 e6 02 00 fe 08 09 0f 06 01 00 00 00 00 00 00 00 07 00. В составе первого варианта ответа есть тот самый номер (выделен желтым), отображаемый в окне АРМа и он постоянный. Информации похожей на ту что в файле key.reg я не наблюдал поэтому вероятно этот код высчитывается программой по какому либо алгоритму. Исходя из вышеизложенного вырисовывается четыре варианта заставить программу работать: - Купить к имеющемуся модулю АИУ необходимый файл-ключ (Для честного человека) -Вычислить алгоритм расчета файла-ключа и произвести расчет в соответствии с ID имеющейся АИУшки. (Для хорошего математика) -Подкорректировать код программы server.exe исключив проверку (Для хорошего программиста) -Собрать на микроконтроллере дубликат АИУ выдающее в ком порт необходимую комбинацию кода. Код и файл-ключ можно спросить у знакомого наладчика ОПС. (Для электронщика). ...... Часть 2 К сожалению, живого интереса к изготовлению своими руками ключа для старой (однаго еще широко используемой) версии АРМ, на странице сайта не наблюдалось, поэтому тема заглохла. Однако попытка дублирования ключа, заложенного в модуле АИУ, всеже была реализована. Дубликат на основе простейшего микроконтроллера PIC10F222 (кстати взятого из дымового пожарного извещателя ИП212-5му) изготовлен и около года уже работает на тестовом стенде АСПС "Бирюза" в лаборатории oruki.ru. Сразу скажу, что выбор микроконтроллера далеко не самый удачный, прежде всего из-за использования внутреннего генератора имеющего большие разбежки параметров в разных экземплярах чипов. Поэтому легко-повторяемой это схему не назовешь. Если кто захочет попытаться повторить ее, понадобится экспериментальным путем менять байт "Коррекции осцилятора" (в прошивке), чтобы получить на выходе сигнал необходимой длительности. Другими словами если мне понадобится самому сделать еще один дубликат ключа АИУ, я не буду использовать этот вариант несмотря на его работоспособность и дешевизну а придумаю новый на базе микроконтроллера с кварцевой стабилизацией частоты тактового генератора а еще лучше имеющего на борту готовый интерфейс UART. А смысл программы заключается в том чтобы в ответ на один из запросов (см. выше) со стороны компьютера, микроконтроллер отвечал комбинацией с кодом имеющегося у вас файла ключа. Тем не менее, рабочий ключ собран своими руками и возможно будет комуто интересен, поэтому немного подробней о конструкции: Схема. Схема очень проста, кроме самого микроконтроллера имеет преобразователь USB-UART (в данном случае на PL2303). Светодиод будет мигать в момент ответа компьютеру, если микроконтроллер распознал код запроса. Нумерация ножек в зависимости от типа корпуса (шестиножка или восьминожка). Прошивка. На рисунке выделены фрагменты кода которые нужно изменить под свои нужды. Контрольная сумма (последние два байта) вычисляется простым суммированием байт ответа начиная с 9-го. т.е. если по примеру в статье: 07+01+f7+0a+01+47+82+1b+00= 1ee (01ee), хотя если мне не изменяет память АРМ это значение не проверяет. Чип должен работать от внутреннего генератора 8Мгц, соответственно байты конфигурации я указывал 0FEB. Внешний вид. Файлы проекта. Часть 3 Попалась мне в руки ненужная "железяка" на плате которой установлен Микрочиповский микроконтроллер PIC16F73. Зная что этот чип имеет на своем борту аппаратную поддержку интерфейса UART мне захотелось повторить проект АИУ ключа на его базе. В общем особых отличий от предыдущего варианта в алгоритме программы тут нет. Отличия заключаются лишь в исполнении алгоритма, т.е. тактовая частота микроконтроллера стабилизируется уже внешним кварцевым резонатором а протокол последовательной передачи данных реализован за счет аппаратной поддержки этого интерфейса. Несмотря на то, что частота кварца (взят тот что был под рукой) не оптимальна да и код программы подозреваю написан не совсем "ровно", девайс работает устойчиво и повторяемость его очень хорошая (только меняй в программе нужный код ключа и контрольную сумму). Цель статьи не стоит в том чтобы выложить общественности рабочую версию ключа которую можно использовать в коммерческих целях нанося урон правообладателю, поэтому именно по по причине легкой повторяемости конструкции я внес в код некоторое ограничение на его использование, после истечения этого лимита (в дежурном режиме это более суток, но может существенно сокращаться при интенсивном опросе ключа) загорятся постоянным светом оба светодиода и ключ перестанет функционировать до его перезагрузки (кратковременного снятия питания с контроллера) . Таким образом такой изготовленный своими руками ключ можно использовать лишь для проверки работы АРМа (до 6-й версии) и оборудования в условиях например лаборатории. Схема самодельного АИУ состоит из микроконтроллера PIC16F73, кварцевого резонатора на 10 МГц, любого преобразователя USB - UART. Работает схема так. После подачи питания начинает мигать зеленый светодиод показывая что схема "живая" , когда ключ распознает запрос от программы и отвечает на него - кратковременно мигает красный светодиод. Если поступает некорректный запрос - красный светодиод инвертирует свое состояние. Если исчерпывается лимит ключа - загораются оба светодиода и не гаснут. Для экспериментов с вашим ключом, в прошивке потребуется изменить значения указанных ячеек, способ расчета контрольной суммы описан в предыдущем примере. Ниже прикрепляю непосредственно сам файл прошивки, заливал в контроллер программатором PICKit2 и PICKit3, кстати в сети нашел программку которая работает с обеими этими программаторами (тоже положу в архив). Файлы проекта. ..............
P.S. Писал все по памяти, возможно в чем-то ошибся не судите строго.
Материал статьи изложен исключительно из познавательных соображений, не содержит конкретных кодов ключей и другой информации нарушающей чьи либо права. Похожие темы: |
|
|
|
Просмотров: 12520 | Комментарии: 19 | Рейтинг: 0.0/0 |
Понравилась статья ? Нажми чтобы посоветовать в гугле. >>
Всего комментариев: 19 | 1-10 11-13 | |||||||||||||||
|
||||||||||||||||
1-10 11-13 | ||||||||||||||||
Возможно вас заинтересует :
Из чего делают бильярдные шары (32133) | [Бильярд] |
Бесконтактный считыватель вместо Touch Memory (38852) | [Системы ОПС] |
Причины ложных срабатываний систем охранно-пожарных сигнализаций (33165) | [Пожарная сигнализация] |
Беспроводное зарядное устройство для мыши своими руками (36168) | [Может пригодится] |
Адресный пожарный извещатель RF03ДО (принципиальная схема) (4004) | [Пожарная сигнализация] |
Программное обеспечение для АСПС Бирюза (19710) | [Пожарная сигнализация] |
Диагностика адресных пожарных извещателей (12084) | [Пожарная сигнализация] |
Защита пожарного извещателя от электромагнитных помех (15379) | [Пожарная сигнализация] |
Схемы современных пожарных извещателей (19653) |
[Бильярд]
|
[Бильярд]
|