Paso 6: Códigos para el arduino
Para utilizar este código requiere las siguientes librerías:
- OneWire librarie
-Librarie Wifly
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bueno, brevemente se explica el código para el arduino, utilizo el cliente que nos ofrece el escudo Wifly para enviar los datos en el pin digital 3 y pin analógico 0, estos son enviados como una condena al archivo "agregar.php" para esto utilizamos el client.print.
Recuerdo que modificar los datos en negrita en el código:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#ifndef __CREDENTIALS_H__
#define __CREDENTIALS_H__
char frase [] = "pass_WIFI"; contraseña Wi-Fi
Char [ssid] = "name_WIFI"; nombre Wi-Fi
#endif
#include
#include "WiFly.h"
int sensorPin = A0;
int sensorValue = 0;
int DS18S20_Pin = 3;
OneWire ds(DS18S20_Pin);
Cliente del cliente ("your_server_web", 80);
int bucle = 1;
void setup()
{
Serial.Begin (9600);
WiFly.begin();
if (!. WiFly.join (ssid, contraseña))
{
Serial.println ("Asociación de error.");
mientras (1)
{
La caída en caso de error.
}
}
}
void loop()
{
Si (client.connect())
{
sensorValue = analogRead(sensorPin);
temp de flotador = getTemp();
Serial.println (temp);
Serial.println(sensorValue);
Client.Print ("GET /add.php?");
Client.Print("temp1=");
Client.Print (temp);
Client.Print ("& &");
Client.Print("moi1=");
Client.Print (sensorValue);
Client.println ("HTTP/1.1");
Client.println ("Host: your_server_web");
Client.println ("Content-Type: aplicación/x--www-form-urlencoded");
Client.println ("conexión: cerrar");
Client.println();
Client.println();
Client.STOP();
}
retrasar (5000);
}
Float getTemp() {}
Devuelve la temperatura de un DS18S20 en grados Celsius
datos del octeto [12];
addr Byte [8];
Si (! {ds.search(addr))}
no hay más sensores en cadena, de la búsqueda reset
DS.reset_search();
volver -1000;
}
Si (OneWire::crc8 (addr, 7)! = {addr[7])}
Serial.println ("CRC no es válido!");
volver -1000;
}
Si (addr [0]! = 0 x 10 & & addr [0]! = 0x28) {}
Serial.Print ("dispositivo no se reconoce");
volver -1000;
}
DS.Reset();
DS.Select(ADDR);
DS.Write(0X44,1); iniciar la conversión, con la energía del parásito en el final
byte actual = ds.reset();
DS.Select(ADDR);
DS.Write(0xBE); Bloc de notas de lectura
para (int i = 0; i < 9; i ++) {/ / necesitamos 9 bytes
datos [i] = ds.read();
}
DS.reset_search();
el byte MSB = datos [1];
octeto LSB = datos [0];
Float tempRead = ((MSB << 8) | LSB); utilizando el complemento de dos
Float TemperatureSum = tempRead / 16;
volver TemperatureSum;
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------