Implementação de controlo de acessos
Com base no KIT EV-100 desenvolveu-se um sistema de controlo de acessos, de modo a demonstrar as potencialidades do mesmo e da tecnologia RFID em geral.
Hardware
Para a implementação da nossa solução além do KIT 3ALogics EV100, usou-se também um micro-controlador da Microchip (16F877A) para se poder ter saídas digitais, de modo a poder actuar no relé que controla uma fechadura por exemplo. No nosso caso estas saídas foram usadas simplesmente para ligar dois LEDs (verde e vermelho). Estes simbolizam a possibilidade de acesso ou não, quando o utilizador passa o seu cartão no leitor de cartões, acendendo respectivamente o verde ou o vermelho.
A outra solução seria reprogramar o micro-controlador do KIT EV100, que para uma aplicação prática seria a ideal, no entanto esta hipótese não foi considerada pois não era possível reprogramar o KIT existente. Fazer um de novo não era o nosso objectivo para este trabalho, além de ser demorado e dispendioso, pelo que foi outra das opções rejeitadas. A solução da Microchip era mais viável pois cumpria os propósitos e era menos dispendiosa em recursos e tempo pois pode-se partir de conhecimento e material adquiridos em disciplinas anteriores.
Assim, o hardware do nosso sistema consistia num kit que integra o micro-controlador 16F877A (esquema completo em Anexos) e na placa EV-100, ambos ligados a um computador via RS232.
.
Figura 26 - Esquema do sistema de controlo de acessos
O micro-controlador está a correr um trecho de código que lê um carácter da porta série. Caso seja ‘y’ acende o LED verde por um período de tempo τ (simbolizando acesso conseguido), caso seja ‘n’ acende o LED vermelho por um período de tempo τ igual ao anterior (simbolizando acesso não conseguido). Se o carácter não for nenhum destes dois acende o LED vermelho por um período de tempo bastante inferior a τ (simbolizando erro).
O carácter lido pelo micro-controlador é proveniente do software que está a correr no computador e resulta da leitura de um cartão pela placa EV-100.
NOTA: Para usar o controlador da Microchip basta ligar a porta e carregar o ficheiro “access2.1.hex”. No caso de se pretender alterar o seu funcionamento é necessário editar o ficheiro “access2.1.c. Ambos os ficheiros estão contidos no ficheiro “access2.1.rar”.
Software
Programas utilizados para o desenvolvimento do software
Para o desenvolvimento do software foram utilizados programas seguintes, que são freeware se não forem usados com fins comerciais.
· Dev-cpp – IDE para Windows de C/C++: site
· Eclipse – IDE multi-plataforma para diversas linguagens: site
· Doxygen – Gerador de documentação para desenvolvimentos de software: site
· Qt – Troltech – Toolkit multi-plataforma para desenvolvimento de GUI’s (maioritariamente), exemplos: KDE, Opera, Google Earth, Skype, Qtopia
Qt 4.4.3: site
Eclipse Integration C++: site
· MPLAB IDE–IDE para Windows para programação de micro controladores Microchip. site
Software 1 – Interacção com utilizador através de consola DOS
· Instalação:
Para usar o programa - Descompactar o ficheiro rfidprog.rar para pasta desejada e está pronto a usar.
Para desenvolvimento - Descompactar o ficheiro rfidprogdev.rar para pasta desejada e abrir com um IDE, necessita de um compilador de C.
· Funcionamento:
1 - O programa tem de ser iniciado através de uma consola de MS-DOS.
Start->Acessories->Command prompt
2 - Depois de se localizar na pasta onde instalou o software digite:
>> rfidprog COMx COMy
Caso pretenda iniciar o sistema com o KIT 3ALogics EV100, deve considererar que:
· COMx é a porta série onde está ligada a placa EV100
· COMy é a porta série onde está ligado o kit do micro-controlador (16F876)
3 - Menu:
1 - Lista todos os elementos que compõem a lista actual.
2 - Procura em elemento na lista, por código do cartão ou nome.
3 - Adiciona um novo elemento à lista.
4 - Remove um elemento da lista, por código do cartão ou nome.
5 - Edita um elemento da lista, pode ser encontrado por código do cartão ou nome.
6 - Carrega uma nova lista.
7 - Guarda a lista actual.
8 - Inicia leituras sucessivas de cartões, para sair deste modo o cartão ADMIN* deve ser lido três vezes seguidas.
0 - Sai do programa.
Nota: O cartão de ADMIN é aquele que está guardado na base de dados com o ID 0, este é o primeiro a ser introduzido na base de dados cada vez que se fizer uma lista nova.
Figura SEQ Figura \* ARABIC 27 - Exemplo do interface da consola DOS
Trabalho futuro:
Não foi considerada a hipótese de o elemento com ID 0 ser removido, caso aconteça nunca mais se pode sair do item 8 do menu. Para evitar tal situação pode-se alterar a função “int remove_element(int id)”.
Software 2 – Interacção com utilizador através de um GUI dedicado
Para facilitar a interacção com um utilizador foi criado um segundo programa, este com interface gráfico, mas basicamente com as mesmas funcionalidades do anterior.
Figura SEQ Figura \* ARABIC 28 - Exemplo do interface gráfico
Quase todas as funcionalidades da primeira implementação estão também disponíveis na segunda, excepto o modo “8 - Inicia leituras sucessivas de cartões”, no entanto o procedimento de implementação é análogo ao já usado anteriormente.
Quanto à nova funcionalidade do ambiente gráfico, a visualização de fotografia, ainda não foi terminada pois ainda é necessário associar uma foto a cada entrada na base de dados. Como a implementação abordada inicialmente não o permitia e seria necessário recomeçar tudo de início, optou-se por se manter a funcionalidade no layout para ser implementada futuramente.
· Instalação:
Para usar o programa - Descompactar o ficheiro rfidprog2.rar para pasta desejada e está pronto a usar.
Pare desenvolvimento - Descompactar o ficheiro rfidprog2dev.rar para pasta desejada e abrir com um IDE, necessita do Toolkit Qt e um compilador de C++.
· Funcionamento:
1 - Este programa só pode abrir a porta COM5 para ler o KIT EV100, pois esta funcionalidade está embutida no código, como tal para se poder ligar pode ser necessário alterar a porta COM.
2 – Abrir o ficheiro executável com duplo click e está pronto a funcionar.
Trabalho futuro:
1 - Alterar o código de forma a permitir utilizar uma qualquer porta COM para ler a placa EV100, como parâmetro de entrada ou a ser definida mais tarde com o programa em funcionamento pelo próprio utilizador.
2 - Completar a funcionalidade para a visualização de fotografias.
3 - Criar um modo contínuo de monitorização da porta série para assim poder permitir o controlo de acessos.
4 - Quando implementado o ponto 3, portar a funcionalidade de saída digital existente da solução um.