OneSecurity: controledeacessoporcapturade...

17
Universidade Tecnológica Federal do Paraná – UTFPR Departamento Acadêmico de Eletrônica – DAELN Departamento Acadêmico de Informática – DAINF Engenharia de Computação Oficina de Integração 3 (IF66J) – S71 – 2015/1 Relatório Técnico OneSecurity: controle de acesso por captura de imagens de face e QR Code Cristian Bortolini Ferreira [email protected] Gabriel Fernando Passos [email protected] Lucas Rocha de Camargo [email protected] Samuel Pelegrinello Caipers [email protected] Julho de 2015 Resumo No Brasil temos problemas graves de segurança. Os níveis de assaltos, rou- bos e outros crimes são altos. As pessoas não podem confiar somente nas autoridades e acabam tendo que superar esse problema por conta própria. Nosso projeto tem como objetivo ajudar as pessoas que queiram melhorar a segurança de um ambiente de forma barata, prática e fácil. Nossa solu- ção engloba: uma computador com servidores de banco de dados, FTP e HTTP; um Raspberry PI cuja função principal é reconhecer faces e QR Co- des capturados por uma Webcam e destravar um fecho eletromagnético, além de receber informações de um sensor de presença e um reed switch; um aplicativo móvel que consulta informações guardadas no banco de dados além de gerar QR Codes de senhas geradas aleatoriamente que, se corretas, permitem o destravamento do fecho. Todos esses elementos são conectados através de uma intranet local Wi-Fi. Para demonstração da so- lução, a equipe projetou e construiu um protótipo de uma porta e uma parede, uma placa de circuito impresso com circuitos auxiliares, e uma embalagem para acomodação do Raspberry PI e a placa auxiliar. 1 Introdução A segurança é um dos principais problemas que nosso país enfrenta. Os índi- ces de criminalidade são assustadores. A cidade de Curitiba, infelizmente, tem também números preocupantes. Dados da Secretaria de Segurança Pública do Estado do Paraná [1] demonstram que houve na capital paranaense no ano pas- sado (2014): • Crimes contra pessoas: 39.534; • Crimes contra o patrimônio: 89.550; • Outros crimes: 20.586; • Furtos consumados: 45.469 (média de 124 por dia) 1

Transcript of OneSecurity: controledeacessoporcapturade...

Page 1: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Universidade Tecnológica Federal do Paraná – UTFPR

Departamento Acadêmico de Eletrônica – DAELN

Departamento Acadêmico de Informática – DAINF

Engenharia de ComputaçãoOficina de Integração 3 (IF66J) – S71 – 2015/1

Relatório TécnicoOneSecurity: controle de acesso por captura de

imagens de face e QR Code

Cristian Bortolini Ferreira – [email protected]

Gabriel Fernando Passos – [email protected]

Lucas Rocha de Camargo – [email protected]

Samuel Pelegrinello Caipers – [email protected]

Julho de 2015

Resumo

No Brasil temos problemas graves de segurança. Os níveis de assaltos, rou-bos e outros crimes são altos. As pessoas não podem confiar somente nasautoridades e acabam tendo que superar esse problema por conta própria.Nosso projeto tem como objetivo ajudar as pessoas que queiram melhorara segurança de um ambiente de forma barata, prática e fácil. Nossa solu-ção engloba: uma computador com servidores de banco de dados, FTP eHTTP; um Raspberry PI cuja função principal é reconhecer faces e QR Co-des capturados por uma Webcam e destravar um fecho eletromagnético,além de receber informações de um sensor de presença e um reed switch;um aplicativo móvel que consulta informações guardadas no banco dedados além de gerar QR Codes de senhas geradas aleatoriamente que, secorretas, permitem o destravamento do fecho. Todos esses elementos sãoconectados através de uma intranet local Wi-Fi. Para demonstração da so-lução, a equipe projetou e construiu um protótipo de uma porta e umaparede, uma placa de circuito impresso com circuitos auxiliares, e umaembalagem para acomodação do Raspberry PI e a placa auxiliar.

1 Introdução

