Технология радиочастотной идентификации RFID - ФОРУМ ДВ Робот dvrobot.ru
Пятница, 15.12.2017, 08:51
Главная Мой профиль Регистрация Выход
  • НАШ МАГАЗИН
  • Вы вошли как Гость | Группа "Гости"Приветствую Вас, Гость
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    Страница 1 из 11
    Модератор форума: GRACH, Serg 
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Библиотека Проектов » Технология радиочастотной идентификации RFID (пробуем использовать модуль чтения и записи IC карт)
    Технология радиочастотной идентификации RFID
    SergДата: Пятница, 01.02.2013, 21:18 | Сообщение # 1
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    Испытаем вот такой модуль

    Купить его  можно здесь.
    Набор состоит из:
    1. Метки-транспондера – устройства, способного хранить и передавать данные. В памяти меток (а их 3 в комплекте) содержится их уникальный идентификационный код.
    2. Считывателя-платы, которая с помощью антенн ( в виде печатных дорожек)  получает информацию из меток, а также записывает в них данные
    Антенны используются для наведения электромагнитного поля и получения информации от меток, попавших в это поле.
    Радиус действия метки-около 5 сантиметров.
    Потенциал применения этого RFID модуля огромен. Самый простой пример-всем известный домофон.
    Ниже приведен простой пример получения уникального кода в виде 4 байт HEX сода от метки-трансподера с помощью модуля чтения и записи.
    Каждая такая метка с момента рождения на заводе изготовителя имеет свой уникальный код.
    Пропиcав этот код в памяти Arduino  и подключив электромагнитный замок мы можем сделать  беспроводной электронный замок с технологией RFID!!!!
    Для освобождения физического  порта UART используем программный UART . Физический UART нам еще пригодится для обмена с другими устройствами
    Также модуль имеет в наличии SPI интерфейс.

    Код
    #include <SoftwareSerial.h> //подключаем библиотеку программного UART
    SoftwareSerial mySerial(2, 3); // назначаем выводы

    int CMD[64];
    int comlen =0;
    int out_flag =0;

    void setup()    
    {    
         Serial.begin(9600);//устанавливает скорость UART
         mySerial.listen();
         Serial.println("Serial number = \n");    
         // отображение серийного номера  метки    
         mySerial.begin(9600);    
         delay(10);
         mySerial.write(0x02); //команда автоматического чтения серийного номера метки
    }    
    void loop()
    {    

         while (Serial.available())    
         {
           int a = SerialReadHexDigit();
           if(a>=0){
             CMD [comlen]= a;
             comlen++;
           }
           delay(10);
         }

         for(int i=0; i<comlen; i+=2){
           int c = mySerial.write( CMD[i]*16 + CMD[i+1]);
         }
         comlen =0;

         while (mySerial.available()) {
           byte C = mySerial.read();
           if (C<16) Serial.print("0");
           Serial.print(C ,HEX); //Показываем серийный номер в HEX    
           Serial.print(" ");//выводим в терминал
           out_flag =1;
         }
         if (out_flag >0) {
           Serial.println();
           out_flag = 0;
         }

    }

    int SerialReadHexDigit()
    {
         byte c = (byte) Serial.read();
         if (c >= '0' && c <= '9') {
           return c - '0';
         }    
         else if (c >= 'a' && c <= 'f') {
           return c - 'a' + 10;
         }    
         else if (c >= 'A' && c <= 'F') {
           return c - 'A' + 10;
         }    
         else {
           return -1;   // выводится ошибка, если код не прочитан
         }
    }
     Инструкцию к модулю можно скачать здесь
    Прикрепления: 2108949.jpg(63Kb) · 13.56MHZ_RFID_M.pdf(986Kb)
     
    GRACHДата: Вторник, 05.02.2013, 22:58 | Сообщение # 2
    dvrobot.ru
    Группа: Администраторы
    Сообщений: 111
    Репутация: 16181
    Статус: Offline
    Serg, Спасибо!
    Хороший материал!!!
     
    Trooper_OKДата: Понедельник, 25.01.2016, 21:44 | Сообщение # 3
    5 Вольт
    Группа: Пользователи
    Сообщений: 52
    Репутация: 20
    Статус: Offline
    А с помощью него можно дубликаты ключей для домофонов тех же делать ?
    Т.Е считать имеющийся и прописать на болванки


    Сообщение отредактировал Trooper_OK - Понедельник, 25.01.2016, 21:45
     
    SergДата: Вторник, 26.01.2016, 21:13 | Сообщение # 4
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    да
     
    Trooper_OKДата: Среда, 27.01.2016, 07:38 | Сообщение # 5
    5 Вольт
    Группа: Пользователи
    Сообщений: 52
    Репутация: 20
    Статус: Offline
    А сами болванки продаются,или  www.dvrobot.ru/237/1064.html такие пойдут ?
     
    SergДата: Среда, 27.01.2016, 12:10 | Сообщение # 6
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    да
     
    Trooper_OKДата: Пятница, 11.03.2016, 00:14 | Сообщение # 7
    5 Вольт
    Группа: Пользователи
    Сообщений: 52
    Репутация: 20
    Статус: Offline
    В общем приобрел я этот модуль, и выяснилось следущее- поддерживает данное устройство только формат MIFARE с картами работающими на частоте 13,56 МГц. Домофоны Cyfral,Vizit,Метаком... используют стандарт EM-Marin на частоте 125kHz.... так что в первоначальной задаче клонирования ключей применить данное устройство неполучится.....
     
    Trooper_OKДата: Пятница, 11.03.2016, 00:16 | Сообщение # 8
    5 Вольт
    Группа: Пользователи
    Сообщений: 52
    Репутация: 20
    Статус: Offline
    скетч для просмотра и снятия дампа памяти карт-ключей (кстати карточки с кинотеатра Хабаровск и НК-Альянс тоже считываются)
    Подключать придеться по полнопроводной схеме SPI. Карту во время считывания держать пока не считатются все блоки !!!!

    Код
    /*
    * --------------------------------------------------------------------------------------------------------------------
    * Example sketch/program showing how to read data from a PICC to serial.
    * --------------------------------------------------------------------------------------------------------------------
    * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid
    *
    * Example sketch/program showing how to read data from a PICC (that is: a RFID Tag or Card) using a MFRC522 based RFID
    * Reader on the Arduino SPI interface.
    *
    * When the Arduino and the MFRC522 module are connected (see the pin layout below), load this sketch into Arduino IDE
    * then verify/compile and upload it. To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). When
    * you present a PICC (that is: a RFID Tag or Card) at reading distance of the MFRC522 Reader/PCD, the serial output
    * will show the ID/UID, type and any data blocks it can read. Note: you may see "Timeout in communication" messages
    * when removing the PICC from reading distance too early.
    *
    * If your reader supports it, this sketch/program will read all the PICCs presented (that is: multiple tag reading).
    * So if you stack two or more PICCs on top of each other and present them to the reader, it will first output all
    * details of the first and then the next PICC. Note that this may take some time as all data blocks are dumped, so
    * keep the PICCs at reading distance until complete.
    *
    * @license Released into the public domain.
    *
    * Typical pin layout used:
    * -----------------------------------------------------------------------------------------
    *             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
    *             Reader/PCD   Uno           Mega      Nano v3    Leonardo/Micro   Pro Micro
    * Signal      Pin          Pin           Pin       Pin        Pin              Pin
    * -----------------------------------------------------------------------------------------
    * RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST
    * SPI SS      SDA(SS)      10            53        D10        10               10
    * SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16
    * SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14
    * SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15
    */

    #include <SPI.h>
    #include <MFRC522.h>

    #define RST_PIN         9          // Configurable, see typical pin layout above
    #define SS_PIN          10         // Configurable, see typical pin layout above

    MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance

    void setup() {
    Serial.begin(9600); // Initialize serial communications with the PC
    while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
    SPI.begin(); // Init SPI bus
    mfrc522.PCD_Init(); // Init MFRC522
    mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details
    Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));
    }

    void loop() {
    // Look for new cards
    if ( ! mfrc522.PICC_IsNewCardPresent()) {
    return;
    }

    // Select one of the cards
    if ( ! mfrc522.PICC_ReadCardSerial()) {
    return;
    }

    // Dump debug info about the card; PICC_HaltA() is automatically called
    mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
    }


    Сообщение отредактировал Trooper_OK - Пятница, 11.03.2016, 00:18
     
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Библиотека Проектов » Технология радиочастотной идентификации RFID (пробуем использовать модуль чтения и записи IC карт)
    Страница 1 из 11
    Поиск:

    ДВ Робот - Чат