Охранное устройство с управлением ключами-таблетками ibutton

Электронный замок. Ключ-таблетка

Рубрика: Игровые автоматы

Данное устройство состоит из двух частей, которые «заточены» друг под друга. Первое — ключ Dallas Touch Memory, который программируется один раз, и содержит энергонезависимую память.

Вторая — ответная часть —  электронная плата-адаптер, которая генерирует выходные сигналы в основное устройство с соответствии с прошивкой.

Существуют различные варианты таких устройств, но принцип работы у них похож.

Ниже рассмотрено устройство, принцип действия и настройка электронного замка 24V2, который хорошо себя зарекомендовал и широко применяется в игровых и вендинговых аппаратах.

Замок и ключ Dallas. Внешний вид.

Электронный замок 24V2 был специально разработан для замены электромеханических замков, которые используются в развлекательном оборудовании.

Его разработка была обусловлена несколькими недостатками выше перечисленных замков: проблемы с приобретением замков «под один ключ», что приводило к установке в одном заведении замков с различными ключами и усложняло работу кассиров – операторов, не высокая долговечность работы и низкая безопасность, которая приводила к несанкционированной постановке кредитов на оборудование.

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

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

Причём, оригинальным является и использование одного электронного ключа для управления всеми тремя каналами замка (удержание, касание, двойное касание).

Уникальным является и метод прописывания ключей в замки, который не требует дополнительного оборудования, а в случае утери одного из используемых ключей позволяет произвести быстро на месте смену кода на всех замках заведения.

Следует отметить, что в качестве ключей используются Touch Memory (iButton) Dallas DS-1991L, которые  совместно используемым методом генерации и хранения кода полностью исключают его несанкционированное считывание или клонирование ключа.

Этот выбор подтверждён бесперебойной  работой огромного количества замков в различных регионах России в течение более трёх лет.

1.    Описание электронного замка

Внешний вид электронного замка 24V2 (далее просто замка) с обозначением элементов подключения, управления и индикации представлен на фото выше.

Замок питается стабилизированным напряжением  +5 вольт. Поскольку ток потребления достаточно мал и составляет примерно 8 мА, подключать его можно непосредственно к блоку питания оборудования, куда он устанавливается.

Подключение питания, «земли» и управляемых каналов осуществляется посредством винтовых зажимных клеммников в соответствии с рисунком, что в комплексе с резьбовым контактором, с помощью которого замок и крепится к корпусу оборудования, на порядок сокращают время установки.

Основные элементы и устройство электронного замка 24V31

Замок может находиться в одном из двух режимов: «Работа» и «Сервис».

2. Описание режима «Работа».

Режим «Работа» является основным режимом для электронного замка. При подаче питания на замок, он индицирует морганием встроенного светодиода, установленную конфигурацию (все замки поставляются с конфигурацией 1) и входит в режим «Работа». Если при подаче питания удерживать нажатой кнопку «Сервис», то светодиод морганием покажет версию программного обеспечения (в дальнейшем ПО).

В режиме «Работа» замок реагирует на три, возможные варианта взаимодействия с электронным ключом (далее просто ключом), которые индицируются встроенным светодиодом:

1. Прижатие и удержание ключа в контакторе (однократное моргание светодиода).

2. Однократное касание ключом контактора (двукратное моргание светодиода).

3. Двукратное касание  ключом контактора (трёхкратное моргание светодиодом).

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

Внимание! Начиная с версии ПО замка V3.2 и выше, при подаче на него питания он тестирует состояние контактора на предмет замыкания, индицируя дефект частым морганием светодиода.

Конфигурация 1 «Новоматик».

Прижатие и удержание ключа в контакторе активирует каналы 1 и 2, на них появляется низкий уровень (светодиод моргнёт 1 раз). При удалении ключа от контактора они переходят в высокоимпедансное состояние.

При двукратном касании ключом контактора, каналы 1 и 3 переходят в режим триггера, на них появляется низкий уровень (светодиод моргнёт 3 раза). Для перехода в высокоимпедансное состояние необходимо коснуться контактора ключом ещё один раз.

Такую конфигурацию наиболее целесообразно использовать в оборудовании на платформе  «Новоматик» или аналогичную, при замене одного электромеханического замка. В этом случае сигнальный провод подключается к каналу 1, канал 2 можно использовать для подключения зуммера на 5 вольт в качестве сигнализации, если в этом есть необходимость, а канал 3 не используется.

Поскольку платформа «Новоматик» наиболее популярна, все замки поставляются с предустановленной конфигурацией 1.

Конфигурация 2 «Игрософт».

Прижатие и удержание ключа в контакторе активирует каналы 1 и 2, на них появляется низкий уровень (светодиод моргнёт 1 раз). При удалении ключа от контактора, они переходят в высокоимпедансное состояние.

При двукратном касании ключом контактора, на канале 3 появляется низкий уровень длительностью 0,5 секунды (светодиод моргнёт 3 раза), далее канал возвращается в высокоимпедасное состояние.

Данную конфигурацию можно использовать в оборудовании, где используется платформа «Игрософт» или аналогичная, при замене двух электромеханических замков.

В этом случае сигнальный провод постановки кредитов подключается к каналу 1, канал 2 можно использовать для подключения зуммера на 5 вольт в качестве сигнализации, если в этом есть необходимость, а сигнальный провод короткой бухгалтерии подключается к каналу 3.

Конфигурация 3 «Белатра».

Прижатие и удержание ключа в контакторе активирует канал 1, на нём появляется низкий уровень (светодиод моргнёт 1 раз). При удалении ключа от контактора он переходит в высокоимпедансное состояние.

При однократном касании контактора ключом на канале 2 появляется низкий уровень длительностью 0,5 секунды (светодиод моргнёт 2 раза), далее канал возвращается в высокоимпедасное состояние.

При двукратном касании ключом контактора, канал 3 переходит в режим триггера, на нём появляется низкий уровень (светодиод моргнёт 3 раза). Для перехода в высокоимпедансное состояние необходимо коснуться контактора ещё раз.

Эту конфигурацию эффективно использовать в оборудовании на платформе «Белатра» или аналогичной, при замене трёх электромеханических замков. В этом случае сигнальный провод постановки кредитов подключается к каналу 1, сигнальный провод снятия кредитов подключается к каналу 2, а сигнальный провод короткой бухгалтерии подключается к каналу 3.

Конфигурация 4 «Классика».

Функционально она аналогична конфигурации «Белатра».

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

Конфигурация была оставлена для удобства совместной работы замков с разными версиями ПО в одном заведении.

Конфигурация 5 «Триггер».

Конфигурация была добавлена в версиях ПО замка V3.3 и выше.

При однократном касании контактора ключом каналы 1,2 и 3 переходят в режим триггера, на них появляется низкий уровень (светодиод моргнёт 3 раза). Для перехода их в высокоимпедансное состояние необходимо коснуться контактора ещё раз.

3. Описание режимов «Сервис».

Сервисные режимы предназначены для прописывания рабочих ключей и выбора конфигурации работы замка.

В замке имеется четыре сервисных режима. Для входа в соответствующий сервисный режим необходимо ввести его номер используя кнопку «Сервис» (далее просто кнопку).

Ввод осуществляется последовательным нажатием и удержанием, до подтверждения нажатия индикацией светодиода (примерно 1 секунду), и отпусканием кнопки  необходимое количество раз в соответствии с номером сервисного режима.

После окончания ввода номера сервисного режима замок подтверждает вход в него соответствующим количеством морганий светодиода.

«Режим 1» — запоминание замком пароля из прижатого к контактору «открытого» ключа.

Успешное считывание и запоминание замком пароля из «открытого» ключа подтверждается однократным морганием светодиода и возвращением в режим «Работа». Для выхода из режима необходимо  однократно нажать на кнопку, либо выдержать паузу  30 секунд.

«Режим 2» — генерация случайного пароля и записывание его в прижатые к контактору ключи.

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

Ключи становятся «открытыми» и могут быть использованы только для переноса пароля, как в память используемого замка, так и в память других замков данной группы через сервисный режим 1.

Для выхода из режима необходимо  однократно нажать на кнопку, либо выдержать паузу  30 секунд.

«Режим 3» — закрытие ключей.

Все прижатые к контактору «открытые» ключи «закрываются» и становятся «рабочими». Каждая успешная операция подтверждается трёхкратным морганием светодиода.

Для выхода из режима необходимо  однократно нажать на кнопку, либо выдержать паузу  30 секунд.

Внимание! Если при приложении ключа светодиод моргает часто, то это говорит об ошибке, причиной которой может быть плохой контакт между ключом и контактором. В этом случае необходимо очисть контактор, и повторить операцию.

«Режим 4» —  выбор конфигурации работы замка (была добавлена в версиях ПО замка V3.1 и выше).

После входа в режим можно выбрать необходимую конфигурацию работы замка.

Выбор осуществляется последовательным нажатием и удержанием, до подтверждения нажатия индикацией светодиода (примерно 1 секунду), и отпусканием кнопки  необходимое количество раз в соответствии с номером конфигурации.

После окончания ввода номера конфигурации замок подтверждает выбор соответствующим количеством морганий светодиода и выходит в режим «Работа».

1-    Конфигурация «Новоматик».

2-    Конфигурация «Игрософт».

3-    Конфигурация «Белатра».

4-    Конфигурация «Классика».

5-    Конфигурация «Триггер».

Описание работы замка при выборе различных конфигураций приведены выше.

Внимание! Установленная конфигурация индицируется морганием светодиода при подаче питания на замок.

Поскольку наиболее востребовано оборудование на платформе «Новоматик», замки поставляются с конфигурацией 1.

4. Методика прописывания электронных ключей:

После установки и подключения замка согласно рисунку 1, необходимо провести процедуру генерации нового пароля, переноса его как в память используемого замка, так и в память других замков данной группы и создание «рабочих» ключей. Методика проведения процедуры приведена ниже.

  1. Необходимо подать питание на замок, при этом светодиод морганием покажет текущую конфигурацию работы замка (см. п.2).
  2. Согласно п.3 войти в сервисный режим 2 и путём прижатия ключей к контактору создать необходимое количество «открытых» ключей. Прижимать ключи необходимо последовательно с интервалом не более 30 секунд.
  3. Выйти из режима кратким нажатием на кнопку или выдержав паузу 30 секунд.
  4. Согласно п. 3 войти в сервисный режим 1 и путём прижатия одного любого из созданных в п.4.2 ключа перенести пароль в память замка. Светодиод однократным морганием подтвердит успешное завершение процедуры. Замок готов к работе. Данную процедуру необходимо провести со всеми замками группы.
  5. На любом из замков войти в сервисный режим 3, согласно п.3, и путём прижатия «открытых» ключей, созданных в п.4.2, к контактору закрыть их. Прижимать ключи необходимо последовательно с интервалом не более 30 секунд. Таким образом, мы получим «рабочие» ключи, на которые все замки группы будут реагировать согласно установленной конфигурации п.2.
  6. Выйти из режима кратким нажатием на кнопку или выдержав паузу 30 секунд.
  7. Если установленная конфигурация не соответствует платформе оборудования, то её можно изменить в любой момент войдя в сервисный режим 4 п.3.