A segurança é um dos principais problemas que nosso país enfrenta. Os índi-ces de criminalidade são assustadores. A cidade de Curitiba, infelizmente, temtambém números preocupantes. Dados da Secretaria de Segurança Pública doEstado do Paraná [1] demonstram que houve na capital paranaense no ano pas-sado (2014):

• Crimes contra pessoas: 39.534;• Crimes contra o patrimônio: 89.550;• Outros crimes: 20.586;• Furtos consumados: 45.469 (média de 124 por dia)

1

Page 2: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 2

• Roubos consumados: 30.070;• Furtos de veículos: 4.897;• Roubos de veículos: 3.974O objetivo deste trabalho, denominado OneSecurity (logotipo na figura 1),

é desenvolver um sistema que controle o acesso de pessoas a um ambiente eque monitore a presença de possíveis invasores. A autenticação será por umasenha gerado aleatoriamente e detecção de face. Todas as informações sobreatividades no ambiente são armazenadas para futuras consultas.

Figura 1: Logotipo do projeto

A figura 2 apresenta um diagrama com a visão geral do sistema. A permissãode acesso a uma residência é feita pelo reconhecimento de uma senha geradaaleatoriamente e de forma segura através de um aplicativo móvel. Esta senhaestá codificada através de um QR Code que é decodificado através de uma câ-mera acoplada ao Raspberry PI (RPi). No momento da autenticação do usuário,uma foto do requerente será capturada por uma webcam e gravada em um FTPe referenciada em um registro em um banco de dados armazenado em um PC.Além disso, um reed switch conectado diretamento ao RPi é usado para detec-tar eventuais aberturas fraudulentas da porta. O RPi, atua na abertura de umfecho eletromagnético instalado no protótipo. Um sensor de presença é insta-lado para monitorar possíveis invasores na residência que não tenham entradopela porta, este se comunica diretamente com o RPi informando a presença ounão de um invasor. A comunicação entre o RPi, o Smartphone e o PC é feitaatravés de uma rede Wi-Fi interna que não se conecta à internet por motivos desegurança.

Os requisitos funcionais estão detalhados abaixo:1. O RPi deve gravar foto e informações no banco de dados no PC.2. O RPi deve liberar ou trancar o fecho eletromagnético.3. O RPi deve ler a informação do sensor de movimento e agir caso necessá-

rio.4. O RPi deve ler a informação do reed switch e agir caso necessário.5. O RPi deve ler as imagens da câmera para processamento de visão com-

putacional.6. O RPi deve reconhecer o QR Code gerado pelo Smartphone e detectar fa-

ces. A senha esperada deve estar sincronizada com o aplicativo do Smartphonepelo Google Authenticator.

7. O Smartphone deve ter um aplicativo que gere um QR Code a partir doscódigos gerados pelo Google Authenticator.

8. O Smartphone deve ler os dados contidos no banco de dados do PC.Os requisitos não funcionais estão detalhados abaixo:

Page 3: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 3

1. O PC deve permitir que o RPi e o Smartphone leiam e gravem fotos e in-formações no banco de dados.

2. PC com banco de dados mySQL.3. PC deve ter um servidor FTP para armazenamento de fotos.4. RPi rodando biblioteca OpenCV e ZBar.5. PC / RPi / Smartphone se comunicam via Wi-Fi.6. RPi e Smartphone ter acesso local ao banco de dados.O Diagrama que resume a solução OneSecurity é mostrada pela figura 2.

Figura 2: Diagrama geral entre as relações entre as entidades do OneSecurity

2 Desenvolvimento

2.1 Servidor

O PC é adotado para a função de servidor é um notebook pessoal com a seguinteespecificação:

• Windows 8.1• Processador Intel Core i5 2.5 GHz• Memória 8 GB• HD SSD 256 GBO PC tem o objetivo de fornecer um servidor de banco de dados, FTP e WEB

para a solução OneSecurity. O Smartphone e o RPi podem se conectar aos servi-dores fornecidos pelo PC. Os servidores podem ser acessados por LAN. Uma vezconectado ao PC, o banco de dados pode ser acessado pela porta 3306, o FTPpela porta padrão 21 e o WebService Apache na porta 80, conforme ilustrado nafigura 3. A comunicação entre o PC, o Smartphone e o RPi é feita por LAN Wi-Fi.Contudo, esses serviços do PC poderiam ser acessados via Internet se fossem

