Самый простой и бюджетный дубликатор ключей iButton/RW1990 на Esp8266

И где тут на схеме свето-звуковая индикация?

На самом деле для меня оптимально иметь две кнопки и два светодиода.
Первый светодиод загорается, если ключ вообще читается.
Второй - когда код ключа и код в памяти девайса совпадают.
И кнопки - Read & Write.

Алгоритм простой:

  1. Прикладываем копируемый ключ к лузе. Если ключ читается - загорается желтая лампочка.
  2. Нажимаем Read и ждем, пока не зажгется второй светодиод. Это означает что код скопирован в память.
  3. Берем “пустую” заготовку и прикладываем - если первый светодиод горит - заготовка рабочая (а то разные бывают).
  4. Нажимаем Write , если второй светик зажегся - ключ записался.

Пункты 3-4 повторяем по числу копий.

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

PS
ESP8266 тут нафик не нужен и даже вреден, для надежной записи болванок нужен МК с логик-уровнем 5в. Ардуино Нано подходит идеально, потому что ее можно питать через УСБ кабель от любой телефоннной зарядки или повербанка.

2 лайка
  1. Повторяем операцию.
  2. Не понял вопроса. Только перезаписываемую заготовку можно перезаписать.

Ну допустим, я закапаю заготовки от 1000 шт, по работе. В Июне закупал по 16,7 руб с доставкой. Вам 1000 шт надо?

Попробовали мой код именно на этой плате? Там RGB светодиод всё показывает и ещё пищалку можно подключить.

tone(12,25,4000);
На порт 12(GPIO 12 вешаем ещё пищалку). И будет звуковое сопровождение.

Какую операцию? С какого шага по какой?
Вот мне надо сделать десять копий с одной болванки, мне 10 раз прикладывать оригинал к прибору или как?

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

2 лайка

Тогда лучше 2 кнопки. Скажем при нажатии одной происходит считывание. Чтобы записать, нажать 2 кнопки одновременно. Так скать защита от невнимательности. А считанное значение хранить до следующей перезаписи.

Мысль верная, но… неправильная.
Человек не способен нажать две кнопки одновременно с той точностью, которую может отследит МК. Следует читать “нажать 2 кнопки в нужном порядке, после чего отпустить в обратном порядке”.

Как напишешь, так и будет (с). Достаточно в момент клика одной кнопкой, проверять, нажата ли другая, если да - нажаты две кнопки. Это ж логично? :wink:

Спойлер

shButton/examples/PressTwoButton/PressTwoButton.ino at master · VAleSh-Soft/shButton · GitHub

1 лайк

В технаре случай был,препод спросил что будет если нажать одновременно две клавиши на клавиатуре. Ну мы начали гипотезы озвучивать,мол,наверно, они поочерёдно отправятся в ПК. Он говорит:" нет! Нельзя одновременно нажать,всё равно одна из них сработает первой!". Все ржали долго…)
@andriano , к нажатиям кнопок можно применить операцию И ))

Это лишь один из способов реализации того условия, что я описал выше. А вот является ли он самым оптимальным - отдельный вопрос. Сколько раз следует перезаписать болванку, если человек держит кнопку, скажем 2 секунды? Значит, нужно отслеживать не только нажатия, но и отпускания, да еще следить за дребезгом контактов… Так что даже предельно простые формулировки могут оказаться достаточно объемными в реализации.

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

И где физически должна находиться эта операция “И”?
На плате контроллера клавиатуры?
На выходе порта клавиатуры?
В драйвере клавиатуры?
В прикладной программе, работающей с клавиатурой?

Ну чего в самом деле? Это зависит от пристрастий человека. Можно поставить К155ЛА3, можно if(b1&b2), а можно отслеживать статусы кнопок и в простейшем конечном аппарате реализовать любую логику и последовательность нажатий. Практически кодовый замок сделать.

Уже второй раз приводишь это высказывание, пора уже просто призывать капитана Очевидность!
Но у каждого человека свой опыт - вот сколько вопросов в разделе для новичков связано просто с тем, что скетч работает именно так, как написан, но совсем не так, как хотел сделать новичок.
Здесь вопрос “как напишешь” на самом деле разбивается на два уровня: это уровень реализации (т.е. просто грамотно написать то, чего хочешь) и уровень проектирования (т.е. понять, что именно нужно).
Вот мы сейчас скатились к обсуждению уровня реализации, а у автора, как мне кажется, есть проблемы на уровне проектирования. По крайней мере остался без ответа мой вопрос из 25 сообщения: как гарантировать себя от порчи ключа-образца на перезаписываемой болванке?

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

И это тоже - как написано, так и работает. И проблема новичка не в последнюю очередь в том, что он этого не понимает. Виноваты МК, IDE, язык - ну не он же, в самом то деле. Он же НЕ ТАК хотел ))

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

2 лайка

Ну хорошо, можно задать мотив " В ле-су ро-ди-лась ё-ло-чка…". Не забудешь. Правда,в ноты хрен попадёшь потом😄

Забудешь, проверено. Все равно, когда понадобится, придется шпаргалку доставать ))

А я шпаргалки или вкладываю в корпус или клею где-то рядом ))

2 лайка