04 - Registar Dados com MySQL.

article featured image

Quero com este projeto mostrar como podemos enviar dados do Arduíno para uma base de dados utilizando MySQL.

Não irei mostrar nada de muito espetacular, apenas como enviar uma mensagem para a página web, que se encontra num servidor Wamp ou Xampp, e como gravar esta numa base de dados. Isto será muito importante, pois é um exemplo chave para podermos gravar outro tipo de dados.

Vamos precisar do seguinte material: Arduíno, Ethernet Shield e Cabo de Rede.

 

PHP

Como ponto de partida vamos criar uma base de dados, utilizando o phpmyadmin, chamada 'arduino' com uma tabela 'iluminacao' com os campos: ilu_id (int auto_increment), ilu_divisao (int) e ilu_estado (varchar).

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,

Post AnteriorPost Seguinte