Перейти к содержанию
    

Сгенерировать случайное число

Хотел успокоится на внешней проге с самого начала. Но потом прикинул, что это мне ее писать...

И что-то расхотелось. Заказчик лишней работы не оплатит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Адрес генерируется раз в жизни. И пишется во флэшку.

 

значит я не угадал применения

1 раз ломать дверь машины пришлось - разбивать стекло (((

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
... Радиокнопка, говорите ? Т.е. кнопка уже есть ? Ну так от включения и до первого нажатия на кнопку можно медленно и печально, не особо расходуя питание, крутить какой-нибудь таймер. И по нажатию на кнопку сохранить полученный результат, который и будет требуемым "случайным числом". Или я чего-то в логике работы недопонял ?

Вот это, с моей точки зрения, наиболее правильное решение! Кстати, не раз мною использованное...

В качестве источника случайного числа нужно использовать действия пользователя, а точнее - временной интервал между двумя любыми его действиями. В качестве старта логично использовать первое включение питания (подсоединение батареи). Далее - запускается 8 или 16 разрядный таймер, который останавливается (фиксируется) при обнаружении второго действия пользователя. Полученное значение записывается в EEPROM...

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ключем?

 

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

 

к тому-же личинки ключей - возможность открыть ножницами

их при установке актуаторов часто отключают

 

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

 

тода зачем вообще делать возможность пользователю "искать случайное число"

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

 

вот на этом этапе и надо присвоить номер - 1 раз и навсегда

 

на плате предусмотреть поле для корочения - ту самую кнопку

можно поставить даже скрытую кнопку (нажимать булавкой) и сделать это фичей

 

подключили плату к источнику - нажали кнопочку - состояние таймера записалось во флеш

проверили надели корпус и положили на склад.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
... тода зачем вообще делать возможность пользователю "искать случайное число"

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

на плате предусмотреть поле для корочения - ту самую кнопку

можно поставить даже скрытую кнопку (нажимать булавкой) и сделать это фичей

подключили плату к источнику - нажали кнопочку - состояние таймера записалось во флеш

проверили надели корпус и положили на склад.

Примерно так это и делается. :)

Но, более правильно, все-таки, оставить возможность для повторной генерации номера в виде спецфункции. Так как возможно случайное совпадение номеров устройств, "сброс" EEPROM и т.п...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Примерно так это и делается. :)

Но, более правильно, все-таки, оставить возможность для повторной генерации номера в виде спецфункции. Так как возможно случайное совпадение номеров устройств, "сброс" EEPROM и т.п...

 

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

 

по её нажатию и искать новое число и переписывать еепром

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, дополнительные пару долларов себестоимости, это как раз то, что нужно для радиобрелка! :)

 

Изобретение доморощенных средств на коленке может стать ещё дороже. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изобретение доморощенных средств на коленке может стать ещё дороже. :)

 

в радиобрелках самая дорогая вещь сертифика кодировки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
я про это и говорю - кнопочка поиска нового случ числа должна быть недоступна для случайного обиходного нажатия - типа ресета в ноуте.

Лишняя кнопочка в брелке (которая используется раз год) - IMHO, роскошь. :) Конечно можно, контактные площадки замыкать, но тогда нужно разрешать пользователю вскрывать устройство. Что не есть хорошо...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если есть несколько кнопок, то действительно, зачем огород городить?

Даже если кнопка одна, написать в юзергайдере "для присвоения номера надо зажать кнопку, вставить батарейки, в течении 5 секунд нажать на кнопку 3 раза, и в течении еще 10 секунд не нажимать ее". Или любую другую морзянку ;)

Это гарантирует и защиту от случайной смены адреса, и дает сразу кучу временных интервалов (7), на основании которых можно что-то сгенерировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это гарантирует и защиту от случайной смены адреса, и дает сразу кучу временных интервалов (7), на основании которых можно что-то сгенерировать.

 

для сертификации такого прибора заставят положить в комплект к нему секундомер.!

 

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

 

стоимость брелка примерно 200 рублей себестоимость 50-100 - стоимость кнопки рубль

да в россии все хотят сверхприбыли

 

если разобрать брелок хорошего квартирного замка - кнопка сброс там есть.

 

Лишняя кнопочка в брелке (которая используется раз год) -

 

не лишняя - а сервисная за эту возможность можно и денег взять

 

кстати если алгоритм кодировки нормальный, то даже 2 одинаковых брелка, находясь на разных точках ПСП кодировки не будут друг другу мешать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
... при плохом контакте в кнопках отсыревшего брелка с ним будет всё что угодно.

... кнопочка "сброс" тоже может случайно замкнуть от сырости, или, например, от вибрации (при падении брелка)... поэтому, что надежнее - на самом деле довольно спорный вопрос...

 

... не лишняя - а сервисная за эту возможность можно и денег взять

Взять, конечно, можно, если дадут... Иногда между ценой 200р и 199р есть весьма существенная разница. Впрочем, это уже не по теме...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А радиокнопка передаёт какую-то информацию (последовательнсть байт)? Умеет ли она принимать данные? Если ответы на эти вопросы положительные, то смею предложить следующий алгоритм:

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это устройство умеет только передавать. И никаких ПСП. Строго пакет соот. протоколу. Почти ЧМ.

Лишних кнопок и выводов нет. Вообще. Кнопки могут находится в любом состоянии. Никаких индикаторов нет. 99% времени кнопка спит как убитая и вовсю экономит электричество.

 

Уже многочисленные эксперименты с памятью - около 200 раз - НИ РАЗУ не дали совпадающих чисел (16 разрядов).

 

Хуже того. Попробовал это на другом Пике (было под рукой устройство.). Эффект тот же. Там правда, недолго пробовал. Пару раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...