Avançar para o conteúdo principal

Raspberry Pi e RFID RC522




Boa noite,

Já lá vai algum tempo que adquiri um Leitor RFID RC522 para testar esta tecnologia que me deixa cheio de ideias, no entanto devido à Escola, Exames e Trabalho ficou de parte até hoje :).

Finalidade do Projecto!!

Criar um Leitor que possa ler dispositivos RFID sejam estes cartões ou porta chaves.

Curiosidade:
Identificação por radiofrequência ou RFID (do inglês "Radio-Frequency IDentification" ) é um método de identificação automática através de sinais de rádio, recuperando e armazenando dados remotamente através de dispositivos denominados etiquetas RFID.


Uma etiqueta ou tag RFID é um transponder, pequeno objeto que pode ser colocado em uma pessoa, animal, equipamento, embalagem ou produto, dentre outros. Contém chips de silício e antenas que lhe permite responder aos sinais de rádio enviados por uma base transmissora. Além das etiquetas passivas, que respondem ao sinal enviado pela base transmissora, existem ainda as etiquetas semipassivas e as ativas, dotadas de bateria, que lhes permite enviar o próprio sinal. São bem mais caras que do que as etiquetas passivas.
RFID: utiliza transponders ( os quais podem ser apenas lidos ou lidos e escritos) nos produtos, como uma alternativa aos códigos de barras, de modo a permitir a identificação do produto de alguma distância do scanner ou independente, fora de posicionamento. Tecnologia que viabiliza a comunicação de dados através de etiquetas com chips ou transponders que transmitem a informação a partir da passagem por um campo de indução. (ex: muito usado em pedágio "sem parar").
fonte: http://pt.wikipedia.org/wiki/Identificação_por_radiofrequência

Agora que já sabemos o que é esta tecnologia vamos por mãos à obra e criar o nosso leitor de RFID

Material necessário





Raspberry PI 
Pode ser adquirido em http://inmotion.pt/store/






KIT RFID 13.56MHz RC522




















Pode ser adquirido por apenas 5.90€ em
http://tugenios.com




Cabos F-F para Breadboard













Pode ser adquirido  em http://tugenios.com por apenas 2.98€

Tendo já tudo o que é necessário vamos começar a configuração.
Se já pesquisaram um pouco sobre o assunto na WEB vão verificar que existem dezenas de formas de fazer algo do gênero. No entanto como já devem estar habituados aqui no blog vamos sempre pela ideia mais simples possível.


Podemos criar nós o driver para comunicar com o Leitor ou numa abordagem mais hardcore podia-mos usar um comunicação SERIE e desenvolver a interface UART com um MAX232 para comunicar com o leitor via terminal.

Não se assuste não vai ser necessário criar nada disso :) este projecto é para ser muito fácil e não vamos demorar mais de 10 a 20 minutos a implementar e a ver a tudo a funcionar.

Vamos então usar 2 livrarias já desenvolvidas em Python e em C, estas livrarias são Open Source e vêm em código aberto para quem quiser implementar de outra forma.

A primeira livraria SPI.h serve para utilizarmos os pinos do Raspberry utilizando uma comunicação Síncrona.

A Segunda livraria MFRC522.h vem carregada de funções para utilizarmos no Leitor RFID de forma muito simples.

Não vamos estar a desenvolver o software para ler os cartões RFID , em vez disso vamos usar um exemplo já criado em Python que acompanha o projecto para que o leitor tome contacto com esta tecnologia.

Caso queria implementar de outra forma é só abrir o ficheiro Read.py e estudar o código fonte.

Configuração de Hardware


Configurações de Software
  • No Raspberry vamos usar o Sistema operativo Raspbian

Se ainda não o tem instalado pode faze-lo de forma simples utilizando o NOOBS que se encontra no site do fabricante http://www.raspberrypi.org/downloads/.


Após ter o seu Raspberry a correr o sistema operativo e com acesso à internet vamos proceder à instalação de algumas dependências.

# apt-get python-dev
# apt-get gcc

De seguida vamos fazer o download as livrarias,  para isso vamos usar directamente o repositório GIT onde estão as ultimas releases.


# git clone https://github.com/lthiery/SPI-Py

