programação de periféricos controle de acesso cristiano ferreira 20 junho de 2008

Post on 17-Apr-2015

104 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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