Внимание! «Открытый» ключ не может быть использован в режиме «Работа»!

Можно оставить и хранить в защищённом месте один «открытый» ключ для добавления новых или замены неисправных замков в группе, чтобы исключить процедуру генерации нового пароля и переноса его во все замки группы.

Информация предоставлена посетителем сайта Александром. Для консультаций оставьте комментарий на этой странице либо пишите Александру по адресу: shura911@mail.ru.

Источник: https://www.igrotechnics.ru/igrovye-avtomaty/elektronnyj-zamok-klyuch-tabletka.html

Домофонный мультиключ и всё про имитацию «таблеток»

Да, это жутко избитая тема. Универсальный домофонный ключ «таблетку» делал наверное каждый второй, кто начинал изучать микроконтроллеры. В Интернете очень много и статей на эту тему, и готовых решений. Однако, интерес к этому угасать не перестаёт даже с массовым переходом на RFID.

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

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

Внимание! Этот ключ не позволяет нелегально проникать куда-либо.

Это устройство лишь для того, чтобы носить один ключ вместо нескольких.

Типы домофонных ключей «таблеток»

На самом деле подобные ключи в корпусе MicroCAN бывают разных типов, хотя внешне и выглядят почти одинаково. Объединяет их только то, что ключ имеет два контакта — земля и данные, при этом используется паразитное питание, т.е.

ключ питается непосредственно от линии данных. Для открытия двери используется серийный номер, который даётся на заводе. То есть это не ключ программируется на открытие домофона, а в память домофона заносится список ключей, которые могут его открывать.

Рассмотрим их подробнее.

iButton

Самый популярный тип домофонных ключей — это iButton, а именно DS1990A от компании Dallas, работает по протоколу 1-Wire. Протокол весьма хитрый, подразумевает двустороннее взаимодействие — на ключ можно отправлять различные команды, на которые он по-разному реагирует.

Серийный номер имеет размер в шесть байт, что даёт 28*6 = 281474976710656 различных комбинаций и подразумевает, что все выпущенные ключи должны быть уникальны.

Если вам повезло, и у вас оригинальный iButton, то этот номер в шестнадцатеричном виде должен быть выгравирован на нём лазером:То есть теоретически чужой такой ключ можно подделать, если просто записать куда-то или сфотографировать эти цифы! Для взаимодействия с iButton достаточно подключить его к микроконтроллеру и подтянуть линию данных к питанию (2.

8-5 вольт) через резистор:Скорее всего для многих это всё уже старо как мир, но всё-таки расскажу кратко принцип работы 1-Wire. Обмен данными происходит за счёт поочерёдного прижимания линии к земле, информация при этом кодируется длительностью таких сигналов.

Происходит это примерно так:

  • Reset — мастер прижимает линию к земле как минимум на 480 микросекунд, это говорит о начале передачи данных.
  • Presence — через некоторое время ключ отвечает импульсом около 120 микросекунд, что подтверждает его наличие на линии.
  • Команда — мастер посылает команду из восьми бит, при этом логическая единица — это 1-15 микросекунд, а ноль — 60-120.

Далее всё зависит от посланной команды. Обычно это 33h — “READ ROM“, чтение серийного номера, после которого мастер читает 64 бита (1 байт — тип устройства, 6 байт — сам номер, 1 байт — CRC). Чтение каждого бита инициализируется мастером, для этого он посылает импульс в 1-15 микросекунд. Если после этого линия прижата к земле со стороны ключа на 60-120 микросекунд, то прочитан ноль, иначе — единица.

Как видите, прочитать ключ достаточно легко. Имитировать ключ гораздо сложнее, тем более многие домофоны используют разные хитрости. Вот основные подводные камни:

  • Нужно всегда реагировать на reset, даже если он послан во время передачи данных. Импульс длиннее 480 микросекунд говорит о том, что надо начать всё сначала.
  • Момент прикладывания ключа с его точки зрения — это тоже reset, ведь до этого питания не было. Поэтому теоретически домофон может и не посылать reset, и следует периодически отвечать сигналом presence по своей инициативе.
  • Ключи могут реагировать и на другие команды: 0Fh как альтернатива 33h, SKIP ROM (CCh), MATCH ROM (55h) и самое хитрое, о чём я расскажу отдельно ниже, — SEARCH ROM (F0h). Некоторые домофоны могут послать самые разные комбинации таких команд, чтобы убедиться в том, что ключ настоящий.
  • Бывает и обратная ситуация — домофон посылает команду, на которую ключ реагировать не должен. Дело в том, что некоторые программируемые ключи на них всё-таки реагируют, и так происходит ещё одна проверка. Необходимо полностью игнорировать всё, что идёт за этими командами, пока не будет послан reset.
  • Для отсчёта времени лучше использовать асинхронный таймер в микроконтроллере, т.к. счёт идёт на микросекунды. Однако, установка кварца при этом будет излишней.

Про SEARCH ROM (F0h) — это команда поиска всех 1-Wire устройств на шине. Дело в том, что теоретически можно подключить параллельно много ключей и получить список всех серийных номеров.