Page 4: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 4

necessários.

Figura 3: Diagrama dos serviços e como ele é interagido

O projeto e implementação do banco de dados foram feitos através do soft-ware MySQL Workbench 6.3 CE. A instalação do banco de dados foi baseada emum artigo da documentação oficial do MySQL [4]. O banco de dados é formadopor duas tabelas: logs e alert. A tabela de logs é usada para armazenar refe-rências de autenticação ao sistema. Enquanto que a tabela alert é usada paraarmazenar a data de detecção de fraudes. O RPi grava diretamente no banco dedados os registros de logs e de alertas. Diferentemente do aplicativo móvel, queacessa indiretamente o banco através de um WebService.

O Servidor FTP é fornecido pelo Internet Information Services (IIS), nativoda plataforma Windows. A implementação do FTP foi baseada no artigo da Mi-crosoft TechNet [3]. Todas as imagens gravadas neste servidor, devem ter umarelação com algum registro no banco de dados. O RPi grava diretamente as ima-gens de autenticação no servidor FTP. Diferentemente do aplicativo móvel, queacessa as fotos pelo servidor WebService.

O WebService foi criado para facilitar a programação do aplicativo mobile.A implementação se baseou neste artigo da TrinityTuts [5]. Ele é composto pordois algoritmos: list.php e alert.php. Duas facilidades são oferecidas:

• Consulta ao banco indiretamente através dos programas list.php e alert.php,cujo o retorno são todos os elementos das tabelas logs e alert, respectiva-mente, em formato JSON.

• Acesso à pasta do FTP através do WebService e não diretamente ao servi-dor FTP.

Page 5: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 5

2.2 Placa de Circuito Impresso

Foram necessários criar circuitos de apoio ao RPi para atender todos os requi-sitos do sistema OneSecurity. O projeto da placa de circuito impresso (PCI) -Printed Circuit Board (PCB) - foi desenvolvido no software Eagle v7.3. A Figura4 mostra o diagrama esquemático, e a figura 5 mostra a PCI e a PCI impressa naplaca de fibra de vidro FR4.

Figura 4: Diagrama esquemático

Page 6: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 6

(a) (b)

Figura 5: (a) Layout da PCI, (b) Foto da PCI impressa.

A principal função da PCI é atender a necessidade de atuação do relé quepermite a abertura do fecho. O RPi possui os pinos de entrada e saída de 3.3VDC e a bobina do relé funciona em 5 VDC. O Fecho Thevear TH-FEM-R requer12 VDC/1 A para sua abertura [2]. Para fornecer a tensão e a corrente necessáriafoi utilizado uma fonte de tensão de 12 VDC, independente daquela usado parao RPi.

O sensor de presença HCSR 501, figura 6(a), tem alimentação 5 VDC e saídado sensor em 3.3 VDC. Assim, foi possível conectá-lo diretamente a uma en-trada no RPi. Nenhuma documentação foi encontrada na Internet para maioresdetalhes técnicos. A saída do sensor respeita a lógica abaixo:

• 3.3 VDC: Quando detectado presença.• 0 VDC: Caso contrário.

(a) (b) (c)

Figura 6: (a) O sensor de movimento (b) O reed switch (c) O diagrama esquemático doreed switch.

Page 7: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 7

O reed switch tem a finalidade de informar se a porta foi aberta. Caso aporta seja aberta inesperadamente, o RPi ativará alerta. A figura 6(b) mostra oreed switch e a figura 6(c) o diagrama esquemático da ligação com o RPi.

2.3 Dispositivo Móvel

O aplicativo móvel foi desenvolvido para ser o dispositivo de interação do usuá-rio com o sistema OneSecurity. Ele foi desenvolvido baseado em várias fontesdisponíveis na internet [8]. Através dele o usuário se autentica no sistema e podeconsultar os registros de autenticação e alertas de invasão. Pode ser dividido emtrês partes: algoritmo gerador de senhas do tipo Time-based one-time password,consultas do banco de dados/FTP via WebServices e interface gráfica.

A visão geral de funcionamento de liberação de acesso a usuários do sis-tema OneSecurity é demonstrado pelo diagrama da figura7 (a). Neste diagramahá três entidades: Usuário, RPi e Smartphone e duas atividades: Interface Grá-fica(UI) e gerador de senhas descartáveis (TOTP Generator). A ordem lógica dosistema de obtenção de senhas é:

• 1) O usuário, através da UI, faz uma requisição preenchendo o campo detexto com a chave de geração da senha. Esta chave deve ser a mesmausada no RPi;

• 2 e 3) A requisição com a chave é passada para o gerador de senhas para oTOTP Generator;

• 4) A senha descartável [7] [9]é gerada e enviada para o Smartphone;• 5) É executada a codificação desta senha em QR Code [6] [10] seguido de

sua exibição na UI.• 6) O usuário posiciona a tela do Smartphone exibindo o QR code em frente

à câmera com o objetivo de que RPi consiga realizar a aquisição, decodi-ficação e verificação da senha. Se a autenticação for bem sucedida, a facedo usuário é capturada pelo RPi através da WebCam armazenando a fotono banco de dados/FTP e só então o acesso ao ambiente é permitido.

Com o objetivo de fornecer as informações do banco de dados e do FTP, oaplicativo permite consultar os acessos ao ambiente monitorado. Os registrosde autenticação e suas imagens podem ser visualizados. O diagrama de comoessas consultas são executadas é mostrada na figura 7(b) e descrito a seguir:

Page 8: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 8

(a) (b)

Figura 7: (a) Diagrama de liberação, (b) Diagrama das consultas

O diagrama da figura 7 (b) funciona da seguinte forma:• 1) O usuário se comunica com o Smartphone através da UI do aplicativo;• 2-5) A comunicação ao banco de dados é feita pelo WebService para aces-

sar o banco de dados e FTP.• 6-7) A resposta à requisição feita ao Web Service é devolvida ao smartphone

em formato JSON (Javascript Object Notation), tratada e exibida na UI doaplicativo para finalmente ser visualizada pelo usuário.

Para a UI foi usado o tema App Compact devido à agradável combinação decores.

As telas gráficas podem ser vistas na figura 8.

Page 9: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 9

(a) (b) (c)

Figura 8: (a) Geração do QRCode, (b) Consultar acessos e (c) listagem de registros

2.4 Raspberry PI

O sistema embarcado foi desenvolvido para um RPi Model B, com um DongleTP-Link TL-WN725N para conexões Wi-Fi. O sistema operacional escolhido foio Raspbian [11]. A maior parte do programa embarcado do OneSecurity foi es-crita em C++ e fazendo uso de algumas bibliotecas.

A detecção de uma face faz uso da biblioteca de visão computacional OpenCV[12]. Nela existem funcionalidades de classificação pelo método HAAR CascadeClassifier [13]. Fazendo uso de bases de treinamento prontas, é possível fazer adetecção de faces em imagens.

Para a decodificação de QR Codes, foram utilizadas as bibliotecas ZBar [14]e OpenCV. A biblioteca ZBar tem funcionalidades de detecção e decodificaçãode códigos de barra e QR Codes. A biblioteca OpenCV é encarregada apenas deconverter de receber a imagem e convertê-la em um tipo de imagem aceitávelpela biblioteca ZBar.

O sistema deve fazer conexão com banco de dados. A biblioteca usada paraessa funcionalidade foi MySQL Connector/C++ [15], capaz de fazer qualquertipo de acesso à bancos de dados. Esta biblioteca atende aos requisitos do pro-jeto, já que o sistema sistema deve ser capaz de gravar informações apenas e nãosendo necessário fazer qualquer tipo de consulta pelo RPi.

O envio de arquivos para o servidor FTP não requer bibliotecas adicionais.O programa do OneSecurity faz acesso ao shell do sistema operacional e usao programa LFTP [16] para realizar a transferência de dados em apenas umalinha de comando. O programa pode ser obtido pelo comando sudo apt-get

install lftp no shell do Linux.

Page 10: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 10

