Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2
  • 3
  • 4

ТЕМА: Скрытая кнопка (ТЗ)

Скрытая кнопка (ТЗ) 18 мая 2016 21:36 #1

  • Vakula
  • Vakula аватар
  • на форуме
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 682
  • Спасибо получено: 66
Устройство мини кодового замка для блокировки сигнала в авто.

Микроконтроллер ATTINY13
PD0 - выход ошибочного ввода (RED).
PB1 - Выход правильного ввода и, или подтверждение ввода (GREEN).
PB2 - Вход программирования (PROG).
PB3 - Вход ввода кода (CON).
PB4 - Выход (YELLOW)


1. При нажатии кнопки PROG не более 5 сек, вход в режим программирования, 2 вспышки RED.
Программирование ведется путем нажатия кнопки CON. Учитываются паузы между нажатиями. Длительность нажатой кнопки не учитывается.
2. Через 5 секунд после последнего нажатия CON, комбинация записывается в память устройства. Две вспышки GREEN в подтверждение.
2.1 Если снова нажимать CON комбинацией записанного кода, то; при правильно набранной комбинации, подтверждается тремя вспышками GREEN и включается YELLOW.
3. Если комбинация набрана не правильно, то загорается на 1 секунду RED.
4. Если устройство запрограммировано пп 1-2, то при подачи питания на устройство, загорается YELLOW на три секунды и гаснет. Ожидание ввода кода.
5. При длительном (не менее 5 сек) удержании кнопки PROG, память устройства (записанный код) стирается, YELLOW светит постоянно при включенном питании.


Прошу SOIR написать программку данному устройству.
Вложения:
Последнее редактирование: 24 мая 2016 21:20 от Vakula.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 20 мая 2016 12:07 #2

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
Vakula пишет:
Учитываются паузы между нажатиями...
Давайте цифры.
Сколько, какая минимальная продолжительность, какая максимальная... По какому принципу работает, азбука Морзе?
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 20 мая 2016 13:39 #3

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
Давайте по-порядку.
Сколько всего точек-тире в коде?
В каких пределах времени идентифицируется короткая пауза (точка), в каких длинная (тире)?
Мне нужны временнЫе интервалы. Например, пауза 0,5 сек - это что, точка или тире? А 1 сек? А 4 сек? А 100 сек?
Последнее редактирование: 20 мая 2016 13:40 от Soir.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 20 мая 2016 14:03 #4

  • Vakula
  • Vakula аватар
  • на форуме
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 682
  • Спасибо получено: 66
Soir пишет:
Давайте по-порядку.А 100 сек?
Имеем ограничение на временные тире
5. При длительном (не менее 5 сек) удержании кнопки PROG, память устройства (записанный код) стирается
Код должен набираться, как душа зажелает, только бы не забыла та душа.
Я вообще планирую вместо кнопки поставить пьезо, что бы он отлавливал настукивания.
Применение планируемого устройства планируется в нескольких исполнениях. Первое, как дополнительный ключ от дверей авто.
Второй, как дополнительная блокировка бензонасоса.
Суть какова?
В первом случае: уходя на покупаться в море, настукиваешь код, программируешь, закрываешь авто и пошел. Пришел, настучал, авто открылось.
Второй, тут как бы и так понятно, но! Сев в авто, включив зажигание, насос создал давление в системе и блокируется. А разблокировать можно только настучав все тот же записанный код. Это очень хорошая и не дорогая фича от угонов. Сама "подлая", как для угонщиков.

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