Quando terminar entramos no diretório do projecto e instala-mos a livraria

# sudo python setup.py install

Neste momento já temos acesso aos pinos IO do nosso PI

Vamos agora proceder ao download da livraria para o Leitor, este será efetuado também via GIT

# git clone https://github.com/mxgxw/MFRC522-python

Ok está feito vamos então entrar dentro da pasta do projeto MFRC522 e executar o teste de Leitura.

# sudo python Read.py

Se correu tudo bem pode passar o cartão ou o porta chaves em frente ao leitor e deverá obter uma leitura.

Deixo abaixo alguma fotos do meu projecto





Espero que tenham gostado :) voltarem em breve com o mesmo projecto mas para Arduino

Referências 
http://fuenteabierta.teubi.co/2013/07/utilizando-el-lector-nfc-rc522-en-la.html

Partilhar é aprender, um muito obrigado a todos aqueles que partilham as suas ideias e soluções.

Mais uma Fotos Extra a pedido de alguns leitores :)









Comentários

Mensagens populares deste blogue

3 Formas de configurar o Wi-Fi no ESP8266

3 Formas de  configurar o Wi-Fi no ESP8266 O nosso famoso ESP8266 veio para ficar, cada vez mais este microcontrolador é utilizado para desenvolver dispositivos fantásticos, é verdade que o ESP pode ser utilizado como um simples MCU , mas é a sua capacidade de se ligar a uma rede Wi-Fi, faz dele a escolha perfeita no que toca dipositivos IoT . Este artigo tem foco em três diferentes soluções que permitem programar o ESP de forma a que este se consiga ligar a uma rede Wi-Fi. É sabido que da primeira vez que o ESP é energizado este tem de conhecer ou vir a conhecer o SSID e a Password configurada no Access Point ao qual o queremos conectar de forma a fazer para da rede e ter acesso à Internet se assim for necessário. Vamos então ver como implementar as três soluções, analisar cada uma delas e ponderar os prós e contras e cada uma delas. Passemos ao caso mais simples, ao qual denomino de “Hard Coded” , esta é a forma mais utilizada por quem começa a utilizar

Mosquitto MQTT - Como Apagar todas as Mensagem Retain

Olá malta, hoje venho partilhar convosco algo que pode dar muito jeito quando andamos a testar cenários em que temos mensagens MQTT Retained . Um mensagem com a Flag Retain fica guardada no Broker MQTT até que seja subscrita por outra . Uma solução rápida para eliminar a mensagem Retain será publicar no mesmo tópico uma mensagem vazia , no entanto se tivermos muitos tópicos com mensagens Retain pode dar muito trabalho por isso uma forma simples será eliminar a base de dados do Mosquitto e todas as mensagem Retain são perdidas. Este cenário pode parecer uma pouco Brute Force mas se pensar-mos bem, assim que os nossos sensores/atuadores se ligarem novamente ao Broker MQTT vão publicar novamente a mensagem Retain que realmente interessa :) Procedimento sudo service mosquitto stop sudo rm /var/lib/mosquitto/ mosquitto.db sudo service mosquitto start DONE.... Espero ter ajudado :) Grande Abraço

Instalação do SQLPLUS da ORACLE em LINUX

Bom dia a todos Hoje vou explicar como podemos instalar o SQLPLUS da Oracle em sistemas Linux que utilizem gestão de pacotes RPM, entre eles CENTOS, FEDORA etc.. O SQLPLUS é uma excelente ferramenta de administração de SGDB da Oracle e apresenta-se sob o formato de linha de comandos o que permite aos Administradores de Base de Dados um maior poder sobre o SGDB. Antes de mais é necessário ter uma conta Oracle, esta pode ser feita atraves de um registo no site e é totalmente gratuito. Após termos conta devemos ir à secção de Download -> Databases -> Oracle Instant Client URL:   http://www.oracle.com/technetwork/indexes/downloads/index.html É apresentada uma lista sistemas operativos suportados e no nosso caso vamos escolher    Instant Client for Linux x86-64   para versões 64 Bits Ao escolhermos o Sistema Operativo a Oracle mostra-nos todas aplicações de Cliente para as diversas versões de Base de dados. A ultima versão é a 12 no entanto devemos fazer o downl