Дубликатор домофонных ключей (iButton) на Arduino Uno

Опубликовал | 04.12.2017

Добрый день! Очередной дубликатор домофонных ключей (iButton) на Arduino Uno с энергонезависимой памятью. Небольшое техническое задание.

Итак, что должно уметь:
1. Копировать ключи, iButton -> iButton;
2. Сохранять ключи, iButton -> Внутренняя память (99 ключей);
3. Записывать ключи, Внутренняя память -> iButton;
4. Восстанавливать «программно убитые» ключи.

Для сборки понадобится Arduino Uno R3, LCD Keypad Shield, считыватель iButton, два резистора 330 Ом.

Arduino Uno R3 — известный герой многих обзоров.

LCD Keypad Shield — герой этого обзора.

Считыватель iButton — покупал тут. Если в двух словах, то брать стоит. Качественный считыватель.

Распиновка считывателя:
Чёрный провод — GND.
Белый провод — Data.
Красный и зелёный провода — двухцветный светодиод. При протекании тока в «прямом» направлении — светится красным, в «обратном» — зелёным.

Два резистора 330 Ом, первый для «подтяжки» Data-линии считывателя к +5В, резистор припаиваем между выводом D11 и +5В Arduino Uno.
Второй для ограничения тока протекающего через двухцветный светодиод считывателя. Режем красный или зелёный провод считывателя и в разрыв припаиваем резистор.

Гребёнка на 4 пина.

Прошиваем Arduino Uno.

Прошивку в виде hex — файла берём тут.
Программное обеспечение для прошивки Arduino Uno берём тут, или на гугл-диске вместе с прошивкой.

Инструкция по прошивке
— подключаем Arduino в USB-порт
— выбираем Hex файл
— выбираем тип Uno
— выбираем COM порт, который создался при подключении Arduino к USB
— скорость 57600 (115200).
— нажимаем Upload

Приступим к сборке, схему рисовать не вижу смысла, всё собирается за 5 минут.
Припаиваем резисторы, первый.

Теперь второй.

Припаиваем гребёнку, предварительно согнутую под углом 30-45 градусов, на пины D11, D12, D13, GND.

Подключаем считыватель, предварительно завязал провода в узел и продел между пинами VIN и A0 Arduino Uno.

Далее соединяем модуль-франкенштейн LCD Keypad Shield с Arduino Uno.

Подключаем питание.

Сборка закончена.

Как этим пользоваться?!

Кнопка RST — аппаратная перезагрузка устройства.
Кнопки UP и DOWN отвечают за переход по ячейкам памяти для хранения/записи ключей.

Основное меню:
Кнопка SELECT — запись iButton ключа, если до нажатия был приложен ключ, то запишется в болванку код ранее считанного ключа, иначе в болванку запишется ключ из текущей (выбранной) ячейки памяти.
Кнопка RIGHT — запись ключа в память устройства.
Кнопка LEFT — включение/отключение подсветки дисплея.

Меню записи ключа в память устройства:
Кнопка RIGHT — отмена записи.
Кнопка LEFT — подтверждение записи.
Кнопка SELECT — выбор действия.

Индикация считывателя:
Красный свет — ожидание записи ID в iButton, приложите ключ для записи.
Зелёный свет — ID считан с iButton.

Консольные команды вводятся в мониторе порта Arduino IDE
Команды управления не чувствительны к регистру:

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

KeyForceSave — Запись ключа в память устройства.
Пример команды:

KeyForceSave:2#aabbccddeeff1234

Синтаксис команды:
KeyForceSave — команда
: — разделитель
2 — записать во вторую ячейку памяти
# — разделитель
AABBCCDDEEFF1234 — ключ который будет сохранён во вторую ячейку памяти устройства.

KeySave — Запись «корректного» ключа в память устройства, в отличие от команды KeyForceSave перед записью в память устройства для вводимого ключа будет подсчитана правильная контрольная сумма и family code ключа будет заменён на «01».
Пример команды:

KeySave:3#aabbccddeeff1234

Синтаксис команды:
KeySave — команда
: — разделитель
2 — записать в третью ячейку памяти
# — разделитель
01BBCCDDEEFF12CE — ключ который будет сохранён во вторую ячейку памяти устройства.

Ключи с family code равным «00» перестают считываться дубликатором. Для их восстановления необходимо приложить ключ к считывателю устройства, нажать и отпустить кнопку RST (перезагрузить устройство), не снимая ключ дождаться загрузки основного меню устройства.

Работа ключа будет восстановлена, в него будет запрограммирован ID 01:FF:FF:FF:FF:FF:FF:2F.

Видео без звука и без штатива :)

Всем добра!

Планирую купить 0 Добавить в избранное +2 +4

(c) 2017 Источник материала

Рекламные ссылки