Скрытая кнопка (ТЗ) 20 мая 2016 14:09 #5

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
Vakula пишет:
В первом случае: уходя на покупаться в море...
Очень интересно, но как реализовать в прошивке вход в море - не знаю.
Vakula пишет:
Код должен набираться, как душа зажелает, только бы не забыла та душа.
Как программист - не понял, что мне с этим делать.
Vakula пишет:
Не много не понял вопроса. Нужно, что бы устройство могло запоминать код, а потом на него отвечать.
Если мои вопросы непонятны - давайте пару примеров. Только прошу без лирики: уходя в море... как душа.. Только скупые цифры и числа.
Последнее редактирование: 20 мая 2016 14:09 от Soir.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 20 мая 2016 17:00 #6

  • Vakula
  • Vakula аватар
  • на форуме
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 682
  • Спасибо получено: 66
Soir пишет:
прошу без лирики:
Это нужно тому, кто посмотрит тему. Зачем такое странное устройство, спросит? А вот зачем. Для того и "лирика" в описании.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 20 мая 2016 17:08 #7

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
На этом этапе разработки более важны цифры. По крайней мере для меня. Пока не будет прошивки о лирике говорить нет смысла. Сейчас лирика - это засорение темы.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 20 мая 2016 17:15 #8

  • Vakula
  • Vakula аватар
  • на форуме
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 682
  • Спасибо получено: 66
Soir пишет:
Пока не будет прошивки о лирике говорить нет смысла. Сейчас лирика - это засорение темы.
Почистим.
По цифрам!
Если я напишу, что: тук, тук, тук-тук-тук подождали 1 сек, тук, подождали 5 секунд и код записался... То тут, понятное дело Вы не поймете :silly: . Мне надо как то отобразить в цифре. Думаю, как показать яснее на примере.
Последнее редактирование: 20 мая 2016 17:16 от Vakula.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 20 мая 2016 17:25 #9

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
Vakula пишет:
Если я напишу, что: тук, тук, тук-тук-тук подождали 1 сек, тук, подождали 5 секунд и код записался... То тут, понятное дело Вы не поймете
Если Вы напишете, что "туков" всего 6, короткая пауза длится не более 0,25 сек, а от 0,25 до 1 сек считается длинной паузой. Если пауза больше 1 сек - ошибка ввода, все сначала. Примерно как-то так... Так я пойму.
Можете описать пример азбукой Морзе, только в любом случае должна быть задана длительность точки и тире.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 20 мая 2016 20:38 #10

  • Vakula
  • Vakula аватар
  • на форуме
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 682
  • Спасибо получено: 66
Soir пишет:
только в любом случае должна быть задана длительность точки и тире.
Не могу спорить, может так нужно. Но я не могу понять: это что за комбинация будет? Если я опишу её, то как будет она меняться? Ведь каждый раз (как кому захочется) эта комбинация будет меняться. А так, если прописать количество нажиманий и их длительность, то получится код уже записанный и он постоянный?
Я что то не так понял?
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 20 мая 2016 21:03 #11

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
Дайте мне пример. Код будете устанавливать, менять сами когда и сколько раз вздумается.
Код не может быть бесконечным, должны быть рамки.
1. Число знаков (пауз). Мне все равно, сколько. Можете хоть 1000, скажите мне сколько.
2. МК должен как-то отличать длинную паузу от короткой, если мы говорим о Морзе. Значит должно быть определено допустимое время пауз. Оно зависит от того, с каким ритмом Вы собираетесь стучать по кнопке. Мне все равно, но знать я должен.
3. Если Вы предполагаете не Морзе, а записывать реальное время, то боюсь возникнут проблемы при воспроизведении. Разве что Вы обладаете музыкальным чувством ритма, а устройство будет использоваться в стабильных условиях, чтобы не уплывала тактовая частота, или применять кварц. Ну и МК надо брать с памятью в разы большей.
4. Если Вы предполагаете иной алгоритм - очень подробно и обязательно с примером.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 20 мая 2016 23:25 #12

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • на форуме
  • Модератор
  • Сообщений: 283
  • Спасибо получено: 59
