Como sempre, a primeira etapa é definir as bibliotecas e variáveis a utilizar, tendo em atenção que estas são globais, isto é, são reconhecidas em qualquer parte da nossa aplicação.
Como podemos ver na imagem seguinte, o void setup() não tem qualquer novidade (isto para quem tem acompanhado os projetos anteriores sobre a Ethernet Shield) apenas inicializamos o monitor serial, os pinModes e a Ethernet Shield.
No void loop() vamos construir o código que estará sempre "atento" a qualquer receção de pacotes de dados vindos do PHP.
Aquando essa receção, estes têm de ser tratados, isto é, temos de verificar a sua origem e se esta nos interessa, neste exemplo só serão tratados os que forem provenientes da página principal - index.htm. Após este passo, verificamos se nestes dados existem parâmetros a tratar, isto é, se existem LEDs que tenham que ser acendidos, dado que este é o objetivo do nosso projeto, podia ser outro como ligar um motor, abrir uma porta... Por último, pegamos nestes parâmetros e passámo-los para o circuito, isto é, ligamos ou desligamos os LEDs.
Podemos ver agora as funções utilizadas no void loop(). Estas já foram vistas no projeto anterior, "Ligar e desligar LEDs Ethernet Shield". No entanto, sofreram algumas alterações dado que a página neste projeto se encontra num servidor PHP e não há a necessidade de gerar o HTML da página através das funções.
Como já foi referido, só iremos tratar os dados que forem provenientes da página principal, index.htm. A função que se segue é a que trata deste pormenor.
Após aprovarmos o tratamento dos dados é necessário retirar deste apenas os parâmetros que contêm a informação a ser tratada pelo circuito. Vamos, para isso, utilizar a seguinte função:
A função que se segue é a que vai permitir ligar os desligar os LEDs do circuito depois de avaliar os parâmetros recebidos.
Vamos passar agora para o HTML. Aqui não há grandes novidades à exceção de uma iframe que vamos criar para esconder os dados a passar para o Ethernet Shield.
Espero que o vosso entusiasmo esteja a crescer cada vez mais. O meu está...
Fiquem bem. Um Abraço,