domingo, 10 de março de 2013

Review RFID Shield

Introdução:



RFID / NFC Shield é uma interface de comunicação Near Field construida em torno do popular NXP PN532, um circuito integrado de comunicação SPI entre Arduino e Shield NFC. É uma tecnologia de rádio de curta distância que permite a comunicação entre dispositivos que são mantidos bom próximos fisicamente. RFID / NFC tem suas raízes na tecnologia RFID e é uma tecnologia de plataforma aberta padronizados no ECMA-340 e ISO / IEC 18092.


É regulada pelo Near Field Communication, que padroniza a comunicação entre dispositivos NFC compartilhar dados e permitir uma operação segura. NFC desenvolve e certifica a conformidade com os padrões dispositivo. NFC operar em banda ISM de 13,56 MHz de freqüência. Tem alcance de comunicação é de até 10 cm. Mas, esta está limitada pela antena e design de radiação de energia. A maioria dos dispositivos funciona dentro de um intervalo de 10 mm. O modulo com antena antena é projetado para trabalhar dentro de uma faixa de 1cm. O modulo fornece todos os circuitos necessários para o PN532 com cristal de  27.12Mhz, fonte de alimentação. Ele também tem pinos de I/O para fácil acesso.


Sobre o Modulo:



  • Compatível com Arduino e qualquer outro uC.
  • Nenhuma solda necessária.
  • Interface SPI. Com isso maioria dos pinos do uC fica disponível para outras aplicações.
  • Construído em antena PCB.
  • Suporta tanto 3.3V e operação de 5V.
  • Soquete para conectar outros shields.


Ideias para aplicação:

  • Use como um leitor de RFID com Mifare tags (ISO14443-Type A) e cartões (13,56).
  • Construir sistema de compartilhamento de cartão de visita.
  • Construir sistemas de atendimento.
  • Autenticação de sistemas.
  • Leia pôsteres inteligentes.
  • Troca segura de dados de pequeno porte com outros dispositivos NFC
  • E possibilidades infinitas...

Programando:


A biblioteca PN532 para NFC é derivado da biblioteca Adafruits PN532.A original fornece API para leitura ID passivo de Mifare/Tags. Isso é suficiente para o cartão/tag efeitos de identificação.
Observação: os usuários Arduino 1,0 tem que mudar as linhas # include <WProgram.h> para # include <Arduino.h> em PN532.cpp e PN532.h.

#include <PN532.h>
#define SS 10
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  #define MISO 50
  #define MOSI 51
  #define SCK 52
#else
  #define MISO 12
  #define MOSI 11
  #define SCK 13
#endif
PN532 nfc(SCK, MISO, MOSI, SS);
void setup(void) 
{
  Serial.begin(9600);
  nfc.begin();
  uint32_t versiondata = nfc.getFirmwareVersion();
  if (! versiondata) 
{
    Serial.print("Nao encontrei placa PN53x");
    while (1); // para programa
  }
  // placa OK, envia dados
  Serial.print("Encontri chip PN5"); Serial.println((versiondata>>24) & 0xFF, HEX); 
  Serial.print("Versao de Firmware"); Serial.print((versiondata>>16) & 0xFF, DEC); 
  Serial.print('.'); Serial.println((versiondata>>8) & 0xFF, DEC);
  Serial.print("Suporta "); Serial.println(versiondata & 0xFF, HEX);
  // configura placa para ler tags RFID e cartoes
  nfc.SAMConfig();
}
void loop(void) 
{
  uint32_t id;
  // procura por cartoes MiFare
  id = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A);
  if (id != 0)
 {
    Serial.print("Ler Cartao #"); Serial.println(id);
  }
}




Nenhum comentário:

Postar um comentário