Интересное устройство вырисовывается. Предполагаю, что речь идёт о любом, произвольном сочетании нажатий и отпусканий, в течение ограниченного отрезка времени. Критичным может быть только допуск на вариации длительности.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 21 мая 2016 05:31 #13

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
Айнцвайдрайченко пишет:
Предполагаю, что речь идёт о любом, произвольном сочетании нажатий и отпусканий, в течение ограниченного отрезка времени.
Как я предполагаю, то речь идет о произвольном сочетании пауз между нажатиями. Тогда даже можно будет обойтись без кнопки, а спрятать где-то микрофон и отстукать код.

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

Кодовых длительностей может быть великое множество. Можно сделать регулярные, как в нотах - 1/8, 1/4, 1/2 ... Можно сделать произвольные. Можно сделать записываемые... Вопрос в воспроизводимости - сможет ли пользователь второй раз отстучать ту же последовательность с теми же длительностями.
Разумной достаточностью считаю всего две продолжительности - короткая и длинная (Точка и тире языком Морзе. Тире по длительности равно трем точкам). Комбинацией этих двух несложно получить код, для подбора которого уйдет вся жизнь, даже если известны базовые интервалы продолжительности. В этом случае нужны две базовые величины: длительность точки и количество знаков в коде. Из дополнительных величин - допустимая погрешность временных интервалов.

Возможно у Vakula есть свое видение протокола общения с устройством, но пока что-то не сформулировал.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 21 мая 2016 07:08 #14

  • Vakula
  • Vakula аватар
  • на форуме
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 682
  • Спасибо получено: 66
Всё правильно все поняли.
Возможно у Vakula есть свое видение протокола общения с устройством, но пока что-то не сформулировал.
ВЫ уже ответили. Думаю это самый простой и доступный способ.
Soir пишет:
нужны две базовые величины: длительность точки и количество знаков в коде. Из дополнительных величин - допустимая погрешность временных интервалов.

Я только сомневаюсь в одном. Если девайс использовать, как секретная кнопка блокировки бензонасоса, то тут все правильно и как ни когда идеально. А вот под стукачек, когда ключи в авто и закрывание и открывание авто только настукиванием кода, то тут трехсекундное отрабатывание явно лишнее.
Выходов с положения два: сделать разные прошивки. Отключать функцию 3 сек программно. К примере: до включения питания, нажать кнопку PROG. Питание включили, YELLOW мигнул три раза, отпустили кнопку. Теперь при подачи питания не будет тайминга в три секунды.
Последнее редактирование: 21 мая 2016 07:26 от Vakula.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 21 мая 2016 08:36 #15

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
А зачем тайминг 3 сек? Чем будет управлять это устройство? Управляющий вывод это желтый светодиод?
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 21 мая 2016 09:03 #16

  • Vakula
  • Vakula аватар
  • на форуме
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 682
  • Спасибо получено: 66
Тайминг в 3 секунды нужен, что бы насос смог накачать в систему топлива и создал там давление. Это нужно для того, что бы: если нехороший человек сумел сесть в авто и завести, он сходу стартует, дабы скрыться с места. Пока есть давление в системе, он это сделает. Но только тронувшись, он получит не приятнось с заглохшим двигателем. Далее ему нужно срочно ноги уносить. Не до разбирательств будет.
С таймингом устройство управляет бензонасосом авто.
Желтый светик это и есть выход к исполнительным силовым устройствам.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 23 мая 2016 16:21 #17

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
Vakula пишет:
Минимальная пауза между нажатиями 0,2 сек. Максимальная 2 сек.

А если пауза 0,1 сек, это что? Точка или ошибка?
А если пауза 2,1 сек, это что? Тире или ошибка?
А если пауза 1,5 сек, это что? Тире или точка?
Vakula пишет:
Количество пауз - 5
Количество точек - 10
Теперь совсем непонятно. Что Вы называете точкой, а что паузой? Я так понял, мы приняли за основу язык Морзе? Но теперь получается, что нет...

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

Скрытая кнопка (ТЗ) 23 мая 2016 17:01 #18

  • Vakula
  • Vakula аватар
  • на форуме
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 682
  • Спасибо получено: 66
Soir пишет:
По-прежнему прошу привести пример кода.
Я не пойму, какой код надо привести?
Мы не можем брать за основу Морзе. Потому, как там тире, это удержание ключа; точка, краткое нажатие.
У нас пауза, это время между нажатиями
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 23 мая 2016 20:24 #19

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
Vakula пишет:
Я не пойму, какой код надо привести?
Вы же как-то себе представляете ввод пароля (кода)? Если да - изобразите пример. Если нет, то о чем мы вообще говорим...

Vakula пишет:
Потому, как там тире, это удержание ключа; точка, краткое нажатие.
У нас пауза, это время между нажатиями
А кто запрещает сделать наоборот? И там время, и тут время. Только тире будет длинная пауза, а короткая пауза это точка. В чем проблема?
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 23 мая 2016 20:30 #20

  • Vakula
  • Vakula аватар
  • на форуме
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 682
  • Спасибо получено: 66
Всё, я завис... На вопросы у меня нет ответов. Тема в тупике.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 23 мая 2016 22:49 #21

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • на форуме
  • Модератор
  • Сообщений: 283
  • Спасибо получено: 59
Надо разруливать... Ещё раз внимательно прочел ТЗ. Нет, это не код Морзе, поскольку продолжительность нажатия не учитывается. Если планируется пьезо вместо кнопки, то понятие "длительность нажатия" вообще теряет смысл. Вместо нажатия - одиночный импульс, "тук". Тогда код будет представлять собой набор интервалов (пауз) различной длительности. Только мне непонятно вот это:
количество пауз - 5
количество точек - 10
Если мы "настучали" 10 точек, то между ними должно получиться 9 пауз!

Теперь, как я представляю себе пример кода:


10 ударов, 9 пауз. МК запоминает комбинацию пауз. Допуск на длительность зависит от чувства ритма пользователя. Думаю, либо придётся поэкспериментировать, либо дать пользователю возможность забить этот допуск в ЕЕПРОМ.
Далее. Предположим, допуск у нас 0,2 сек. Тогда, если мы "настучали" паузу от 0,1 до 0,3 сек, то она запоминается как 0,2
соответственно, 0,3...0,5 запоминается как 0,4
0,5...0,7 запоминается как 0,6
0,7...0,9 = 0,8
0,9...1,1 = 1,0
..........
..........
1,9...2,1 = 2,0
Итого 10 градаций запоминаемой длительности. Но это справедливо для данного примера. Если взять более точный допуск, то количество градаций увеличится.
Теперь... Кидайте в меня помидоры.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Последнее редактирование: 23 мая 2016 23:07 от Айнцвайдрайченко.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Vakula

Скрытая кнопка (ТЗ) 24 мая 2016 05:39 #22

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
Айнцвайдрайченко пишет:
Надо разруливать... Ещё раз внимательно прочел ТЗ. Нет, это не код Морзе, поскольку продолжительность нажатия не учитывается.
Причем тут длительность нажатия? Вспомните фильмы, как в тюрьме заключенные перестукивались через стенку. Где там длительность нажатия? Но ничего, как-то получалось и на паузах.

Алгоритм предлагается следующий:
Первое нажатие на ключ или "тук" (любой продолжительности, не бесконечной, разумеется) - программа подготовилась к приему кода.
Отпустили ключ (пауза) - программа начала отсчет времени.
2-е нажатие - программа сравнила прошедшее время паузы с заданными интервалами. Определила - пауза длинная (тире) или короткая (точка). После отпускания ключа программа начала новый отсчет.
3-е нажатие - см. 2-е...
...
150-е...


