Официальный сайт компании Arduino по адресу arduino.cc
OneWire запись в ibutton
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Чт, 05/04/2012 - 10:13
Появилась необходимость сделать дубликатор ключей ibutton. В интернете нашел много примеров чтения, но не одного с записью. Вот пример чтения:
#include <OneWire.h> /* * тестируем работу по 1-Wire с ключём-таблеткой DS1990A */ OneWire ds(10); // на digital pin 10 void setup(void) { Serial.begin(9600); } void loop(void) { byte i; byte present = 0; byte data[12]; byte addr[8]; if ( !ds.search(addr)) { Serial.print("No more addresses.\n"); ds.reset_search(); return; } Serial.print("R="); for( i = 0; i < 8; i++) { Serial.print(addr[i], HEX); Serial.print(" "); } if ( OneWire::crc8( addr, 7) != addr[7]) { Serial.print("CRC is not valid!\n"); return; } if ( addr[0] != 0x01) { Serial.print("Device is not a DS1990A family device.\n"); return; } Serial.println(); ds.reset(); delay(1000); }
Как я понимаю запись необходимо делать так:
ds.select(addr);//addr получили в предыдущем коде ds.read(a,8); //читаем 8 байт всю информацию с ключа //поменяли ключ узнали его адрес и пишем ds.write(a,8); //пишем 8 байт с ключа донора
Подскажите прав ли я или так не получится.
Хм... DS1990 ReadOnly!!!!! писать в него не получится.....
Пишется в DS1996 но, серийный номер у него свой и по команде 0x33H он отдаст именно его. Читайте протокол 1-Wire и datasheet-ы....
Пишется на другие микросхемы.
Подскажите пожалуйста, как у вас вообще этот код компилируется? На какой платформе вы его компилируете? Какой версией ПО? Простите за офф.топ, но я вообще не могу скомпилировать ни одну программу с OneWire...
arduino.ru/forum/programmirovanie/1-wire-i-arduino-oshibka-kompilyatsii
Запись можно сделать только в пустую заготовку, в продаже они есть.
Для записи кода в заготовку требуются импульсы с напряжением 9...12 вольт в зависимости от типа заготовки, следовательно одной ардуино вы не получите результатов, нужны апаратные доработки.
Апну тему. Есть мега 1260, есть ключи RW1990. Их можно будет писать ардуиной? Если кто делал, поделитесь инфой.
В инете есть инфа о протоколе записи, реализации на ардуино найти не могу. Если удалось записать в RW1990, то прошу поделиться.
у меня тоже почемуто не получается записать на болванку. в наличие есть десяток разных ключей(и болванки и с заводском номером на пяточке). два дня мучался и разобрал макетку. укого нибудь получилось?
Какой ibutton вы используете?
Как ранее писали, DS1990 ReadOnly.
он тоже есть в наличие. кроме того есть болванки с рынка, пустые без всяких надписей на корпусе-они точно должны писаться. скетч брал у дмитрия осипова. сейчас попробую еще раз(может поиграть значением подтягивающего резистора
ключи рабочие- всех прописал на свою панеть домофона--открывают
http://www.youtube.com/watch?v=EB8YfLyd2Oc
Попробовал сейчас скетч с этого ролика( надеюсь получилось вставить ссылу-делаю впервые)
библиотеку тоже его поставил, аналогично безрезультатно. только зря дуинку испортил, поспешил(покупал специально для бретборда и выводы по старинке не стой староны припаял--раньше пользовался только перемычками и подписи ножек соответственно были со стороны перемычек)
Читать получается? Если купили на рынке, далеко не факт что вам продали таблетки с возможностью записи. Что значит не получается записать? Как выпроверяете что запись осуществилась? Даже если вы с можете клонировать другую, в любой таблетке остается область которая readonly. Вообщем чтобы мы смогли вам помочь, постарайтесь максимально детализировать проблему.
читать получается. купил на рынке(у ключников)---ну у них же получается записывать код.
скетчем от дмитрия осипова получается считывать коды всех ключей, плюс я имею доступ к своему домофону( ну как знаете домофон не перекодирует ключи на свой код а только запоминает их, и в режиме кодировке тоже видны коды ключей, правда их часть- или начало или конец) и все ключи прописаны в мой домофон, все открывают
ранее было написано, пост номер 7, DS1990 READONLLY. У мнея ds1990 на ключах написано, а вот readonly нет, просто набор цифр и букв(может код, не сравнивал)
а вот на примере (ссылку на видео я выкладывал) у него если просто приложить ключь , то он показывает код ключа в мониторе порта, а у меня не показывает. далее я собрал макетку со скетчем от дмитрия осипова , считал код, обратно закинул скетч от автора видео , которую я приложил. поместил код ключа в скетч, залил, нажал как он показа W(даже пробовал маленькую w). безрезультатов.
я еще нашел информацию, про то что есть копировальщики, которые финализируют ключи( те на них больше нельзя код поменять)--итог мнея что поимели продавци ключей, впарили такие ключи(правда зачем им хранить неправильно закодированные ключи)
в посте номер три написано, что записываются при наприжении 9-12, впервые слышу, может правда?
написал много, но реально, мне уже самому стало интересно, почему так все плохо. система он вайр для первого класа, + - и сигнал, еще пару дней и нах
кстати, напшите пожалуйста у кого получилось, на какой дуинке( может у меня пины не соответствуют требованию, нет шима или еще чего) и скетч какой --- просто у меня уже было такое, инфракрасник не правильно работал, нужно было просто на другую ножку назначить
http://www.youtube.com/watch?v=EB8YfLyd2Oc
Попробовал сейчас скетч с этого ролика( надеюсь получилось вставить ссылу-делаю впервые)
библиотеку тоже его поставил, аналогично безрезультатно. только зря дуинку испортил, поспешил(покупал специально для бретборда и выводы по старинке не стой староны припаял--раньше пользовался только перемычками и подписи ножек соответственно были со стороны перемычек)
Заказал как раз с ссылки под тем роликом ключи вчера, примерно через месяц как придут, отпишусь
Вобщем с того ролика всё нормально работает. Только резистор надо 220 Ом и напряжение 5 вольт.
ни скетч с ролика, не тот откуда он это списал не работают. надо править функцию записи, она специально для этого сделана :-)
править в соответствии с даташитом на ключик. 20 минут копался на выходных, даже ключ один убил, но получилось.
Подскажите пожалуйста, как у вас вообще этот код компилируется? На какой платформе вы его компилируете? Какой версией ПО? Простите за офф.топ, но я вообще не могу скомпилировать ни одну программу с OneWire...
arduino.ru/forum/programmirovanie/1-wire-i-arduino-oshibka-kompilyatsii
проверьте откуда ноги растут
http://aterlux.ru/index.php?page=article&art=1wire
во всех примерах код ключа задается с помощью изменений в коде, а если задать переменную, что бы сделать копировальщик ,я не нашел. хотя на аттини их полно
getchip.ru
Послушай, уважаемый. Вот сколько постов видел тут, ты просто нахрен одолел. Такой весь всемогущий. А ответы твои просто великолепной...тупости. Ты либо укажи людям, что исправить, либо молчи сиди. Или больше похвастаться негде? дешевой интернет-славы ищешь? умник херов. выбесил реально
У меня уже впечатление сложилось, что нихрена ты не смог ниче никуда записать. Потому что сколько видел твоих комментов классных, нигде четкого пояснения нет. Абстрактные "посмотри там, проверь откуда ноги растут(вообще универсальный ответ)" - заставляет задуматься, что слова твои пустые и ничего ты не смог. Вот и все
Посмотри мой пост, у меня получается запись, если что спрашивай, отвечу
http://arduino.ru/forum/programmirovanie/onewire-zapis-v-ibutton#comment...
Посмотри мой пост, у меня получается запись, если что спрашивай, отвечу
http://arduino.ru/forum/programmirovanie/onewire-zapis-v-ibutton#comment...
MaximZ
помогите. Что я не так делаю?
Уже перепробовал десяток разных скриптов.
Процедура записи вроде бы везде одна и та же.
В чем хитрость? почему эти китайские ключи не пишутся?
http://arduino.ru/forum/apparatnye-voprosy/pomogite-s-ibutton
Здесь мои попытки и описание ключей которые я заказал.
Подниму тему. Подскажите, пожалуйста, по поводу программирования ключей. У меня накопилась горсть, из них большую часть удалось прошить с библиотекой OneWire.h, и раздать нуждающимся, но попались несколько без опознавательных знаков, один из них при чтении ds.read(); выдает случайные цифры, даже без запроса 0x33, второй всегда 0000.
Почитал что существует несколько типов ключей, помимо DS/RW1990A, еще как минимум DC2000А и К1233КТ2. Они очевидно читаются и записываются иначе, но как я понимаю тоже по 1wire? Возможно для чтения нужно не 0x33, а что то другое? Очень интересно, может кто нибудь знает как опознать что это за ключи и прочитать?
Upd: Тот ключ что постоянно вываливат случайные цифры видимо и есть DC2000А - К1233КТ2 или ТМ-01 их перезаписываемый аналог, они именно так и работают, непрерывна вываливая записанный код. Ну а читается он у меня не верно. Отсюда вопрос как его верно прочитать, и если это перезаписываемая болванка то и записать. На Arduino таких решений не видел. Ну и непонятным остается тот что выдает 000.
http://www.155la3.ru/datafiles/1233kt1.pdf
http://www.sitsemi.ru/kat/1233kt2.pdf
Вообще интесно было бы организовать на Arduino легко повторяемый прогромматор, тут много информации, но она мне не по зубам http://kazus.ru/forums/showthread.php?t=67407
Вообще интесно было бы организовать на Arduino легко повторяемый прогромматор, тут много информации, но она мне не по зубам http://kazus.ru/forums/showthread.php?t=67407
для болванок RW1900 скетчей в инете много, собрать программатор не проблема. Это когда-то была первая схема, собранная мной на ардуине. До сих пор работает - прошиваю ключики соседям по ТСЖ :)
Для других форматов надо искать информацию по прошивке. И иметь соответствующие болванки для тестов.
Дак для RW1900 и вопросов нет, примеров полно, и у меня все отлично получилось, заинтересовали другие форматы, но с ними похоже глухо..