A senha de segurança do OneSecurity é gerada pelo algoritmo Google Authen-ticator [17]. Esse algoritmo tem como entrada uma string de 16 caracteres (pri-meira chave) e a hora atual do sistema. Após operações lógicas, é gerado umnúmero inteiro de 6 dígitos (segunda chave). Apenas a primeira chave é com-partilhada e deve ser registrada apenas uma vez no sistema. O usuário não pre-cisa ter acesso à essa chave. A segunda chave é gerada a cada 30 segundos e é achave usada para a realização de autenticações. Essa funcionalidade foi imple-mentada em Python e é acessada pelo programa do OneSecurity em C++.

O programa OneSecurity foi desenvolvido para realizar as seguintes funções:• Autenticar usuários e liberar acesso: O programa continuamente captura

imagens de uma câmera. Quando um QR Code aparece, o processo écapaz de detectá-lo e decodificá-lo. O QR Code deve conter uma senhaobtida pela sincronização com o Google Authenticator. Após uma senhaválida ser apresentada, o programa captura mais imagens da câmera, re-alizando detecção de faces nas imagens. Se pelo menos uma face é detec-tada, o processo de autenticação é concluído e o acesso é liberado. Casoas tentativas de detecção ultrapassem um limite, o programa volta a es-perar por uma senha válida. No caso de autenticações bem-sucedidas, aimagem com face obtida durante a autenticação é enviada para um ser-vidor que armazena tanto a foto como informações da autenticação. Oprocesso de autenticação é o processo principal e está sempre ativado. Odiagrama da figura 9 ilustra a inicialização do temporizador de interrup-ção (ilustrada no diagrama da figura 10) e a funcionalidade de autentica-ção de usuário.

• Monitorar o ambiente: Quando ligado, o monitoramento é feito a partirdo sensor de presença (monitora o ambiente) e o reed switch (monitoraa abertura de porta). Se os sensores acusam presença ou que a porta es-teja aberta, o programa liga o alarme e envia informações de uma possívelinvasão para o servidor. O monitoramento pode ser desligado através daautenticação bem-sucedida de um usuário, e ligado pelo pressionamentode um botão específico para essa funcionalidade. Apesar do monitora-mento poder estar desligado, a interrupção que faz uso dessa funciona-lidade será sempre chamada periodicamente, interrompendo o processoprincipal. Isso ocorre pois ele é responsável pelo monitoramento e pelaativação do sistema. O diagrama da figura 10 ilustra o tratamento da in-terrupção que realiza a função de monitoramento e ativação do sistemade monitoramento.

Page 11: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 11

Figura 9: Temporização de interrupção e autenticação de usuário

Figura 10: Tratamento da interrupção que realiza a função de monitoramento e ativa-ção do sistema de monitoramento

2.5 Gabinete

A imagem do projeto podem ser vista nas figuras 11(a), (b) e (c) que mostramdiferentes vistas do projeto 3D do gabinete do OneSecurity. Este projeto foi de-senvolvido no software SketchUp [18] e Repetier-Host [20]. Foi fabricado emmaterial ABS a partir de uma impressora 3D Prusa i3 [21] encontrada no GIP3D[19] da UTFPR campus Curitiba. A comunicação com a impressora 3D foi feitaatravés do software Pronterface[22]. O resultado pode ser visto nas figuras 11(a),

Page 12: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 12

(b) e (c).

(a) (b) (c)

Figura 11: Fotos da embalagem 3D. (a) panorâmica, (b) cima, (c) frontal.

3 Resultados

Para fins de apresentação e verificação do funcionamento da solução desenvol-vida pelo grupo, foi confeccionado um protótipo. O modelo a ser criado deveriaatingir alguns requisitos ao final de sua construção:

• Integrar os diversos segmentos do projeto OneSecurity em uma só solu-ção;

• Adequado para demonstrar as funcionalidades implementadas;• Portabilidade;• Representar uma situação real.O projeto do protótipo foi desenvolvido no SketchUp, software de mode-

lamento 3D. Com esse projeto realizado, foi possível definir as dimensões doprotótipo que melhor se adequariam aos requisitos definidos inicialmente, re-presentando uma situação real e ao mesmo tempo mantendo a portabilidade.

