programação de periféricos controle de acesso cristiano ferreira 20 junho de 2008
Post on 17-Apr-2015
104 Views
Preview:
TRANSCRIPT
Programação de PeriféricosProgramação de Periféricos
Controle de AcessoControle de Acesso
Cristiano FerreiraCristiano Ferreira
20 Junho de 200820 Junho de 2008
IntroduçãoIntrodução
ApresentaçãoApresentação
CaracterísticasCaracterísticas
Tecnologias abordadasTecnologias abordadas
Periféricos + PlacaPeriféricos + Placa
Requisitos de HardwareRequisitos de Hardware
Mini – ITX Mini – ITX
Sistema Operacional (Debian)Sistema Operacional (Debian)
CatracaCatraca
LCDLCD
Leitora de CartãoLeitora de Cartão
Componentes BásicosComponentes Básicos
DiferencialDiferencial
O que fez ela ser escolhida ? O que fez ela ser escolhida ? Quais seriam as outras alternativasQuais seriam as outras alternativas
Mini - ITXMini - ITX
Mini - ITXMini - ITX
Qual ? Porque foi escolhido ?Qual ? Porque foi escolhido ?
Como foi instaladoComo foi instalado
Sistema OperacionalSistema Operacional
CatracaCatraca
Como funciona?Como funciona?
Interface de comunicaçãoInterface de comunicação
Como funciona?Como funciona?
Modos de acesso.Modos de acesso.
Porta Serial – Pinos de controle Porta Serial – Pinos de controle
void sendDTR() {ioctl(fdttyS0, TIOCMGET, &status);status |= TIOCM_DTR;ioctl(fdttyS0, TIOCMSET, &status);
}
void resetDTR(){ioctl(fdttyS0, TIOCMGET, &status);status &= ~TIOCM_DTR;ioctl(fdttyS0, TIOCMSET, &status);
}
Trecho de código...Trecho de código...
Tipos de LeitorasTipos de Leitoras
Protocolo de comunicaçãoProtocolo de comunicação
Leitora de CartõesLeitora de Cartões
O que é Wiegand?O que é Wiegand?
Como funciona?Como funciona?
Dificuldade de implementaçãoDificuldade de implementação
WiegandWiegand
Wiegand – FormatoWiegand – Formato
Wiegand - TemporizaçãoWiegand - Temporização
Como funcionaComo funciona
Como foi mapeadoComo foi mapeado
LCDLCD
void sendConfigByte(int byte) { int i; int byteAux;
for (i=0;i<2;i++) { if (i==0) { RS_0(); EN_1(); outb(LCD,LPT1); usleep(5); byteAux = byte >> 4; LCD &= 0xF0; LCD |= byteAux; outb(LCD,LPT1); usleep(5); EN_0();
outb(LCD,LPT1); usleep(5000);}
Trecho de código...Trecho de código...
else { RS_0(); EN_1(); outb(LCD,LPT1); usleep(5); byte &= 0x0F; LCD &= 0xF0; LCD |= byte; outb(LCD,LPT1); usleep(5); EN_0(); outb(LCD,LPT1); usleep(5000); } }}
Porque esse trabalhoPorque esse trabalho
Futuras implementaçõesFuturas implementações
ConclusãoConclusão
top related