Форум программистов, компьютерный форум, киберфорум
Arduino
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 19.07.2017
Сообщений: 6
1

Корявое чтение карты c модуля RC522

02.09.2018, 22:20. Показов 2222. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток суть проблемы заключается в след. попробовал перезаписать свой пропуск на новый более компактный, естественно ничего не вышло т.к. я утюг новичок в этом деле ранее когда использовал скетч данные с карты прекрасно считывались теперь же идет считывание до какого либо блока и выдает ошибку важно уточнить что иногда он читает нормально иногда не читает карту вообще а сразу выдает ошибку т.е. с картами все норм и с риддером думаю тоже, проблема в коде вот только почему до этого карта отлично читалась, и вопрос не по теме может ли данный ридер переписывать карты? знаю что не все карты можно переписать но насчет риддера я не нашел конкретной инфы т.к. некоторые пишут что может а некоторые наоборот, всем кто помог огромное благодарю!
вот сам код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <MFRC522.h>               // Подключаем библиотеку для работы с модулем RC522
 
#define RST_PIN         9          // Пин подключения вывода RST модуля
#define SS_PIN          10         // Пин подключения SDA(SS) вывода модул
 
MFRC522 mfrc522(SS_PIN, RST_PIN);  // Создаем объект для работы с библиотекой MFRC522 и сообщаем ей пины подключения модуля
 
void setup() {
    Serial.begin(9600);                                           // Инициализируем вывод данных на монитор серийного порта
    while (!Serial);                                                // Ждем пока не инициализируется монитор серийного порта
    SPI.begin();                                                      // Инициализируем интерфейс SPI
    mfrc522.PCD_Init();                                           // Инициализируем модуль MFRC522
  mfrc522.PCD_DumpVersionToSerial();                            // Выводим версию прошивки модуля на монитор серийного порта
    Serial.println("Please, place RFID-label over the reader"); // Выводим сообщение о том, что модуль готов к считыванию и ожидает метку
}
 
void loop() {
// Ожидаем метку
    if (!mfrc522.PICC_IsNewCardPresent())       // Если метка не обнаружена, то
        return;                                   //  прерываем исполнение текущей петли (loop)
 
// Пытаемся прочитать метку
    if (!mfrc522.PICC_ReadCardSerial())         // Если не получается считать UID карты, то
        return;                                   //  прерываем исполнение текущей петли (loop)
                                              // в ином случае заполняется структура uid, которая используется в качестве аргумента в следующей строке данного скетча
 
    mfrc522.PICC_DumpToSerial(&(mfrc522.uid));  // Выводим информацию о метке и считанную с нее информацию в монитор серийного порта
}
а так же второй скетч который выдает те же кракозябры:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <deprecated.h>
#include <MFRC522.h>
#include <MFRC522Extended.h>
#include <require_cpp11.h>
 
#define RST_PIN  9  // 
#define SS_PIN  10  //
 
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
 
void setup() {
 Serial.begin(9600);  // Инициализируем монитор последовательного порта
 while (!Serial);  // Ничего не делаем пока он не открыт (для Arduino на чипе ATMEGA32U4)
 SPI.begin();   // Инициализируем SPI шину
 mfrc522.PCD_Init();  // Инициализируем RFID модуль
 ShowReaderDetails(); // Выводим данные о модуле MFRC522
 Serial.println(F("Scan PICC to see UID, type, and data blocks..."));
}
 
void loop() {
 // Ищем новую карту
 if ( ! mfrc522.PICC_IsNewCardPresent()) {
  return;
 }
 
 // Выбираем одну из карт
 if ( ! mfrc522.PICC_ReadCardSerial()) {
  return;
 }
 
 // Выводим данные с карты
 mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}
 
void ShowReaderDetails() {
 // Получаем номер версии модуля
 byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);
 Serial.print(F("MFRC522 Software Version: 0x"));
 Serial.print(v, HEX);
 if (v == 0x91)
  Serial.print(F(" = v1.0"));
 else if (v == 0x92)
  Serial.print(F(" = v2.0"));
 else
  Serial.print(F(" (unknown)"));
 Serial.println("");
 // Когда получаем 0x00 или 0xFF, передача данных нарушена
 if ((v == 0x00) || (v == 0xFF)) {
  Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?"));
 }
}
Миниатюры
Корявое чтение карты c модуля RC522   Корявое чтение карты c модуля RC522  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2018, 22:20
Ответы с готовыми решениями:

Как послать apdu с помощью модуля rc522 на смарт карту?
у кого ни будь есть рабочий пример? в отличии от pn532 где очень удобно реализованна функция...

Проблема с RFID модулем RC522 в Arduino и форматом карты MIFARE Classic 1K
Добрый день! Столкнулся с такой проблемой. К плате Arduino Uno подключен RFID-модуль RC522....

Корявое чтение структуры из файла
Утро доброе. Читаю начало файла в такую структуру: struct Header { int Code; // 0 ...

Чтение и запись SD карты
Народ, хелп! Срочно нужна эта способность! Вот уже сколько колупаю разные библиотеки, в основном...

1
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
03.09.2018, 11:35 2
Цитата Сообщение от ROBBB Посмотреть сообщение
вопрос не по теме может ли данный ридер переписывать карты?
Смотря как обрабатывает карты Ваша система "ограничения доступа"
Если Ваша система работает по ID, то на стандартные карты переписать нельзя, нужно покупать "незаконные" с возможностью записи нулевого сектора где и храниться ID карты.
Если Ваша система индефицирует Вас по данным из одного и более секторов, то что бы создать двойник нужны пароли для чтения и записи этих секторов. Получить пароли можно используя связку Кали линукс плюс устройство ACR122U или подобное. Но тут есть нюанс, пароли Вы получите только если хотя бы один из секторов использует пароль по умолчанию, если Все сектора закрыты, то нужно искать правильную программу взломщик, найти реально, но тут я Вам не помощник.
Обратите внимание данные в закрытых секторах могут быть привязаны к ID карты так, что копировать надо и нулевой.
А если стоит система, типа что сделал я, то все Выше описанные методы не могут сделать копию. Вернее сделать можно, но оператор системы узнает о копии, как только обе карточки в ней засветятся.
0
03.09.2018, 11:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.09.2018, 11:35
Помогаю со студенческими работами здесь

Чтение массива с sd карты
Есть файл с массивами изображений мелких и так как мне их много надо то они в память не лезут....

Корявое отображение в IE
Доброго времени) Делал сайт. Под конец обнаружилось, что в ie8 и более ранних верстка сбивается...

Чтение карты в польском формате (MP).
Доброго времени суток! Есть карта в польском формате (MP) как её можно открыть ну и используя GDI+...

Чтение карты сети уровней L2 и L3
Добрый день! Есть вопрос о чтении карты сети уровней L2 и L3. Есть карта сети уровня L1 (физическое...

Корявое сохранение файла
Когда сохраняю файл, не важно в каком формате, он сохраняет такую ахинею (скрины), не знаю что...

Чтение SD карты через SDIO с DMA
Доброго времени суток. Есть STM32f103 с подключенной по SDIO карточкой. Сейчас читается в обычном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru