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

#include “DHT.h” // espeficica a lib local
#include // esta libs estao na pasta do arduino
#include // esta libs estao na pasta do arduino

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

#define DHTPIN A2 // Usa o pino analógico 2
#define DHTTYPE DHT11 // Definições de tipo para o sensor

DHT dht(DHTPIN,DHTTYPE); // Cria o dht

float umidade; // Usamos float pois temos 2 decimais no campo
float temperatura; // Usamos float pois temos 2 decimais no campo

char server []= “192.168.0.7”; // Ip do apache e mariadb na lan
byte ip[] = {192, 168, 0, 10}; // Ip do arduino
EthernetClient client; // cria o cliente

/* Configura a serial, inicializa o DHT, inicializa a Ethernet e criar um delay */
void setup() // —– código executado apenas uma vez main() ————
{
Serial.begin(9600); // configura a porta serial
dht.begin(); // Inicializa o DHT
Ethernet.begin(mac, ip); // Inicializa a placa Ethernet.
delay(5000); // Criar um delay
} //— Fim do código executado apenas uma vez ———————–

void loop() /* Infinite Loop */ // ——– Início do loop infinito —————————
{
umidade = dht.readHumidity(); // atribui o valor à variável
temperatura = dht.readTemperature(); // atribui o valor à variável
Sending_To_ServidorMariaDB(); // chama a função para enviar os dados ao banco
delay(5000); // uma pequena parada!
} // — Fim do loop infinito ———————————

void Sending_To_ServidorMariaDB() // — Conectar no webserver e chamar o php —
{
Serial.println(” “); // Coloca uma linha em branco na serial
if (client.connect(server, 80)) // — início do teste de conexão —
{ // 1. Imprime na serial a requisição HTTP, só para ver se esta tudo ok !!!
Serial.println(“1. Connectado ao servidor…”);
Serial.print(“GET /temperatura4/insert.php?temperatura= “); //mostra a URL usada
Serial.print(temperatura); // o valor recebido da dht
Serial.print(” &umidade= “); //mostra a URL usada no http get
Serial.print(umidade); // o valor recebido da dht

// — 2. Monta a requisição HTTP pelo php para o db ————-
client.print(“GET /temperatura4/insert.php?temperatura=”); // inicio da string get
client.print(temperatura); // o valor da temperatuea
client.print(“&umidade=”);
client.print(umidade); // o valor da umidade
client.print(” HTTP/1.1\r\n”); // vamos finalizar a linha get
client.println(“Host: 192.168.0.7\r\n”); //informa quem ira receber a get
client.print(“Connection: close’\r\n\n” ); //finaliza o comando get
client.stop(); // finaliza o cliente
delay(5000); // +1 pequena pausa!
} else { // if you didn’t get a connection to the server:
Serial.println(“A. connection failed !”);
} // — Fim do if-else —-
} //— Fim da função —-

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 ———————————