Paso 3: Conectar el arduino a internet
Utilizando el ejemplo del servidor web es realmente fácil de poner sus datos en internet.El bosquejo anterior modificado podría ser en orden a acept la solicitud http:
#include
#include
#include
dht11 DHT11;
#define nSensores 3
int puertos [nSensores];
Float fHumedades [nSensores];
Float fTemperaturas [nSensores];
int iNVisitas = 0;
Introduzca una dirección de MAC y dirección IP para el controlador a continuación.
La dirección IP dependerá de tu red local:
mac de bytes [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xEE, 0xEE};
byte ip [] = {192,168,1, 177};
Inicializar la biblioteca de servidor Ethernet
con la dirección IP y el puerto que desea utilizar
(el puerto 80 es por defecto para HTTP):
Servidor server(666);
void setup()
{
Inicie la conexión Ethernet y servidor:
Ethernet.Begin (mac, ip);
Server.Begin();
Serial.Begin(115200);
puertos = {2,3,4};
}
void getdata(int iIndice)
{
chk int = DHT11.read(puertos[iIndice]);
fHumedades [fortificazioni] =-1;
fTemperaturas [fortificazioni] =-1;
Serial.Print ("Sensor");
Serial.Print(iIndice);
Serial.Print("");
interruptor (chk)
{
caso 0:
fHumedades [fortificazioni] = (float) DHT11.humidity;
Serial.Print (fHumedades [fortificazioni], 2);
Serial.Print ("%");
fTemperaturas [fortificazioni] = (float) DHT11.temperature;
Serial.Print (fTemperaturas [fortificazioni], 2);
Serial.println ("OC");
rotura;
caso -1: Serial.println ("error de suma de comprobación"); rotura;
caso -2: Serial.println ("error de tiempo de espera"); rotura;
por defecto: Serial.println ("error desconocido"); rotura;
}
}
void loop()
{
Escuchar para clientes entrantes
Cliente cliente = server.available();
Si {} (cliente)
una solicitud http termina con una línea en blanco
Boolean currentLineIsBlank = true;
mientras (client.connected()) {}
Si (client.available()) {}
char c = client.read();
Si has llegado hasta el final de la línea (recibió una nueva línea
carácter) y la línea está en blanco, ha terminado la solicitud http,
para que puedan enviar una respuesta
Si (c == ' ' & & currentLineIsBlank) {}
Enviar un encabezado de respuesta http estándar
Client.println ("HTTP/1.1 200 OK");
Client.println ("tipo de contenido: texto/html");
Client.println();
el valor de cada pin de entrada analógica
para (int i = 0; i / / para (int analogChannel = 0; analogChannel < 6; analogChannel ++) {}
Client.Print ("sensor");
Client.Print(i);
Client.Print(":");
if(fHumedades[i]==-1)
Client.Print ("error leyendo el sensor");
otra cosa
{
Client.Print (fHumedades [i], 2);
Client.Print ("%");
Client.Print (fTemperaturas [i], 2);
Client.println ("OC");
}
Client.println("
");
}
Client.Print((iNVisitas++)/2);
Client.println ("visitas
");
rotura;
}
if (c == ' ') {
vas a empezar una nueva línea
currentLineIsBlank = true;
}
else if (c! = ' ') {}
Has conseguido un carácter en la línea actual
currentLineIsBlank = false;
}
}
}
darle tiempo al navegador de web para recibir los datos
Delay(1);
cerrar la conexión:
Client.STOP();
}
otra cosa
{
para (int i = 0; i getdata(i);
Delay(200);
}
}
Donde estoy utilizando mi configuración de red adecuada. Para utilizar la configuración, solo cambiar los valores de ip y mac.
Se puede conectar a mi servidor propio arduino para poder ver la temperatura de mi servidor