Imagens do projeto é mostrado nas figuras 12(a), (b) e (c).

(a) (b) (c)

Figura 12: Imagens do projeto do protótipo

Fotos do protótipo pronto são mostrados nas figuras 13(a), (b) e (c).

Page 13: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 13

(a) (b) (c)

Figura 13: Foto (a) frontal, (b) interna e (c) superior

Os resultados obtidos foram a integração de todos os itens que foram deta-lhados na seção 2. Um vídeo de 180 segundos com a demonstração do resultadofinal do projeto foi feito.

Fotos do protótipo pronto com os equipamentos montados nela podem servistos nas imagems 14(a), (b) e (c).

(a) (b) (c)

Figura 14: (a) PCI-RPi-Sensor de presença (b) WebCam e LED indicativo (c) Trinco-Fecho-Reed switch

3.1 Custos

Os itens que foram adquiridos para uso no projeto são detalhados na tabela 1.

Page 14: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 14

Tabela 1: Custos dos ítens utilizados

Item CustoFecho Eletromagnético 37,50

Reed Switch 11,50Sensor de movimento 20,00

Relé 3,60Placa de Fenolite 10x10 cm 2,00Percloreto de Ferro 250 ml 6,50

Push Button 1,50Custo Total 83,00

4 Conclusão

O sistema de controle de acesso desenvolvido atendeu aos requisitos iniciais eapresentou um custo final baixo, já que foram utilizados, na maior parte, com-ponentes simples. O projeto foi dividido em módulos de forma a facilitar o tra-balho em equipe. Cada um desses módulo é discutido a seguir.

O computador servidor PC foi utilizado para fornecer alguns serviços parao projeto, como servidor de banco de dados para armazenar os registros de au-tenticação e alertas de invasão, servidor FTP para armazenamento de fotos daspessoas que se autenticam no sistema, WebService para interfacear o aplicativomóvel com os servidores de banco de dados e de FTP.

A Placa de Circuito Impresso (PCI) foi construída e desenvolvida pela equipepara, entre outras coisas, atuar sobre a bobina do relé para abrir o fecho eletro-magnético. Isso se justifica porque a corrente e a tensão necessária para atuaçãodo relé são maiores do que o RPi pode fornecer. Além de ter que projetar os cir-cuitos da PCI, a equipe teve que projetar e corroer com percloreto de ferro ocircuito em uma placa de fenolite 10x10 cm.

O aplicativo móvel tem dois objetivos principais: gerar o QR Code e visu-alizar logs com as fotos, ambos para a etapa de autenticação. O conteúdo doQRCode é a senha de autenticação do sistema baseado no algoritmo do Goo-gle Authenticator. Este algoritmo só precisa de uma Key específica e do horárioatual para a geração da senha. A visualização dos logs é feita através do WebSer-vice fornecido pelo PC tanto para os registros do banco de dados quanto paraas fotos do FTP. Nenhum membro da equipe tinha conhecimentos necessáriospara a finalização do aplicativo e muito estudo e testes foram necessários atéque o aplicativo se tornasse útil.

O RPi é o principal componente do projeto OneSecurity, ele está envolvidoem praticamente tudo que acontece no projeto. Os objetivos principais são: aautenticação do usuário através do QR Code, a captura e o armazenamento dafoto do momento da autenticação, destravamento da trava eletromagnética e

Page 15: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 15

leitura dos sensores. Entre várias dificuldades encontradas, o maior desafio foio detecção de faces dos usuários e do QR Code.

Segurança, profissionalismo e apresentação foram os motivos do uso de umgabinete para a solução. No gabinete foram colocados dois componentes frá-geis, RPi e a PCI. Esses componentes devem estar protegidos contra choques eoutras intempéries. O desejo do grupo é ter um produto com acabamento pro-fissional e que também seja fácil de instalar no protótipo no dia da apresentação.

O protótipo em madeira foi desenvolvido e construído pela equipe especial-mente para o dia da apresentação. A equipe acredita que seja a melhor forma demostrar todos os recursos do OneSecurity. Todos os componentes do projetosestão integrados, constituindo um protótipo inteiramente funcional.