В реальности для iButton такое не используется, ведь к домофону всегда прикладывается один ключ. Однако, некоторые домофоны посылают эту команду, ожидая найти один единственный серийный номер. Алгоритм весьма интересный. Каждое из устройств на шине одновременно посылает бит своего серийного номера, при чём два раза (т.е. мастер должен прочитать два бита).

Сначала обычным образом, а затем инвертированным. Что же получается в итоге? Если у устройства в серийном номере стоит единица, то посылается «10». Если ноль, то «01». И всё отлично, пока у всех устройств эти биты совпадают. А если нет… Выше я написал, что при чтении наличие длинного сигнала — это 0, а отсутствие — это 1, т.е. 0 является доминантным.

Таким образом, при возникновении конфликтов читаются два нуля. После получения «10», «01» или «00» мастер должен послать в линию только что прочитанный бит. В случае с «00» он таким образом выбирает, с какой группой устройств работать далее. В результате после N итераций получается бинарное дерево из N серийных номеров.

Ответить на такую команду получается несколько сложнее, чем на обычный READ ROM. Нужно посылать каждый бит дважды — обычный и инвертированный, а затем проверять — совпадает ли с ним полученный от мастера ответ, и если не совпадает, то игнорировать дальнейшие команды.

Cyfral

Ключ «Цифрал DC-2000А» — это отечественная разработка. Взаимодействовать с ними гораздо проще, т.к. они весьма глупые — не принимают никакие команды. Достаточно просто подать на ключ питание, и он сразу начнёт бесконечно посылать код, изменяя своё сопротивление.

Если дать ему 5 вольт, подключив через резистор в 1 кОм, то на осциллографе можно увидеть примерно такую картину:Ключ меняет своё сопротивление примерно между 800 Ом и 400 Ом, если я не ошибаюсь, а следовательно и потребление тока. Можно сказать, что сигнал аналоговый, а это всё немного усложняет с аппаратной точки зрения. Хотя иногда может и упростить.

Например, ключ можно прочитать, просто подключив его к микрофонному входу компьютера и записав аудиофайл.И да, домофон после этого можно открыть самым обычным MP3 плеером. Но нас же интересуют более цивилизованные методы, верно? Кодирование немного странное. Ключ циклически посылает девять нибблов (четыре бита), меняя своё сопротивление.

Если оно сохраняется низким около 50 микросекунд, то это логический ноль, а если 100 микросекунд — это единица. Но данные кодируется не логическими нулями и единицами, а положением единиц среди нулей! То есть ключ при посылке кода может выдать только одну из четырёх комбинаций: «1000», «0100», «0010» и «0001».

Однако, используется ещё и комбинация «0111» как стартовая последовательность. В итоге данные от ключа могут выглядеть как-то так: «0111 1000 0100 0010 0001 1000 0100 0010 0001 », где «0111» указывает на начало. Никакой контрольной суммы нет — код просто читается несколько раз для уверенности. Итого восемь последовательностей, в которых возможны четыре комбинации.

Не сложно посчитать, что это даёт нам 65536 вариантов ключей. Не так уж и много, они явно часто повторяются. Теоретически если в подъезде 50 квартир, каждой из которых выдано три ключа, можно подобрать один из них перебрав всего 436 комбинаций. Но я таким не занимался. Как же лучше читать ключи от Cyfral? Как я уже говорил, уровни аналоговые.

Варианта два: аналого-цифровой преобразователь и компаратор. Последний мне кажется надёжнее. Всё отлично работает, если к одному из входов компаратора подключить линию данных подтянутую к Vdd резистором в 650 Ом, а ко второму — ровно половину Vdd, для чего можно использовать делитель напряжения из двух одинаковых резисторов.

После этого результат вывода компаратора можно с уверенностью воспринимать как высокое и низкое сопротивление ключа. Как же имитировать такой ключ? С первого взгляда кажется, что тоже нужно менять сопротивление, но результаты показали, что домофонам не нужна такая точность — можно смело замыкать линию на землю вместо низкого сопротивления и полностью отпускать её, когда нужно высокое.

Метаком

Ещё одна отечественная разработка — домофоны Метаком и ключи К1233КТ2. Как и Cyfral он просто бесконечно посылает код, меняя своё сопротивление/потребляемый ток.

К счастью в Интернете доступна официальная документация:

Это всё, что нужно знать для работы с этим ключом. Он посылает четыре байта данных, но в каждом из них один бит уходит на проверку чётности.

Итого выходит 28 полезных бит, а 228 = 268435456 комбинаций.

Увы, я так и не смог найти ни один такой ключ, чтобы поэкспериментировать с ним. Однако, в Интернете легко найти универсальный код, который открывает 99% домофонов Метаком. Один из них как раз в соседнем от меня подъезде.

Я написал программу, посылающую этот код, основываясь только на технической документации. Соседний подъезд открылся с первой попытки. Похоже, что этому домофону тоже не так уж важно точное сопротивление.

На этом я оставил Метаком в покое и решил, что чтение их ключей не так уж и нужно.

Универсальные коды ключей

На самом деле универсальные ключи от домофонов — это скорее миф. Разработчики почти никогда не делают для себя какой-то специальный код для всех дверей, исключение составляют только Vizit.

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

Звучит как полнейший бред. Каким надо быть программистом, чтобы допустить такой баг? Но… это действительно часто работает. Да, в свежих прошивках это обычно исправлено, но многие домофоны стоят без изменений годами. Невероятно, но факт.

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

Создание мультиключа

Перейдём уже к практике! Да, я пытался совместить в одном устройстве и имитацию ключей, и их считывание (кроме Метаком), и синхронизацию с компьютером по USB.