Если в какой-то момент пауза выйдет за все пределы - программа будет считать, что ввод кода завершен. Сравнит полученные точки и тире с правильным кодом и примет решение: свой-чужой.
Чем не морзянка?
Сделать еще разделение на буквы и слова? Тоже можно, но это во-первых, не имеет смысла, во-вторых, пользователю будет сложнее не ошибиться самому.
Айнцвайдрайченко пишет:
Только мне непонятно вот это:
количество пауз - 5
количество точек - 10
Это понимает только Vakula, но наверно это секретная информация и не желает ее раскрывать.

Айнцвайдрайченко пишет:
Итого 10 градаций запоминаемой длительности. Но это справедливо для данного примера. Если взять более точный допуск, то количество градаций увеличится.
По градациям, выше я уже говорил (на примере нот). Количество градаций программно можно реализовать хоть 100 или 1000... Ради бога. Вот это уже будет не Морзе. Но сколько пользователь сможет безошибочно воспроизвести сам?
Еще раз повторюсь. Считаю вполне достаточным две градации - точка и тире, или короткая и длинная паузы, если терминология Морзе вас смущает.
Последнее редактирование: 24 мая 2016 05:41 от Soir.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 24 мая 2016 07:01 #23

  • Vakula
  • Vakula аватар
  • на форуме
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 682
  • Спасибо получено: 66
Soir пишет:
как перестукивались через стенку.
Этим мы страдали в школе. Там тире, это двойной стук.
Soir пишет:
если терминология Морзе вас смущает.
Не смущает. Морзе, так морзе
А вот по количествам тире и пауз я что то немного не понял. Их может быть две или 1000. Как понимаю, вопросы были заданы для того, что бы прописать инициализацию. То есть по длительности той или иной функции.
Если пауз 5, то каждая разная по длительности с пределами допуска. Точно так же и тире. Если я сейчас правильно понимаю, то это думаю лишнее. И в том моем понимании именно так и было пауз, как и точек может быть много. Но они по длительности разные. Соответственно, должно быть как то прописано для понимания МК. В противном случае
Soir пишет:
Если в какой-то момент пауза выйдет за все пределы - программа будет считать, что ввод кода завершен.
Последнее редактирование: 24 мая 2016 07:03 от Vakula.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 24 мая 2016 08:26 #24

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 4089
  • Спасибо получено: 1406
Vakula пишет:
Там тире, это двойной стук.
Это не принципиально, как назвать. Поскольку измеряться будет пауза, то логичнее было бы назвать двойной стук точкой.

Vakula пишет:
А вот по количествам тире и пауз я что то немного не понял. Их может быть две или 1000.
Это Вы должны мне сказать. Указать число знаков (знак - это точка или тире). Я это число пропишу в прошивку. Что это за знаки, точки или тире, Вы сами будете вводить при программировании пароля. Мне просто нужно знать длину пароля (количество знаков).

И конечно же, в очередной раз прошу - укажите длительности пауз.
Пример:
Если пауза больше либо равна 0,1 сек и меньше 0,5 сек - это точка.
Если пауза больше либо равна 0,5 сек, но меньше 2,0 сек - это тире.
Если пауза больше либо равна 2 сек - завершение ввода пароля.
Администратор запретил публиковать записи гостям.

Скрытая кнопка (ТЗ) 24 мая 2016 09:04 #25

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • на форуме
  • Модератор
  • Сообщений: 283
  • Спасибо получено: 59
Предлагаю отойти от кода Морзе. Во-первых, датчиком для принятия кода может быть микрофон - значит, теряет смысл понятие продолжительности нажатия. Во-вторых (и это самое важное): размер пауз не обязательно должен быть кратным какому-либо числу, ИМХО он должен быть произвольным. Тогда мы сможем настучать любую мелодию и (важно!) эта мелодия даст мнемоническую возможность хорошо запомнить код.

Ну, это всё на уровне советов, поскольку здесь решает Vakula.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Администратор запретил публиковать записи гостям.
  • Страница:
  • 1
  • 2
  • 3
  • 4
Модераторы: wolf2000, Vakula, Айнцвайдрайченко