Este trabalho descreve o desenvolvimento de um Sistema Embarcado de Ponto Eletrônico Digital composto por um dispositivo embarcado com conexão à internet e uma aplicação web. O sistema permite que usuários registrem data e hora através do dispositivo e enviem os registros para armazenamento em um banco de dados na aplicação web. O trabalho apresenta detalhes técnicos sobre o hardware e software utilizados, incluindo Arduino, Ethernet Shield, RFID e MySQL.
Um Sistema de Ponto Eletrônico Digital: projeto e implementação de hardware e software
1. FACULDADE CAMPO LIMPO PAULISTA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
Trabalho de Conclusão de Curso
Atividade Prática de Desenvolvimento de Software
André Devecchi – 14699
André Marcos Silva (Orientador)
Atividade Prática de Desenvolvimento de Software
Um Sistema de Ponto Eletrônico
Digital: projeto e implementação
de hardware e software
André Devecchi
2. 2
FACULDADE CAMPO LIMPO PAULISTA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
Um Sistema de Ponto Eletrônico Digital: projeto e
implementação de hardware e software
Trabalho submetido à Coordenação de
Ciência da Computação da Faculdade Campo
Limpo Paulista como requisito parcial para
obtenção do título de Bacharel em Ciência da
Computação.
Campo Limpo Pta. (SP), 15 de junho de 2015.
André Devecchi
Banca examinadora
Prof. Me. André Marcos Silva (Orientador)
Prof. Dr. Osvaldo Luiz de Oliveira
Prof. Dr. Luis Mariano del Val Cura (Suplente)
3. 3
Agradeço a todos que acreditam e torcem por mim
principalmente a DEUS por me dar forças e serenidade
nos momentos difíceis e de poder seguir adiante...
4. 4
FACULDADE CAMPO LIMPO PAULISTA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
Um Sistema de Ponto Eletrônico Digital: projeto e
implementação de hardware e software
SUMÁRIO
RESUMO................................................................................................................ 5
1. PROPOSTA .................................................................................................... 6
Motivação............................................................................................................ 6
Objetivos ............................................................................................................. 6
Metodologia de Trabalho.................................................................................... 6
2. RESULTADOS............................................................................................... 7
Apresentação Funcional...................................................................................... 7
Especificação Técnica......................................................................................... 9
Problemas Encontrados..................................................................................... 12
3. CONCLUSÕES ............................................................................................ 12
4. REFERÊNCIAS ÚTEIS ............................................................................... 13
APÊNDICE A – MANUAL DE USUÁRIO ........................................................ 15
APÊNDICE B – PROJETO DE SOFTWARE....................................................... 18
APÊNDICE C – MANUAL DE OPERAÇÃO E IMPLANTAÇÃO ................... 22
5. 5
RESUMO
Com o objetivo de realizar a integração entre um Dispositivo Embarcado com
conexão Internet a uma Aplicação Web e Base de Dados, este trabalho descreve o
desenvolvido de um Sistema Embarcado de Ponto Eletrônico Digital que provê
uma interface com o usuário para o registro da hora e data e o envio destes
registros para a Aplicação Web e persistência em Base de Dados.
6. 6
1. PROPOSTA
Motivação
A motivação para este estudo vem da curiosidade e interesse pela conexão de
dispositivos do nosso dia-a-dia ou de dispositivos de aplicações específicas se
conectando através da Internet para controle remoto, para supervisionar tarefas ou
coleta de dados. Além de tudo é uma tendência esta revolução Tecnológica atual
conhecida como Internet das Coisas ou do inglês “Internet of Things” (IoT).
Objetivos
Este trabalho tem como objetivo o desenvolvimento de um Sistema Embarcado de
Ponto Eletrônico Digital para demonstrar a conectividade e a integração do
dispositivo a uma Aplicação Web para persistir os registros em Base de Dados. O
Sistema é composto de:
Sistema Embarcado: irá prover periféricos de interface para o usuário de
visualização (saída) e de identificação (entrada).
Aplicação Web: irá prover a base de dados e interface para visualização
dos registros recuperados.
Metodologia de Trabalho
Para o desenvolvimento do trabalho proposto será criado um protótipo para a
parte embarcada e uma Aplicação Web para a base de dados e visualização dos
registros com as seguintes ferramentas:
Sistema Embarcado
o Plataforma de hardware Arduino e sua IDE de desenvolvimento.
o Desenvolvimento de hardware periférico e utilização de Shields e
Breakout para Arduino.
o Exemplos de Sketch das Librarires para os Shields e Breakout.
Aplicação Web
o Notepad++ - Para edição de código fonte.
o PHP - Linguagem de programação para servidor Web.
o MySQL - Sistema de gerenciamento de bando de dados relacionais.
7. 7
2. RESULTADOS
Apresentação Funcional
O Sistema é composto por duas partes distintas: Sistema Embarcado com a
plataforma de hardware Arduino (Figuras 1 e 2); Sistema Web para persistência
na base de dados e visualização dos mesmos (Figuras 3 e 4).
Figura 1: Protótipo do Ponto Eletrônico Digital
A Figura 1 mostra o protótipo do Ponto Eletrônico Digital aguardando a
aproximação da tag de identificação do funcionário para leitura.
Figura 2: Protótipo do Ponto Eletrônico Digital com a leitura da tag de
identificação
8. 8
A Figura 2 mostra o protótipo do Ponto Eletrônico Digital com a leitura da tag de
identificação do colaborador e o feedback do Sistema Web retornando seu nome.
Figura 3: Tela de autenticação
A Figura 3 mostra a tela de autenticação para que somente usuários com
permissão tenham acesso aos registros dos horários.
Figura 4: Tela dos registros dos horários
A Figura 4 mostra a tela com os registros que foram enviados do Sistema
Embarcado e recuperados da base de dados.
Mais informações sobre o sistema são apresentadas no Apêndice A.
9. 9
Especificação Técnica
Para o desenvolvimento do projeto proposto foram utilizadas as seguintes
ferramentas e tecnologias:
Hardware
Arduino 1.0.5-r2 (Arduino, 2015): Ambiente de Desenvolvimento Integrado ou
do inglês Integrated Development Environment (IDE) gratuito e de código fonte
aberto permitindo a escrita de código e faz com que seja fácil enviar o executável
para a placa. A IDE executa em Windows, Linux e MAC OS. O Arduino IDE é
escrito em Java e é baseado em Processing e outros software de código fonte
aberto. A IDE pode ser usada com qualquer placa Arduino.
Placa Arduino Duemilanove: Plataforma de Desenvolvimento de hardware
aberto com microcontrolador Atmega328 com 32K de memória de programa
sendo 2K utilizados pelo bootloader. Possui porta de comunicação SPI (Serial
Peripheral Interface) pinos (10, 11, 12 e 13) um protocolo de comunicação serial
síncrona, porta de comunicação I2C (Inter-Integrated Circuit) pinos (A4 e A5)
outro tipo de protocolo de comunicação serial síncrona. A Figura 5 mostra a placa
Arduino Duemilanove.
Figura 5: Arduino Duemilanove
Placa Arduino Ethernet Shield: Periférico com interface de acesso para Internet
com encaixe direto a placa Arduino Duemilanove com controlador Ethernet
W5100 com buffer interno de 16K e velocidade de conexão de 10/100Mb realiza
interface de comunicação pela porta SPI (Serial Peripheral Interface) um
protocolo de comunicação serial síncrona. A Figura 6 mostra a placa Arduino
Ethernet Shield.
10. 10
Figura 6: Arduino Ethernet Shield
Placa RTC Breakout: Placa com Relógio de Tempo Real ou do inglês Real Time
Clock (RTC) que utiliza um chip DS1307 e possui uma bateria de lithium para
manter a hora correta mesmo sem alimentação do sistema. Esta placa pode ser
utilizada com qualquer Arduino, microcontrolador e microprocessador realizando
interface de comunicação pela porta I2C (Inter-Integrated Circuit) um protocolo
de comunicação serial síncrona. A Figura 7 mostra a placa RTC Breakout.
Figura 7: Placa RTC Breakout
11. 11
Placa RFID-RC522 Breakout: Placa de leitura de tags em forma de cartões e
chaveiros baseado no chip MFRC522 que é utilizado em comunicação sem
contato a uma frequência de 13.56MHz. Esta placa pode ser utilizada com
qualquer Arduino, microcontrolador e microprocessador realizando interface de
comunicação pela porta SPI (Serial Peripheral Interface) um protocolo de
comunicação serial síncrona. A Figura 8 mostra a placa RFID-RC522 Breakout e
as tags em forma de cartão e chaveiro.
Figura 8: Placa RFID-RC522 Breakout, chaveiro e cartão
Módulo LCD 16x2: Display de Cristal Líquido ou do inglês Liquid Crystal
Display (LCD) é um módulo de 16 colunas por 2 linhas com blacklight de fundo
verde com controlador HD44780 que realiza interface de comunicação de dados
por 4 ou 8 bits. A Figura 8 mostra o modulo LCD 16x2.
Figura 8: Modulo LCD 16x2
Mais informações sobre o Projeto de Hardware são apresentadas no Apêndice C.
12. 12
Software
Notepad++ v6.7.5 (Notepad++, 2015): É um editor de código fonte gratuito que
da suporte a várias linguagens de programação. Roda apenas em Windows; é
escrito em C++ e usa a API WIN32 pura e STL, que lhe da alta velocidade de
execução e um programa de tamanho bem reduzido.
PHP v5.4 (PHP, 2015): PHP Hypertext Preprocessor é uma linguagem de scripts
de propósito geral que é especialmente adequado para desenvolvimento Web. É
rápida, flexível e pragmática.
MySQL v5.5 (MySQL, 2015): É o Sistema Gerenciador de Banco de Dados de
código aberto mais popular do mundo. Apoiado por uma comunidade ativa de
desenvolvedores e entusiastas de código aberto é um banco de dados compatível
com ACID (Atomicity, Consistency, Isolation and Durability) totalmente
integrado e pode ser usado livremente em sua versão Communit Edition.
Mais informações sobre o Projeto de Software são apresentadas no Apêndice B.
Problemas Encontrados
Não foram encontrados problemas para a execução do projeto, pois já se tinha
conhecimentos similares a ferramentas e tecnologias utilizadas no projeto. O
maior desafio na execução do projeto foi a integração de todos os periféricos na
construção do Sistema Embarcado e sua comunicação com uma Aplicação Web
com resposta de feedback.
3. CONCLUSÕES
Este projeto foi bem gratificante de se realizar, pois possibilitou o contato com
diferentes ferramentas e tecnologias e a integração entre elas para a construção de
um sistema bem próximo a de um sistema comercial, sendo possível de se
transformar em um produto para o mercado. O desenvolvimento do projeto
possibilitou à experiência de se fazer a conectividade de um Sistema Embarcado
com uma aplicação específica à rede Internet.
O desenvolvimento do protótipo para teste teve um custo de R$ 248,18. A sua
viabilidade de ser um produto para o mercado é grande, mas para isso, é
necessário adicionar outros recursos ao protótipo, como cartão de memória para
armazenar os registros localmente caso ocorra falha na conexão Internet, bateria
para manter o funcionamento na falta de energia elétrica e uma impressora para
emitir comprovante de entrada/saída para o funcionário, considerando o que a
legislação vigente determina. Como um comparativo de custo, um Ponto
Eletrônico da Henry (Henry, 2015) modelo REP Prisma Super Fácil – R02 tem
um custo de R$ 1.599,00, um Ponto Eletrônico da Dimep (Dimep, 2015) modelo
Miniprint tem um custo de R$ 1.969,00. O protótipo pode oferecer uma solução
personalizada a um custo menor aos produtos citados para empresas de menor
porte.
13. 13
4. REFERÊNCIAS ÚTEIS
Apache (2015). [on-line] Site oficial do Servidor Web Apache disponível em:
http://httpd.apache.org/. Acessado em 21 de Junho de 2015.
Arduino (2015). [on-line] Site oficial do Arduino disponível em:
http://www.arduino.cc/. Acessado em 17 de Maio de 2015.
Arduino Tutorial (2015). [on-line] Site oficial do Arduino com Tutorial com
exemplos das funções do Core e Libraries do Arduino disponível em:
http://www.arduino.cc/en/Tutorial/HomePage/. Acessado em 17 de Maio de 2015.
Arduino Tutorial LiquidDisplay (2015). [on-line] Site oficial do Arduino com
Tutorial de exemplo de como produzir um “Hello World!” utilizando o LCD
disponível em: http://www.arduino.cc/en/Tutorial/LiquidDispaly. Acessado em 17
de Maio de 2015.
Arduino Referencia (2015). [on-line] Site oficial do Arduino de Referencia da
Linguagem que é dividida em três partes: estrutura, variáveis/constantes e funções
disponível em: http://www.arduino.cc/en/Reference/HomePage/. Acessado em 17
de Maio de 2015.
Arduino Tutorial WebClient (2015). [on-line] Site oficial do Arduino com
Tutorial de exemplo de como produzir uma requisição HTTP usando o Ethernet
Shield disponível em: http://www.arduino.cc/en/Tutorial/WebClient. Acessado em
17 de Maio de 2015.
Biblioteca ArduinoJSON (2015). [on-line] Repositório oficial da biblioteca de
parsing of JavaScript Object Notation (JSON) para Arduino disponível em:
https://github.com/bblanchon/ArduinoJson. Acessado em 17 de Maio de 2015.
Biblioteca DS1307 (2015). [on-line] Site oficial da biblioteca DS1307 para
Arduino disponível em: http://www.rinkydinkelectronics.com/library.php?id=34.
Acessado em 17 de Maio de 2015.
Biblioteca MFRC522 (2015). [on-line] Repositório oficial da biblioteca RFID
Arduino para MFRC522 disponível em: https://github.com/miguelbalboa/rfid.
Acessado em 17 de Maio de 2015.
Dimep (2015). [on-line] Site oficial da empresa de Ponto Eletrônico Dimep
disponível em: http://www.dimep.com.br. Acessado em 21 de Junho de 2015.
Henry (2015). [on-line] Site oficial da empresa de Ponto Eletrônico Henry
disponível em: http://www.henry.com.br. Acessado em 21 de Junho de 2015.
MySQL (2015). [on-line] Site oficial do Banco de Dados MySQL disponível em:
http://dev.mysql.com/. Acessado em 17 de Maio de 2015.
Notepad++ (2015). [on-line] Site oficial do editor para código fonte disponível
em: https://notepad-plus-plus.org/. Acessado em 17 de Maio de 2015.
14. 14
PHP (2015). [on-line] Site oficial da linguagem PHP disponível em:
http://php.net/. Acessado em 17 de Maio de 2015.
XAMPP (2015). [on-line] Site oficial do pacote de desenvolvimento com Servidor
Apache, Banco de Dados MySQL, PHP e Perl disponível em:
https://www.apachefriends.org/index.html. Acessado em 17 de Maio de 2015.
15. 15
FACULDADE CAMPO LIMPO PAULISTA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
Um Sistema de Ponto Eletrônico Digital: projeto e
implementação de hardware e software
APÊNDICE A – MANUAL DE USUÁRIO
Para utilização deste sistema será necessário o protótipo do Ponto Eletrônico
Digital providenciando sua alimentação e conexão para Internet junto com as tags
de identificação dos funcionários. E para acessar a Aplicação Web, basta digitar a
seguinte URL (Uniform Resource Location) http://localhost/tcc.
A Figura A1 mostra o protótipo do Ponto Eletrônico Digital energizado e
aguardando a aproximação da tag de identificação do funcionário para leitura.
Figura A1: Protótipo do Ponto Eletrônico Digital aguardando leitura da tag
de identificação
Na Figura A2 é apresentado o protótipo do Ponto Eletrônico Digital realizando a
leitura da tag e o feedback da Aplicação Web retornando o nome do funcionário e
apresentando o mesmo no LCD com uma saudação de boa tarde.
16. 16
Figura A2: Protótipo do Ponto eletrônico Digital realizando a leitura da tag
de identificação
Quando for acessada a URL http://localhost/tcc a Figura A3 mostra a tela de
autenticação que é apresentada para acesso aos registros dos horários que foram
persistidos na base de dados.
Figura A3: Tela de autenticação
Para ter acesso ao sistema é utilizado um nome de usuário e Senha padrão, sendo
o nome de usuário “faccamp” e a Senha “tcc”, utilizados para teste.
Depois que for realizado a autenticação do usuário é apresentado a seguinte tela
conforme a Figura A4 mostra.
17. 17
Figura A4: Tela para selecionar o funcionário
Na tela da Figura A4 é feita a escolha do funcionário que se quer visualizar os
registros recuperados da base de dados.
E na Figura A5 são apresentados os registros recuperados, sendo que são
mostrados cinco registros por vez numa Tabela simples e havendo mais que cinco
registros os demais podem ser vistos pela paginação dos mesmos.
Figura A5: Tela dos registros mostrando os registros. Outros registros
podem ser exibidos utilizando-se os hiperlinks abaixo da Tabela
18. 18
FACULDADE CAMPO LIMPO PAULISTA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
Um Sistema de Ponto Eletrônico Digital: projeto e
implementação de hardware e software
APÊNDICE B – PROJETO DE SOFTWARE
Para um melhor entendimento do projeto de software a Figura B1 apresenta o
diagrama do sistema.
Figura B1: Diagrama do Sistema
A comunicação entre o Sistema Embarcado e a Aplicação Web, que executa em
um Servidor Apache (Apache, 2015), está ilustrada na Figura B1. A comunicação
é iniciada quando é feita a leitura da tag do funcionário, onde é pego o UID (User
Identification Data) da tag junto com a hora e dia para criar uma string no
formato de URL (Uniform Resource Location) para ser enviada uma solicitação
pelo método POST ao Servidor Apache, que responde retornando o nome do
funcionário para o dispositivo.
19. 19
As Figuras B2 e B3 apresentam o DER e MER do Banco de Dados, sendo que o
projeto do banco de dados é simples, pois o objetivo é apenas persistir a hora, data
e dia da semana e recuperá-los posteriormente.
Figura B2: Diagrama Entidade Relacionamento do bando de dados
projetado
A arquitetura da Aplicação Web está sintetizada na Figura B2. Ela é representada
por uma entidade “administrador”, que tem permissão de acesso aos registros dos
horários e pela entidade “funcionario”, que se relaciona com a entidade “registro”,
que representa os dados coletados dos funcionários no Sistema Embarcado.
Figura B3: Modelo Entidade Relacionamento
20. 20
A estrutura de diretórios da Aplicação Web é apresentada na Figura B4.
Figura B4: Estrutura de diretórios
Pela Figura B4 pode-se ver que existem os diretórios dao e controller que
possuem as classes para manipulação do banco de dados, as Figuras B5 e B6
apresentam o diagrama de classe do modelo e do controle dos dados.
Figura B5: Diagrama de classe do modelo (diretório dao)
Figura B6: Diagrama de classe do controle (diretório controller)
21. 21
Um ponto importante a se destacar é de como o Dispositivo Web Cliente na
Figura B1 faz a requisição para o Servidor, conforme mostrado na Figura B7.
data = "uid=" + uid +
"&hora=" + rtc.getTimeStr() +
"&data=" + rtc.getDateStr(FORMAT_LONG,FORMAT_LITTLEENDIAN,'/') +
"&dia=" + rtc.getDOWStr(FORMAT_SHORT);
client.println("POST /tcc/pontoeletronico.php HTTP/1.1");
client.println("Host: hostServer");
client.println("User-Agent: Arduino/1.0");
client.println("Connection: close");
client.println("Content-Type: application/x-www-form-urlencoded;");
client.print("Content-Length: ");
client.println(data.length());
client.println();
client.println(data);
client.println();
Figura B7: Montagem da string da URL e cabeçalho da solicitação para o
Servidor Web
A variável data é do tipo string e recebe uma string no formato de URL com os
dados a serem enviados ao servidor. Os comandos seguintes client.println
enviam o cabeçalho de requisição HTTP pelo método POST junto com o
comprimento da variável data e a própria variável data no corpo do cabeçalho.
Depois que o servidor processa a requisição verificando a qual funcionário o UID
da tag pertence para persistir os dados corretamente, o servidor irá responder a
requisição enviando o nome do funcionário em formato JSON para o Dispositivo
Web Cliente na Figura B1 que será informado no LCD do dispositivo com um
comprimento de “Bom Dia!”, “Boa Tarde!” ou “Boa Noite!” conforme o horário
indicando o sucesso na leitura da tag e persistência do registro na base de dados.
Caso ocorra algum erro na persistência do registro será retornada a mensagem
“Erro no Registro!” e ela será mostrada no LCD.
A seguir será mostrado o formato de resposta JSON que o Dispositivo Web
Cliente receberá:
{“nome”: “Andre Devecchi”}
O JSON acima é retornado em caso de sucesso e o mostrado abaixo em caso de
falha:
{“nome”: “Erro no Registro!”}
22. 22
FACULDADE CAMPO LIMPO PAULISTA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
Um Sistema de Ponto Eletrônico Digital: projeto e
implementação de hardware e software
APÊNDICE C – MANUAL DE OPERAÇÃO E IMPLANTAÇÃO
A Figura C1 apresenta o diagrama de blocos do Sistema Embarcado.
Figura C1: Diagrama de blocos do Sistema Embarcado
Na Figura C1 pode-se observar que a comunicação entre o Arduino Duemilanove
com Ethernet Shield e RFID são feitas pelo protocolo de comunicação serial
síncrona SPI (Serial Peripheral Interface). Já a comunicação com o RTC (Real
Time Clock) utiliza o protocolo de comunicação serial síncrona I2C (Inter-
Integrated Circuit). A comunicação com o LDC (Liquid Crystal Display) utiliza 2
vias para controle sendo uma para habilitar o LCD e a outra para selecionar o
envio de comandos ou dados, e 4 vias de comunicação sendo que o byte (8 bits) é
divido em 2 nibbles e o nibble mais significativo é enviado primeiro seguido do
nibble menos significativo.
O Sistema Embarcado é composto por cinco componentes sendo a principal o
Arduino Duemilanove que possui o microcontrolador e é responsável por todo o
processamento do sistema embarcado e os demais componentes como periféricos
do sistema: a Ethernet Shield para Interface com a Internet, Breakout RFID para
leitura das tags de identificação dos funcionários, Breakout RTC que prove hora e
data em tempo real e o Modulo LCD 16x2 para informar os usuários. As Figuras
C2, C3, C4 e C5 apresentam como é o esquema de ligação com o Arduino e seus
periféricos.
23. 23
Figura C2: Esquema de ligação Arduino Duemilanove com Ethernet Shield
Figura C3: Esquema de ligação Arduino Duemilanove com Breakout RFID
24. 24
Figura C4: Esquema de ligação Arduino Duemilanove com Breakout RTC
Figura C5: Esquema ligação Arduino Duemilanove com LCD 16x2
25. 25
A instalação da IDE de Desenvolvimento do Arduino é bem simples bastando ir
ao site oficial do Arduino (Arduino, 2015) e ir para seção de download a duas
opções um arquivo instalador e um arquivo zip. Optou-se pela opção zip, baixe o
arquivo “arduino-1.0.5-r2-windows.zip” ou posterior, descompactar o
arquivo e mover a pasta para o driver C: renomeie a pasta para “arduino-1.0.5-
r2”, ao entrar na pasta C:arduino-1.0.5-r2 basta dar um duplo clique no arquivo
arduino.exe e o programa é executado como mostra a Figura C6.
Figura C6: IDE do Arduino
Com a IDE mostrada na Figura C6 é só escrever o sketch do Arduino e realizar o
upload para a placa e ver o seu programa em funcionamento.
26. 26
Para instalar o Editor de Código Fonte Notepad++ basta ir ao site oficial
(Notepad++, 2015), no site é possível realizar o download do arquivo instalador e
arquivo zip, optou-se pelo download do arquivo “npp.6.7.5.bin.zip” ou
posterior, descompactar o arquivo e mover a pasta para o driver C: renomeie a
pasta para “Notepad++”, ao entra na pasta C:Notepad++ basta dar um duplo
clique no arquivo notepad++.exe e o programa é executado como mostra a
Figura C7.
Figura C7: Notepad++
Com o Editor mostrado na Figura C7 é só escrever os scripts da aplicação.
27. 27
Na configuração do Servidor local utilizou-se o XAMPP que nos oferece todos os
recursos necessários para a aplicação tendo Servidor Apache, MySQL e PHP.
Sugere-se baixar a versão mais atual do XAMPP do site oficial (XAMPP, 2015).
Existem versões para Windows, Linux, MacOS. Pode-se escolher para Windows.
É possível baixar o arquivo instalador e zip, e após escolher o instalador inicie-se
o download.
Pra executar o arquivo instalador basta clicar em Next. Na segunda tela, pode-se
escolher um diretório onde o XAMPP será instalado. Por padrão é o driver onde
está o Windows, logo C:xampp recomenda-se manter o caminho padrão.
Na Figura C8 devem-se definir algumas coisas. Selecione os itens “Install Apache
as service” e “Install MySQL as service”. Isso fará com que o Apache e o MySQL
rodem como serviços do Windows.
Figura C8: Configuração da instalação do XAMPP
Ao clicar em “Install” aguarde. Se o instalador fizer algumas perguntas, clique em
“Yes”.
28. 28
No final da instalação será criado um ícone na sua área de trabalho, o XAMPP
Control Panel. Abra-o e será mostrada a tela da Figura C9.
Figura C9: XAMPP Control Panel
A Figura C9 mostra que o Apache e o MySQL estão “running”, ou seja,
executando. Caso algum deles não esteja, clique no botão “Start” e note a
mensagem “Apache started” ou “MySQL started” na caixa abaixo, indicando que
o serviço foi iniciado.
Para habilitar o PDO para o MySQL abra o arquivo php.ini localizado em
C:xamppphpphp.ini localize a seguinte linha:
;extension=php_pdo_mysql.dll
mudar para:
extension=php_pdo_mysql.dll
e reinicie o servidor Apache.