Вот схема того, что получилось (кликабельно):Компоненты и их предназначение:

  • IC1 — микроконтроллер ATMEGA8/ATMEGA8A/ATMEGA8L;
  • U1 — USB-контроллер FT232RL, нужен для подключения устройства к компьютеру;
  • CON1 — miniUSB разъём;
  • BT1 — батарейки, дающие 3-5 вольт;
  • D1 и D2 — диоды (желательно шоттки), которые изолируют питание от батареи от питания от USB;
  • P1 — «таблетка» iButton, используется для подключения к домофонам;
  • P2 — контакты считывателя ключей, используются для подключения к ключам;
  • R1 — резистор, подтягивающий линию 1-wire к VCC;
  • R2 — токопонижающий резистор для управления транзистором Q2;
  • R3 — резистор, ещё сильнее подтягивающий линию к VCC для считывания ключей Cyfral;
  • R4 — токопонижающий резистор, используется для открытия Q1 и определения подключения к USB;
  • R5 — подтягивает базу Q1 к земле, чтобы закрывать его, когда нет подключения к USB;
  • R6 — токопонижающий резистор для светодиодов, достаточно одного, т.к. одновременно они не горят;
  • R7 и R8 — делитель напряжения для одного из входов компаратора, чтобы считывать ключи Cyfral;
  • Q1 — транзистор для определения подключения к USB;
  • Q2 — транзистор для включения земли на считывателе и эмуляторе, чтобы не сажать батарейки, случайно замкнув контакты в кармане;
  • C1, C2 и C3 — конденсаторы для фильтрации питания;
  • SW1 — единственная кнопка для управления устройством;
  • LEDS — семь светодиодов в форме восьмёрочки для отображения номера ключа.

Печатная плата (кликабельно):Это было ещё время до покупки 3D принтера, когда я проектировал устройства под корпуса, а не корпуса под устройства. Ко мне в руки попал очень приятный экземпляр в виде брелка и с кнопкой. Просто идеально, оставалось только проделать отверстия под USB и светодиоды. Увы, я до сих пор не могу найти в продаже точно такой же корпус. В итоге получилось как-то так:Батарейки под платой. Кстати, мне их хватило на год, пока я случайно не полез купаться, забыв вытащить ключи. Управление производится всего одной кнопкой. При её первом нажатии устройство включается. Кратковременным нажатием кнопки производится выбор ключа, номер которого отображается светодиодами. Когда нужный ключ выбран, достаточно приложить контакты к считывателю домофона. Длительное нажатие на кнопку переводит устройство в режим считывания ключей, при этом мигает средний светодиод. В этот момент нужно приложить ключ к контактам считывателя ключей (именно для этого у меня снизу вкручен винтик). Если считывание прошло успешно, отобразится номер, под которым ключ занесён в память. При подключении по USB устройство видится как виртуальный COM-порт. Для простоты работы был написан клиент под Windows:Он позволяет считывать ключи из устройства, при этом автоматически заносит их в базу данных. Само собой, ключи можно и записывать.

Исходники прошивки есть тут: github.com/ClusterM/ibutton

Исходники клиента тут: github.com/ClusterM/ibutton_client

Заключение

Источник: https://habr.com/post/229843/

Применение устройств iButton

Применение устройств iButton

Наиболее широко используются приборы с идентификационным номером типа DS1990A. На основе этого прибора реализуются простейшие электронные ключи. Если электронные замки объединены в корпоративную сеть или имеют память для хранения журналов проходов, появляется возможность контроля времени прихода и ухода персонала. Отдельную область применения составляют гостиничные системы.

В таких приложениях электронные ключи должны иметь память, в которую при регистрации гостя заносят номер выделенной ему комнаты и согласованное время проживания. Здесь эффективны приборы серии DS197X, DS1963L, DS199X, а при повышенных требованиях к защищённости информации приборы DS1991, DS196XS.

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

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

Приборы iButton могут быть основой простых решений для ограничения доступа к объектам повышенной опасности. К примеру, электрические щиты, этажные щитовые в жилых домах, корпуса приборов.

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

Герметичный стальной корпус приборов iButton позволяет использовать их в различных климатических условиях. Во многих жилых домах ключи на основе iButton давно применяются с домофонными устройствами. Надежный и уникальный электронный ключ одинаково прост в использовании для взрослых, детей и людей с ограниченными возможностями.

В дополнение к автосигналазации, приборы iButton используются для блокировки зажигания автомобиля. Уникальный номер прибора и возможности устройств типа DS1961S, DS1963S предотвращают подбор кода доступа. Прокат автомобилей с противоугонными системами такого типа может предусматривать ограничение времени использования автомобиля.

Отдельную область составляют системы ограничения доступа к любому электрическому оборудованию.

Прерывая цепи электропитания или сигнальные цепи можно управлять доступом к компьютерам, копировальным аппаратам, любым электрическим приборам, стоящим отдельно или объединенным общей сетью.

Даже кнопки запуска или останова любых технологических процессов могут быть заменены контактными устройствами iButton, если необходимо предоставлять право запуска или останова этих процессов только уполномоченным операторам, а также вести учёт событий.

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

Используя ключи iButton можно заблокировать клавиатуру персонального компьютера. Это особенно актуально на диспетчерских пунктах контроля технологических процессов, в охранных системах и т.п. Если блокировка клавиатуры не выход, можно полностью заблокировать доступ к компьютеру, либо к его жёсткому диску.

Если нет необходимости в “грубой” блокировке компьютера, можно “тонко” настроить систему на ID код пользователя, прошитый в устройство iButton, для защиты доступа к электронной почте, отдельным файлам и папкам.

