Código para o Arduído para enviar temperatura dentro da WAN.

#include “DHT.h” // Espeficica a lib local
#include // Lib para a comunicação serial
#include // Lib para a eth0

#define DHTPIN A2 // Usa o pino analógico 2
#define DHTTYPE DHT11 // Define a dht11 do tipo dhttipo

DHT dht(DHTPIN,DHTTYPE); // Declara a dht

float umidade; // Ira receber 2 casas decimais
float temperatura; // 2 Casas decimais definidas na tabela

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Define o endereço da eth0

char server[] = “www.messier83.com.br”; // Servidor de web e banco

IPAddress myDns(192, 168, 0, 1); // Endereço do router/dns local
byte ip[] = {192, 168, 0, 10}; // IP local se não usar dhcp

EthernetClient client; // Cria o cliente

void setup() // —- main() ———————————-
{
Serial.begin(9600); // Inicializa a porta e define a velocidade
while (!Serial)
{
; // Espera a porta conectar (para caso de uso da USB)
}
Serial.println(” “);
Serial.println(” “);
Serial.println(“1. Inicia a eth0 “);
if (Ethernet.begin(mac) == 0)
{ // tenta usar dhcp
Serial.println(“Inicializado a eth0”);
Ethernet.begin(mac, ip, myDns);
} else {
Serial.print(“IP do arquino: “);
Serial.println(Ethernet.localIP());
}
delay(1000); // Espera a eth0 inicializar
Serial.print(“1. Conectando a “);
Serial.print(server); // Onde vamos nos conectar
Serial.println(“…”);
dht.begin(); // Inicializa o sensor

if (client.connect(server, 80)) // Testa se exsite conexao
{
Serial.print(“Conectado em… “);
Serial.println(client.remoteIP()); // Mostra o ip do servidor web
client.println(“GET /temperatura/teste.txt HTTP/1.1”); // testa o HTTP get
client.println(“Host: www.messier83.com.br”);
client.println(“Connection: close”);
client.println();
} else {
Serial.println(“connection failed”); // — Se não conecta informar pela serial —
}
} // — fim do main() ————————————————-

void loop() // — loop eterno —————————————–
{
umidade = dht.readHumidity(); // atribui o valor da umidade
temperatura = dht.readTemperature(); // atribui o valor da umidade
Sending_To_ServidorMariaDB(); // chama a função para enviar os dados
delay(150000); // uma pequena pausa
} // — fim do loop eterno ———————————————

void Sending_To_ServidorMariaDB() //—- conta com o DB e envia os dados—————
{
Serial.println(” “);
if (client.connect(server, 80)) // — início do teste de conexão ——-
{ // A. Imprime na serial a requisição HTTP, vamos testar e ver na serial ! ——
Serial.println(“1. Connectado ao servidor…”);
Serial.print(“GET /temperatura/insert.php?temperatura= “); //mostra a URL usada
Serial.print(temperatura); // imprime a temperatura na saida serial
Serial.print(” &umidade= “); // +1 concatenacao
Serial.print(umidade); // imprime a umidade na serial

//— B. Monta a requisição GET via HTTP e manda para o Servidor ————-
client.print(“GET /temperatura/insert.php?temperatura=”); // o método HTTP GET
client.print(temperatura);
client.print(“&umidade=”);
client.print(umidade);
client.print(” HTTP/1.1\r\n”); // última parte da linha GET
client.println(“Host: www.messier83.com.br\r\n”); //Finalizando…
client.print(“Connection: close’\r\n\n” ); // Termina a conexão
client.stop();
delay(150000); // +1 pequena pausa
} else { // Saída do IF se não conectar
Serial.println(“2. A conexão falhou !”);
} // — Fim do if-else —-
} // — Fim do loop infinito ———————————