Помогите с RFID Mifare RC522 module
- Войдите на сайт для отправки комментариев
Чт, 21/02/2013 - 09:59
Купил такую штуку на ebay. Может программировать/считывать rfid карты
Не могу разобраться с подключением к arduino uno и не нашел никакого внятного объяснения как заставить эту штуку работать. Может кто из форумчан работал с таким устройством. Помогите, а?
RC522 UNO
MISO --> 12
SCK --> 13
SS --> 10
MOSI --> 11
GND --> GND
3.3V --> 3.3V
RST --> RESET
пример кода
http://www.grantgibson.co.uk/blog/2012/04/how-to-get-started-with-the-mifare-mf522-an-and-arduino/
Спасибо, работает
Доброго времени суток, Господа!
Купил тот же комплект, за исключением того, что у меня мега2560, а не уно! Как его запустить?
На меге http://arduino.cc/en/Main/arduinoBoardMega2560
RC522 UNO
MISO --> 50
SCK --> 52
SS --> 53
MOSI --> 51
GND --> GND
3.3V --> 3.3V
RST --> RESET
в место 53 любой пин на задать отдельно нужно
Спасибо!
Запустил считыватель с стандартным скетчем.
Только все коменты на китайском...
Считывает данные с rfid-карты и "кидает" в порт. Только на мониторе порта отображается слишком много разной хрени...
В связи с этим возникли вопросы:
1.Какая инфа записана на карте?
2.Только его номер или еще что-то?
3.Можно ли на нее записать инфу и какого объема?
Пока вопросов хватит!
Я бы для выяснения возможностей записи на карту - почитал бы даташит на брелок или на карточку...
Китайские иероглифы можно попытаться скопировать в буфер и через гугловский переводчик перевести. Только там, вследствие специфики языка, перевод очень образный получается - лучше переводить на английский. :)
Хотя, например, такие вещи:
函 数 名:- переводятся с китайского достаточно однозначно как "Функции".
:)лучше переводить на английский. :)
Это все понятно, но у меня с английским не на много лучше, чем с китайским, от чего и страдаю!
Ну ничего, будем разбираться!
В строке 485 видно упоминание стардарта ISO14443 - можно его погуглить почитать.
Нашел простенький скетч и запустил считыватель на нем:
Только он выводит не тот код, что на самом ключе, т.е. на ключе код 1991660461, а выводит 173 , 83 , 182 , 118 , 62
на(для МЕГА):
Так, вроде разобрался!
Карта выводит последовательность: 173 , 83 , 182 , 118 , 62, пишем его в обратном порядке :62, 118, 182, 83, 173. Убираем первое число, (почему?, пока не разобрался) и остальные переводим в НЕХ и получаем: 76, B6, 53, AD. Соединяем: 76B653AD, инвертируем в DEC и получаем номер карты: 1991660461.
Результаты получены методом ТЫКА!
Можно ли как-то увеличить дальность действия считывателя RFID? Сейчас считывает на расстоянии около 3см, а надо около 15см.
Можно ли как-то увеличить дальность действия считывателя RFID? Сейчас считывает на расстоянии около 3см, а надо около 15см.
Использовать другой приемник http://www.ebay.com/itm/Integrated-mid-distance-UHF-RFID-reader-Ethernet-1-6M-ISO18000-6C-6B-EPC-Gen2-/110934066112?pt=US_Cordless_Telephones_Handsets&hash=item19d42f83c0
А он будет читать мои метки? Что-то я не нашел в описании частоту 13.56...
Да, сори, другой диапазон. Посмотри вот этот http://russian.alibaba.com/product-gs/13-56khz-handheld-mifare-reader-rfid-card-reader-debit-bts-01dm-747090914.html но это похоже критическое растояние для этого диапазона.
чтение из com порта:
http://strokescribe.com/ru/read-serial-port-excel-2007.html
нарыл в нэте вот такую штуку: http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=110918399199 написано, что с ней считывает на расстоянии 10 см.
Может кто сталкивался с подобным? Как его подключать к ардуино? На нем кроме как кондеров ничего нету.
Как его подключать к ардуино? На нем кроме как кондеров ничего нету.
Не к ардуино, а к радио-модулю вместо штатной маленькой антенны. Написано же "внешняя антенна".
А если у MF522 обрезать его родную антену и подпоять эту...?
А если у MF522 обрезать его родную антену и подпоять эту...?
Это _если_ ее не надо согласовывать... Тут надо теорию у радиолюбителей читать: что там с рабочими частотами и согласованием мощности антенны и передатчика...
Тима, подскажи пожалуйста, у тебя считыватель нормально метку (та которая как брелок) читает? Недавно купил себе точно такой же набор, карту читает, а вот "брелок" не хотит. :(
Может у брелка другой протокол, отличный от ISO14443?
Имею тоже такой считыватель - пишу библиотеку из того скетча на китайском, попутно переводя и разбираясь...
Получил сегодня такой же считыватель, интересует возможность перезаписи идущих в комплекте меток, так же так и не понял, как привести номер метки из hex в нормальный вид.
так попроробуйте, может компилятор вас поймет...
http://www.youtube.com/watch?v=RcyJBB4pdvk
http://www.youtube.com/watch?v=6j1auss1-kA
ссылка в тему http://muforum.info/forums/index.php?showtopic=1975
чтобы перевести 4 байта которые представляют собой десятичное число которое печатают на картах. 5 байт это контрольная сумма.
Спс за ссылки, но про возможность перезаписи я что то так и не въехал...
http://www.adafruit.com/datasheets/S50.pdf
Я тоже курю мануалы по карточкам ...
Купил такую штуку на ebay. Может программировать/считывать rfid карты
Serial 13.56MHZ RFID Reader/Writer Module Kits - Arduino Compatible, w/ Software
вставил этот код
подключил
RC522 UNO
VCC --> +5v
TXD --> pin2
RXD --> pin3
GND --> GND
в терменале определяет карту как: 09 G5 T5 87
а нужно чтоб определяло как: 1991660461
Заранее благодарен професионалам!
Вообщем что то замотался, а профита нет, гляньте код скетча, там по задумке часы вместе с RFID, а так же подключен буззер, код конечно унылый, я в этом не силен, но проблема именно в выводе информации на дисплей в десятеричном формате, сейчас выводится аж 14 цифр, а как добиться нормального вывода, который обычно пишется на карте (у меня кстате на карте из комплекта кода на карте нет) что то никак не въеду.
Хочу до кучи еще датчик температуры прикрутить и по кнопке на LCD шилде выводить на дисплей температуру, с этим то проблем не будет, все дело тормозит этот унылый вывод кода карты.
Ещё не очень удобно тем, что в первоначальном виде скетча была проблема, приложив одну карту код считывает, а вот на вторую не реагирует, подозреваю, что можно сделать по другому, но я прописал сброс после получения данных о карте, что бы нормально читалась следущая.
Вообщем буду примного благодарен, если кто подкинет решение по выводу номера карты в десятеричном формате, а то дело на этом встало.=(
Вобщем такой вот скетчик я делаю - там есть десятичный номер.
Чтение и запись толком не работает - после Auth работает и чтение и запись, но не выходит из операций с картой по Halt - хз в чем косяк. Не могу найти толклвый манул как работать с этими картами ...
Библиотека тут
Neiro, какие то комментарии к коду в библе не здоровые, я так и не понял, этот код для дублирования карточек или как?
Не компилится у меня с этой библой, она под какую версию?
У меня 1.0.5...
Не могу найти толклвый манул как работать с этими картами ...
http://www.rfidchip.info/comments.php?id=7&type=Note
http://mifare.livejournal.com/15051.html
http://www.neftocard.ru/articles/mifare/index.php
- тут не смотрели?
Neiro, какие то комментарии к коду в библе не здоровые, я так и не понял, этот код для дублирования карточек или как?
Этим кодом можно дублировать карточки с незаблокированнным на запись 0 блоком(что встречается редко). По сути это переделанный в библиотеку тот самый скетч на китайском.
У меня 1.0.5...
Библиотека под 1.0.5 зависит тока от SPI. Так как версия "живая" а яндекс диск ее постоянно синхрит то временами может не работать. Я только что проверил тест - компилится.
тут не смотрели?
да посмотрел - косой перевод мануала. Вобщем нужен мануал где были бы побайтно расписаны процедуры авторизации установки сектора - а то не доверяю я этим китайцам. Удается и записывать и считывать сектора. ключи по умочанию это 6 байт 0xFF. Вот только карта или контроллер не выходят из крипто режима.
Извиняюсь что долго не отвечал, Нэта небыло!
Брелоки тоже чтает нормально. Может на нем частота 125 кГц...?
Куда-то все пропали... :( Или у всех всё заработало?
Так, вроде разобрался!
Карта выводит последовательность: 173 , 83 , 182 , 118 , 62, пишем его в обратном порядке :62, 118, 182, 83, 173. Убираем первое число, (почему?, пока не разобрался) и остальные переводим в НЕХ и получаем: 76, B6, 53, AD. Соединяем: 76B653AD, инвертируем в DEC и получаем номер карты: 1991660461.
Результаты получены методом ТЫКА!
Угу.... 62 -CRC ну и ID читается задом наперед...... так что алгоритм правильный. Для четкости можно посчитать CRC принятого и сравнить с 62 если true - считали правильно....
Ну а вообще, учите матчасть.... не вредно изучить даташит на EM4095
Понравилась эта библиотека - https://github.com/miguelbalboa/rfid
Карты метро читает влет, на пустую карту Mifare 1K пишет.
Да работает - тока после моих экспериментов с предыдущими либами 2 карты не читаются и не пишутся - я им похоже 0 сектор затер. ))) так что акуратнее
4ishops, каким образом с помощью этой библы записывать, я что то не пойму, сначала карту с данными надо считывать, а потом пустую прислонять или как?
И какие карты можно записывать? Насколько я понимаю, карта которая идет в комплекте (фото в первом посте) неперезаписывается?
Серийный номер у болшинства карт Mifare S50 не перезаписывается потому что так положено по стандарту. У карты есть память 1к разделенная на 15 секторов - сектора групируются по 4 блока - при этом в каждом 4 блоке хранятрся пароли для доступа к этой группе блоков. В проездных обычно используются первая и вторая группы потому что в первой группе доступно только 2 блока - в 0 блоке хранится серийник.
Вобщем записывать можно даже дествующие проездные метро - на свободное место и они при этом продолжат работать. В комплекте идут два чипа Mifare S50 полностью свободные с паролями поумочанию. Вобщем пока я игрался - толи сменил все пароли толи инфу в 0 секторе - карта перестала писаться и читаться по всем секторам. Взял карты из другово комплекта - прекрасно работают.
Теперь думаю откуда взять ключ для проездных...
4ishops, каким образом с помощью этой библы записывать, я что то не пойму, сначала карту с данными надо считывать, а потом пустую прислонять или как?
В примерах к библиотеке есть скетч Read&Write, поглядите детали в нем.
Теперь думаю откуда взять ключ для проездных...
Выше уже была ссылка на ЖЖ про клонирование Mifare карт, вся необходимая инфа для извлечения ключа там есть.
BTW на всех проездных на основе Mifare Classic используется один и тот же ключ, в этом их проблема и причина миграции на Mifare Plus (Тройка) и Ultralight (обычные карты на XX поездок).
Подскажите чем такую карту прочитать? Вышеуказанный RC522 её не берет... :(
Подскажите чем такую карту прочитать? Вышеуказанный RC522 её не берет... :(
Это скорее всего HID, там другая частота.
http://www.hidglobal.com/products/cards-and-credentials/hid-proximity
RFC522 совместим с картами стандарта http://ru.wikipedia.org/wiki/ISO/IEC_14443
Вот эта читать будет?
http://www.ebay.com/itm/2X-125K-RFID-rdm6300-ID-RF-UART-for-Arduino-Open-Source-Reset-Button-D13-LED-5cm-/301036583316
Подскажите чем такую карту прочитать? Вышеуказанный RC522 её не берет... :(
EmMarine карты этот модуль "не берет".
Я бы посмотрел что-то по ключевым словам proximity card reader - получится ощутимо дешевле $23.
Расскажите пожалуйста про запись , ковырял примеры , последний чтение-запись вообще не работает...
Первые два примера карты читают.
Расскажите пожалуйста про запись , ковырял примеры , последний чтение-запись вообще не работает...
Первые два примера карты читают.
Запись в сектора карты как в примере к библитеке, работает влет на пустой карте Mifare Classic 1K.
В скетче довольно подробно разжевано что он делает, что именно вам непонятно?
Спецификацию на сами карты Mifare вы смотрели? как читать/писать на них?
4ishops, спасибо за ответ.
Дело в том что пример чтение-запись не работает у меня , все остальные работают..
Открываю монитор порта подношу карту, ноль эмоций-светодиод на 13 пине не мигает, данные в порт не приходят никакие..
что он делать то должен? :)
вот пример не рабочий
Если просто чтение работает, а запись нет, то видимо дело в самой карте Mifare.
Что за карту используете? белую чистую из набора?
PS скетч Read&Write из примеров к библиотеке 100% рабочий, нет необходимости копипастить его еще раз тут