Память iButton может хранить разнообразные ключи доступа или криптографические ключи, предусмотренные алгоритмами защиты системы ограничения доступа.

Приборы типа DS1991, DS1963 способны обеспечить защиту содержимого памяти от несанкционированного доступа или выявить попытки её искажения.

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

Приборы DS1954, DS1957 с алгоритмами криптозащиты могут быть использованы как носители электронной подписи, цифровых сертификатов, паролей доступа и даже цифрового образа отпечатка пальца. Кроме того, используя технологию iButton можно решить проблему аппаратной защиты (лицензирования) программного обеспечения.

Используя программируемые цифровые термометры с памятью на основе устройства iButton Thermochron (DS1921, DS1922) можно производить температурный мониторинг зданий и сооружений. Память на 2048 (DS1921) или 4096/8192 (DS1922) значений температуры и программируемый период измерений позволяет варьировать длительность температурного контроля от нескольких часов до нескольких лет.

Термохроны DS1921, DS1922 позволяют без дополнительных затрат проводить температурные испытания холодильного оборудования, термоизоляционных камер и материалов, а также различных приборов и материалов, оценка параметров которых должна проводиться в контролируемых температурных условиях.

Достаточно разместить прибор DS1921 или DS1922 в рефрижераторе или холодильной витрине и установить период записи показаний, чтобы в любое время можно было проверить соблюдение требуемых температурных режимов хранения или транспортировки.

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

Регистрируя тепловые параметры мощных силовых трансформаторов, можно получить представление о временном распределении потребления электроэнергии.

В тепличных хозяйствах, оранжереях, инкубаторах, птичниках, элеваторах, при выращивании грибов и содержании пчелиных ульев термохронометры iButton обеспечивают температурный мониторинг.

За счёт протокола передачи данных 1-Wire несколько приборов объединяются в единую сеть, что позволяет контролировать распределённые в пространстве объекты минимальными по составу и стоимости техническими средствами.

Измерение температуры теплоносителя и окружающей среды позволяет рассчитывать расход тепловой энергии. Поэтому для измерительной части бытового или промышленного теплового счётчика достаточно двух термохронометров iButton. Встроенный источник питания и цифровой последовательный интерфейс позволяют создавать экономичные решения с периодическим сбором информации, например, по радиоканалу.

Приборы iButton с часами реального времени (DS1904 и DS1994) или более простые приборы используются в системах учёта рабочего времени или на платных парковках. Такие же решения применимы для учёта времени использования оборудования или ограничения времени использования оборудования, например, в игровых автоматах или компьютерных клубах, при сдаче приборов в аренду.

В системах складского учёта каждый инвентаризованный (помеченный) объект благодаря iButton может иметь собственный идентификационный номер. Дополнительная память позволяет хранить в таблетке iButton не только код товара, но и необходимую информацию о нём: марка, дата покупки, дата поверки, срок проведения регламентных работ и т.п.

Устройство iButton, закреплённое на браслете, может служить регистрационной картой и применяться для контроля времени и периодичности прохождения лечебных процедур, доступа в помещения (процедурные, служебные), регистрации результатов промежуточных обследований. В памяти прибора может храниться платёжная информация в случае прохождения платных процедур, не входящих в общий курс лечения. Абсолютно аналогичный принцип использования возможен для клубных карт.

Таблетка iButton типа DS1961/63S с необходимыми механизмами безопасности может неограниченно использоваться пассажирами в виде транспортной карты. Пассажир каждый месяц производит платеж в кассу, а в таблетку заносится платёжный баланс, на входе в транспорт данные считываются. Более миллиона устройств iButton на протяжении ряда лет применяются в транспортной системе г. Стамбула, Турция.

Электронные карты с предоплатой нашли широкое применение на автозаправочных станциях в России и Беларуси. Приборы с памятью и дополнительными механизмами защиты позволяют не допустить отпуска неоплаченного топлива даже в системах, работающих в режиме off-line.

Для настройки либо параметризации отдельно стоящего прибора или передачи накопленной им информации на компьютер обычно приходится применять портативные компьютеры. Если объём передаваемой информации не превышает 64 Кбайт, такой компьютер может быть заменен прибором iButton.

Транспортный ключ будет удобен в электронных замках и домофонах для доставки в них списков доступа или снятия журналов прохода.

Загрузка начальных параметров бытовых электронных счетчиков на производстве или при массовой установке в многоквартирном доме существенно упроститься, если её свести к последовательному касанию всех приборов однократно подготовленным элементом iButton.

Бытовые и промышленные электронные счётчики с предоплатой прекращают или ограничивают отпуск ресурса, если этот ресурс не оплачен потребителем.

В таких счётчиках приборы iButton являются идеальным средством доставки электронных квитанций об оплате потребителями ресурсов из банковского АРМ в сам счётчик.

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

Прибор типа DS1977 с 32 Кбайт памяти типа EEPROM может рассматриваться как транспортный ключ большого объема, либо разделяться на несколько последовательно используемых транспортных ключей, что позволяет использовать его очень продолжительное время.

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

Для этого по маршруту размещают приборы iButton, а патрульного оснащают портативным ручным считывателем. Касаясь считывателем приборов, он автоматически фиксирует код прибора и время касания.

Последовательность таких записей позволяет полностью восстановить маршрут и график патрулирования.

Однопроводная сеть 1-Wire позволяет создавать системы контроля единиц хранения. Созданный компанией DATA CENTR автоматизированный склад включает стеллажи и специальные ящики. Стеллажи оборудованы сетью 1-Wire таким образом, что каждой ячейке соответствует свой электронный номер.

