Arduino – Instalando e configurando um servidor web [Parte1]

Depois de um bom tempo sem publicar nada, pois tive problemas familiares, bom mas vamos retomar os artigos de Arduino.
Vamos instalar um servidor web com alguns serviços adicionais que iremos usar mais a frente, neste post e no próximo será abordado a instalação do servidor web apache2, php e banco de dados mysql na plataforma Windows e Linux.

Windows

Instalação de Servidor Web (Apache), PHP5 e MySQL em plataforma Windows, para quem não usa Linux, nem em VM  hehe. Apesar que todos os posts que irei publicar o meu server estará rodando em uma VM Linux, mas muda apenas o diretorio dos arquivos “praticamente.
Bom primeiramente baixe o WAMP5 atualmente versão 2.1, cliquei aqui para baixar.
Antes de instalarmos o WAMP5, vamos ver as portas abertas ou listadas no nosso computador, usamos o comando netstat -na no Windows.

WindowsSemWAMP

Bom entre as primeiras podemos ver 135, 445 que são usadas no compartilhamento do Windows (RPC e SMB) e também a 139(netbios), mas não temos a 80 que será padrão do nosso servidor web e nem 3306 usada no banco de dados MySQL.
Depois de baixar o WAMP5 comece a instalar, vou dar atenção a seguinte tela:

WindowsInstallWamp1

Deixe como padrão o diretório C:\wamp, como na figura acima.
Espere a instalação terminar.

WindowsInstallWamp2

Caso surgir mais alguma opção é só avançar não existe nenhum segredo até então.
Finalizando a instalação vamos iniciar os serviços do WAMP e testar, para iniciar faça como na figura abaixo:

WindowsWampIniciarServiços

Caso na bandeja do Windows não apareça o ícone como apontado pela seta amarela, de dois cliques no ícone WampServer na Área de Trabalho como mostrado na seta azul, em seguida de um clique no ícone na bandeja e clique na opção apontada pela seta laranja “Iniciar todos os Serviços.

E agora vamos executa novamente o comando netstat -na no MS-DOS e observar a saída:

WindowsWampRodandoApacheMysql

E podemos ver agora 80 e 3306 que são as respectivas portas do Apache e o MySQL.

Vamos testar, abra o navegador [Internet Explorer (eca), Mozilla Firefox, Google Chrome] e no endereço digite:

127.0.0.1 e de enter como figura abaixo:

WindowsServidorWampRodando

Se apareceu uma tela como acima, maravilha! Esta funcionando.
Isso quer dizer que localmente, direto no computador que esta instalado o Servidor Web está funcionando, mas como o interesse é acessa a pagina de qualquer local da rede ou até mesmo da internet, vamos ver se esta funcionando pela rede também, primeiramente vamos ver qual o IP do nosso Windows, abrindo uma janela do MS-DOS e usando o comando ipconfig como na figura abaixo:

WindowsIPLocal

Agora abra algum navegador em algum computador da rede ou em uma outra Maquina Virtual e digite no endereço o IP do Windows com o WAMP, no nosso caso 192.168.0.188, no meu caso a seguinte mensagem surgiu no navegador:

WindowsAcessoWAMPRedeLocal

A mensagem é até clara, não? Só faltou ele escrever “Você não pode acessar o servidor, hahaha” hehe. Bom no Linux eu até conheço o que faz isso e como corrigir, mas no Windows não sabia mas fui no arquivo responsável no caso o httpd.conf, que todas as configurações do Apache ficam neste arquivo, então vamos entender o erro e corrigir.
Primeiro acesse o menu do WAMP e vá em Apache > httpd.conf como na figura abaixo e no arquivo que abrir procure a linha “Allow from 127.0.0.1”, sem as aspas é claro.

WindowsWampAcessoRedeCorrigido

E como já mostrei na própria figura acima, mude “Allow from 127.0.0.1” para “Allow from All”, o erro que estava dando era que você não pode acessar a pagina sem estar no computador local, ou no computador que esta rodando a aplicação (localhost ou 127.0.0.1), isso é muito util em caso esteja rodando um supervisório via web que apenas o computador local pode acessar, mas no nosso caso vamos liberar para toda a rede e mais a frente deixamos a configuração mais enxuta para cada caso.
Depois de alterar o arquivo httpd.conf salve o mesmo e vamos reiniciar o WAMP, como na figura abaixo:

WindowsWampLocaleRemoto

E tente abrir novamente, a tela acima esta divida entre o navegador no meu host e no lado direito a minha VM com Windows + WAMP, reiniciando todos os serviços como acima você reinicia o MySQL também, como foi apenas o Apache que alteramos você pode reiniciar o mesmo clicando no ícone do WAMP na bandeja indo em Apache > Services > Reiniciar Serviço.
Pronto! Servidor web rodando local e remoto. Agora vamos ver onde criamos as paginas web. Como instalamos em C:\wamp, acesse:

c:\wamp\www

O diretório que você criar ae, o arquivo (html, htm, php, css, js, …) que você criar no www ou no diretório dentro dele pode ser acessado via web.
Vamos a um exemplo que irei até adotar para futuros posts, crie um diretório dentro de C:\wamp\www com o nome arduino e dentro do diretório arduino um arquivo chamado index.html.
Agora abra o arquivo index.html com o bloco de notas mesmo e insira o seguinte código:

Agora abra o navegador local ou remoto e digita no endereço http://192.168.0.188/arduino/ e de enter, lembrando de substituir o 192.168.0.188 pelo IP do seu Windows + WAMP.
E algo como abaixo irá carregar:

WindowsWampPrimeiraPagina

Na imagem acima do lado esquerdo podemos ver a pagina web carregada e do lado direito o caminho C:\wamp\www\arduino e o arquivo index.html. Ae podemos criar outros diretórios, vários arquivos html, php, css e dentre outros.
A instalação no Windows eu achei um pouco longo e trabalhosa, próxima parte será no Linux e vocês irão ver a facilidade de levantar os mesmos serviços, espero ter sido claro e de fácil compreensão e que todos consigam caso precise fazer no Windows.

A ideia é juntar a idéia e o poder o Arduino + Ethernet Shield com o poder e recursos de um servidor web de verdade (Apache, php5, python dentre outros recursos) pois no Arduino ficamos muito limitados em poder de processamento e apenas formatação html, já um servidor apache temos um leque enorme de possibilidades e ideia que iremos explorar em breve.

Confira a parte2 do post para realizar o procedimento no Linux, acesse:

Instalando e configurando um servidor web para o Arduino – Parte2

Até a próxima!

Share Button

CC BY-NC-SA 4.0 Arduino – Instalando e configurando um servidor web [Parte1] by Cleiton Bueno is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

  • Nelcimar Mendes

    Boa tarde voce tem um exemplo pronto com botões para acionar algum equipamento com php?

    • Nelcimar Mendes

      Usando shield ENC28J60

    • Usando PHP você irá conseguir somento com um computador rodando um servidor web. Pois no Arduino apenas html/css conseguimos inserir pois são interpretados pelo navegador já o PHP temos um framework no caminho.
      E botões você faz em HTML, CSS, JQuery, Ajax e demais linguagens, PHP seria para programação e lógicas para tomar após o clique no botão.
      Entendeu?

  • Thiago

    Como vou fazer agora para comunicar com o arduino??