Paso 4: Código y explicación de la aplicación web y cloud
El código que interactúa el sensor de Edison de Intel y la nube (que es por ahora emular por otro PC) es:
#include
#include
Char [ssid] = "LUISS_ENLABS"; tu red SSID (nombre)
pasa de Char [] = "luissenlabs"; contraseña de tu red
Float temperatura;
humedad del flotador;
flotador gas;
int de fuego;
int B = 3975;
int temp; Cadena strURL = "";
int estado = WL_IDLE_STATUS;
Server(172,16,37,156) dirección IP;
Iniciar al cliente de WiFiClient de biblioteca de cliente;
void setup() {Serial.begin(9600); Serial.println ("intentando conectar a la red WPA..."); Serial.Print ("SSID:"); Serial.println(SSID);
Estado = WiFi.begin (ssid, paso); Si (status! = WL_CONNECTED) {Serial.println ("no podía conseguir una red WiFi"); / / no hacer nada más: mientras;}}
void loop() {}
Serial.println ("Entro nel looop");
UpdateTemp();
Serial.println ("Esco da UpdateTemp");
while(Client.Available()) {char c = client.read(); Serial.Print(c); }
Si (! client.connected()) {Serial.println(); Serial.println("Disconnesso.");
Client.STOP(); } //esegui la abertura cada 10 segundos
Delay(1000); }
void UpdateTemp() {}
Serial.println("connessione...");
mientras que (client.connect (servidor, 80)) {}
Serial.println ("Connesso e sono en tiempo");
temperatura = getTempValue();
Serial.Print ("\nTemp:--->");
Serial.println(Temperature);
humedad = getHumidityValue();
Serial.Print ("Hum:--->");
Serial.println(Humidity);
gas = getGasValue();
Serial.Print ("Gas:--->");
Serial.println(gas);
fuego = getFireValue();
Serial.Print ("fuego:--->");
Serial.println(Fire);
Serial.Print ("secuencia:--->"); Creo l'url utilizzando una stringa
strURL = getURLString();
Serial.println(strURL); entrar la abertura al servidor
Client.println(strURL);
Client.println ("Host: 172.16.37.156");
S erial.println ("Host: localhost");
Client.println ("conexión: cerrar");
Client.println();
Client.STOP();
Serial.println("STOP");
Delay(2500); }
Si (client.connect (servidor, 80)) {Serial.println ("Errore Connessione");}}
Float getTempValue() {}
f loat temp = analogRead(A0);
resistencia del flotador = (1023-temp) * 10000/temp; obtener la resistencia del sensor;
Float temperatura = 1 / (log (resistencia/10000) /B+1/298.15)-273.15;//convert a la temperatura a través de la hoja de datos; volver la temperatura; }
Float getHumidityValue() {float humedad = analogRead(A1); devolver humedad;}
Float getGasValue() {gas = analogRead(A3); gas = gas/1024 * 5.0; gas de vuelta;}
int getFireValue() {fuego = digitalRead(4); volver! fuego;}
String getURLString() {}
strURL = "GET mypet/index.php?temperatura=";
temperatura de strURL += (int);
strURL += "& gas =";
gas de strURL += (int); strURL += "& umidita =";
humedad de strURL += (int); strURL += "& fuoco =";
strURL += (int) fuego; volver strURL; }
Este código lee el valor de todos los sensores en el tablero, luego envía en la nube (cloud = 172.16.37.156).
Por otra parte, datos de los sensores en la nube son legibles en una aplicación web y enviamos el valor de los sensores en Intel Dashboard Analytics.