Em suma, o OneSecurity é um projeto multi-disciplinar. Essa é a sua ca-racterística mais marcante. Muito do que foi estudado no curso até agora foiaplicado neste projeto. Ele engloba programação móvel, programação web, pro-gramação embarcada, banco de dados, redes de computadores, eletrônica, pro-cessamento digital de imagens, visão computacional, segurança de sistemas ecomunicação gráfica. Além de conhecimentos de marcenaria.

Agradecimentos

Agradecimento especial ao aluno de Engenharia da Computação Renan Telespela grande ajuda no desenvolvimento e construção da PCI. Como também aGIP3D da UTFPR por ceder a impressora 3D para impressão de nossa embala-gem ao custo exclusivamente do material utilizado.

Referências

[1] Secretaria de Segurança Pública do Estado do Paraná, CAPE - Coordena-doria de Análise e Planejamento Estratégico, http://www.seguranca.

pr.gov.br/arquivos/File/Relatorio_Estatistico_2014_VALE.pdf,acesso: 31/03/2015.

[2] Thevear, Fecho Eletromagnético 12 V, http://www.thevear.com.br/new/VerProdutos.aspx?IDSubCat=143, acesso: 04/06/2015.

[3] TechNet, Compilar um site FTP no ISS, https://technet.microsoft.com/pt-br/library/hh831655.aspx, acesso: 01/05/2015.

[4] MySQL, Installing MySQL on Microsoft Windows, https://dev.mysql.

com/doc/refman/5.1/en/windows-installation.html, acesso:02/05/2015.

[5] TrinityTuts, Build your first web service with PHP, JSON and MySql,https://trinitytuts.com/build-first-web-service-php/, acesso:20/05/2015.

Page 16: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 16

[6] HYNDMANN, R. Android Developping QR Maker, http://android-

developers.blogspot.com.br/, acesso: 22/04/2015.

[7] COZMA, N. Google Authenticator. http://www.cnet.com/how-

to/how-to-move-google-authenticator-to-a-new-device/, acesso:27/04/2015.

[8] BAYLISS, D. Android Tutorial for Beginners, http://www.raywenderlich.com/78574/android-tutorial-for-beginners-part-1, acesso:30/04/2015.

[9] HABETS, T. The Google Authenticator Project. https://github.com/

google/google-authenticator-android, acesso: 07/05/2015.

[10] FOAMY, G. QR Maker, https://github.com/FoamyGuy/QRMaker, acesso:07/05/2015.

[11] Raspian, Official Website, https://www.raspbian.org, acesso:26/06/2015.

[12] OpenCV, Official Website, http://opencv.org, acesso: 26/06/2015.

[13] HAAR Cascade Classifier, Face Detection using Haar Cascades,http://docs.opencv.org/master/d7/d8b/tutorial_py_face_

detection.html, acesso: 26/06/2015.

[14] ZBar, ZBar bar code reader, http://zbar.sourceforge.net, acesso:26/06/2015.

[15] MySQL Connector/C++, Download Connector/C++, https://dev.

mysql.com/downloads/connector/cpp, acesso: 26/06/2015.

[16] LFTP, Sophisticated ftp/http client, http://lftp.yar.ru/, acesso:26/06/2015.

[17] Google Authenticator, Open source version of Google Authentica-tor, https://github.com/google/google-authenticator, acesso:26/06/2015.

[18] SketchUp, The easiest way to draw in 3D, http://www.sketchup.com/pt-BR, acesso: 26/06/2015.

[19] GIP3D, página do Facebook, https://www.facebook.com/GIP3D, acesso:26/06/2015.

[20] Repetier-Host, official website, http://www.repetier.com/, acesso:26/06/2015.

[21] Prusa i3, wikipage, http://reprap.org/wiki/Prusa_i3, acesso:26/06/2015.

Page 17: OneSecurity: controledeacessoporcapturade …paginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · O reed switch tem a finalidade de informar se a porta foi aberta.

Relatório Técnico: OneSecurity 17

[22] Pronterface, official website, http://www.pronterface.com/, acesso:26/06/2015.