Ящик оснащается двумя приборами iButton, один из которых является его электронным номером, а второй служит индикатором закрытия крышки ящика. Конструкция ящика такова, что после его установки на стеллаж компьютер комплекса может не только оценить заполненность каждой ячейки, но и прочесть номер ящика, а также состояние его крышки. Вскрытие крышки на стеллаже мгновенно индицируется.

Система учёта позволяет найти местонахождение каждого ящика и направить погрузчик в нужное место.

Прибор DS1994 позволяет реализовать простейший батарейный регистратор событий. Любое размыкание цепи питания сопровождается регистрацией факта и времени события в энергонезависимой памяти прибора. Таким образом могут быть построены детекторы вскрытия дверей железнодорожных вагонов.

Источник: https://spd.net.ru/Article/iButton_review.aspx

EuroDomovoy.RU

   Предлагаемое устройство может выполнять функции охранной сигнализации или просто включать освещение при движении человека в помещении и при открывании входной двери. Его схема показана на рис.1. Основой служит микроконтроллер PIC16F84. В его программе предусмотрено автоматическое восстановление нормальной работы после случайных сбоев.

Рис.1. Принципиальная схема охранного устройства

   Постановку на охрану и снятие с нее производят с помощью электронных ключей-таблеток iButton DS1990 [1].

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

Код, записанный в таблетке, невозможно изменить. Он имеет 280 триллионов вариантов, что практически исключает возможность подборки ключа.

   Контактное устройство Х1, которого нужно коснуться ключом, чтобы включить или выключить охрану, располагают в любом удобном месте, например, на косяке двери. Однако сам охранный прибор должен быть недоступен посторонним. Проводку от него к контактному устройству выполняют витой парой проводов длиной не более нескольких метров.

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

Охранный шлейф, условно показанный на схеме как выключатель SA3, – последовательно соединенные выходные контакты ИК датчика движения и установленного на двери герконового датчика СМК.

Если датчика движения нет, прибор будет реагировать только на открывание двери.

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

Чтобы перейти в режим охраны, нужно коснуться зарегистрированным ключом контактного устройства Х1.

Прочитав код ключа, микроконтроллер на 1 с запрещает повторное считывание, предотвращая непредсказуемую смену режимов при слишком продолжительном удержании ключа в контактном устройстве.

   Постановка на охрану будет подтверждена коротким звуком сирены НА1 и вспышкой светодиода HL1. Но фактически охрана будет включена только после восстановления замкнутого состояния шлейфа (если последний был разомкнут). Это дает возможность хозяину уйти из помещения и закрыть за собой дверь, не вызвав ложной тревоги.

   В режиме охраны светодиод HL1 горит, освещение выключено. Нарушение шлейфа приводит к включению на 3 мин сирены НА1 и миганию светодиода HL1. Затем микроконтроллер еще раз проверяет состояние шлейфа.

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

А вот любая попытка подобрать ключ не изменит режима работы, но вызовет включение сирены на 1 с.

   Узел питания прибора состоит из выпрямителя на диодном мосте VD3-VD6 (понижающий трансформатор питания на схеме не показан) и двух интегральных стабилизаторов DA1 и DA2. Диоды VD3-VD8 можно заменять любыми на напряжение не менее 50 В и ток 1 А.

Напряжение 13,7 В предназначено для питания сирены НА1 и подзарядки аккумуляторной батареи, поддерживающей работу устройства при отключении сети.

Если в резервном питании нет необходимости, вместо КР142ЕН8Е можно установить стабилизатор на 12 В, а диоды VD7 и VD8 исключить.

   Сирена НА1 – автомобильная UP-35, но можно применить и любые другие пьезосирены, например, используемые в охранных системах (ООПЗ-12, “Свирель”). Аккумуляторная батарея – необслуживаемая кислотная, предназначенная для приборов в охранно-пожарной сигнализации.

   Устройство собрано на печатной плате из односторонне фольгированного стеклотекстолита (рис.2).

Рис.2. Печатная платаДля микроконтроллера DD1 лучше всего предусмотреть панель. Это позволит, при необходимости, заменить или перепрограммировать микроконтроллер. Схему программатора и программу для него можно найти в Интернете. Например, по адресу www.pic16f84.narod.ru. Там же имеется инструкция по программированию.

   Чтобы зарегистрировать ключ, кратковременно замкните контакты выключателя SA1 “PROG”. Как только загорится светодиод HL1, прикоснитесь ключом контактов Х1. Успешную регистрацию подтвердят погасание светодиода и короткий звук сирены.

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

Через 40 с после последней регистрации прибор автоматически возвратится в рабочий режим.

   Чтобы отменить регистрацию всех ключей, достаточно кратковременно замкнуть выключатель SA2 “ERASE”. Память будет очищена и включен описанный выше режим регистрации. Эта процедура необходима при первом включении устройства, а также в случае утери одного из ключей.

   Текст программы на ассемблере и прошивку контроллера можно скачать здесь.

Источники

А.Синюткин, Электронный замок на ключах-таблетках iButton. Радио 2001, № 2,3

Источник: http://EuroDomovoy.ru/byt/203-okhrannoe-ustrojjstvo-s-upravleniem-kljuchami.html

Считыватели Touch Memory (iButton)

