Em seguida criamos a função para conexão à base de dados (para mais informações mais detalhadas veja MySQLi - Conexão à Base de Dados) num ficheiro chamado funcoes.php.
Depois destes dois passos iremos proceder à construção do ficheiro que irá tratar dos dados provenientes do Arduíno através do método GET.
entradadados.php
Para podermos verificar se os dados foram devidamente guardados vamos criar uma nova página, chamada index.php, onde iremos visualizar os dados.
Pode ver mais detalhes sobre este assunto em 04 - MySQLi - Inserir registos.
Arduíno
Iremos utilizar o Sketch do último projeto, Ligar e desligar LEDs Ethernet Shield, fazendo as alterações necessárias. Estas são: adicionar o ip do servidor; alterar o EthernetServer server(80) para EthernetClient cliente.
Podemos manter void setup() tal como estava.
O void loop() vamos reformulá-lo por forma a enviar os dados pretendidos apenas quando o quisermos, isto é, apenas quando introduzirmos o valor "a" no monitor serial.
A função seguinte, chamada no void loop(), permite ler o estado de cada pino e criar com esses estados uma string que será enviada ao servidor para ser tratada. Neste exemplo, só vai ser guardada na base de dados.
Neste projeto, a principal dor de cabeça é por vezes termos tudo direitinho e os dados não aparecerem gravados na Base de Dados. Por isso devemos ter em atenção as linhas de código para monitorizar o que se está a passar entre o Arduíno e o servidor PHP. Um dos erros é: 403 Forbidden.
Para resolver este problema necessitam dar permissões no Apache. Se este for a versão 2.4 devem alterar o ficheiro httpd-vhosts.conf:
Problema resolvido!
E assim chegamos ao fim de mais um projeto. Espero que tenham gostado.
Um abraço,