Системы безопасности в настоящее время насчитывают довольно много типов разнообразных считывателей. Классикой в этом типе устройств, является, конечно же, контактная память или считыватели Touch Memory (iButton). Довольно часто представленные устройства СКУД можно встретить в домофонных системах, однако также они встречаются и в составе систем контроля доступа на предприятии.

Ключи для данных считываетелей имеют аналогичное название – Touch Memory или iButton и внешне их легко отличить по форме, выполненной в виде «таблетки». Для передачи информации в считывателях данного типа применяются однопроводные протоколы обмена. Для защиты от физических воздействий, электронная схема считывателя помещается в металлическом корпусе.

В качестве ключа доступа могут быть довольно разнообразные электронные устройства. Разумеется, вся применяемая начинка для ключей должны быть «понятной» и для самого считывателя.

Активизация устройства и передача кодовой информации происходит в момент контакта ключа и считывателя.

Срок действия самих ключей ТМ как правило неограничен, поскольку вся кодовая информация размещается в энергонезависимой памяти «таблетки». 

Преимущество, которым в первую очередь обладают считыватели Touch Memory (iButton) очевидно – компактные размеры как самих устройств, так и ключей для них.

Помимо небольших размеров нельзя не отметить и низкую стоимость оборудования этой категории – приобретение комплекта ТМ считывателей для СКУД обойдется в разы дешевле той же конфигурации системы доступа, но построенной уже например, на RFID считывателях.

Хотя ТМ считыватели и ключи для них в настоящее время довольно широко распространены, все равно не всегда их называют правильно.

Устройства для считывания контактной памяти – именно эти ТМ считыватели, которые мы и рассматриваем, могут быть названы ключами от домофона, магнитными ключами, «таблетками», контактными ключами.

Однако, стоит помнить, что услышав любой из этих терминов, стоит понимать именно контактную память.

Считыватели ТМ, как уже и было сказано, сравнительно недороги.

Скорость их быстродействия ничуть не отличается от радиочастотного принципа идентификации, однако столь широкого распространения как последние, технология контактной памяти не получила.

Причиной этому – обязательный контакт с поверхностью считывателя, что далеко не всегда является удобным. Кстати, создала технологию такого считывания ключей доступа компания Dallas Semiconductor.

Приобрести практически любые модели считывателей Touch Memory (iButton) вы можете в нашем гипермаркете систем безопасности.

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

Работая с Зевс вы получаете гарантию на приобретаемое устройство, а в случае заказа монтажа – дополнительную гарантию на установочные работы.

Источник: https://zefz.ru/skud/skud-accesuar/skud-touch-memory/

Электронные идентификаторы iButton

iButton — это семейство микроэлектронных устройств, разработанных фирмой Dallas Semiconductor, USA (в настоящее время выпускаемых фирмой Maxim).

Каждое устройство iButton заключено в стальной герметичный цилиндрический корпус и имеет уникальный номер (ID), записываемый в процессе изготовления.

Все устройства iButton помещаются в стальной цилиндрический корпус MicroCan, выполнены по жестким стандартам и выдерживают серьезные механические и температурные нагрузки.

Обмен данными с iButton производится через интерфейс 1-Wire. Информация в этом интерфейсе передается по единственному проводнику. Питание iButton получают из этого же проводника, заряжая внутренний конденсатор в моменты, когда на шине нет обмена данными.

Скорость обмена достаточна для обеспечения передачи данных в момент касания контактного устройства.

Для подключения iButton к компьютеру компанией “Аладдин Р.Д.” выпускаются считыватели (адаптеры), преобразующие сигналы стандартных портов компьютера (RS232, USB) в сигналы 1-Wire.

Брелки-держатели позволяют надежно закрепить “таблетку” iButton.

ТипНаименованиеОбъем памятиОсобенности
DS-1990 Электронный идентификатор Touch Serial Number
DS-1991 Электронный ключ с защищенной памятью Touch MultiKey 4 страницы по 48 байт Первые три страницы имеют защиту от доступа
Снята с производства, рекомендуем заменять на DS-1977
DS-1992 Электронный ключ с памятью 1К-бит Touch Memory 1K-bit 4 страницы по 32 байта
DS-1993 Электронный ключ с памятью 1К-бит Touch Memory 4K-bit 16 страниц по 32 байта
DS-1994 Электронный ключ с памятью 1К-бит Touch Memory 4K-bit 16 страниц по 32 байта Дополнительно часы/календарь реального времени
DS-1995 Электронный ключ с памятью 1К-бит Touch Memory 16K-bit 64 страницы по 32 байта
DS-1996 Электронный ключ с памятью 1К-бит Touch Memory 64K-bit 256 страниц по 32 байта
DS-1977 Электронный ключ с защищенной памятью Touch MultiKey 4 страницы по 48 байт Первые три страницы имеют защиту от доступа
Рекомедуется для замены устаревшей модели DS-1991

48-битный уникальный серийный номер, присваиваемый методом “прожигания” лазером при изготовлении чипа. Первый байт ROM-памяти содержит код семейства, восьмой байт – CRC первых семи байт.

Размер EEPROM-памяти 0 – 8192 байт (в зависимости от модели)
Рабочий диапазон температур От -40°С до +70°C
Температура хранения От -55°C до +85°C
Используемый интерфейс 1-Wire
Мин. время записи/стирания 5 мс
Рабочее напряжение питания 0,5 В – 7 В
Долговечность 1 000 000 циклов
Срок хранения данных в памяти 10 лет
Макс. потребляемый ток 5 мкА
Устройства чтения Считыватели iButton
Назначение Системы идентификации

Источник: https://www.aladdin-rd.ru/catalog/ibutton

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}