Buenas a todos, ya me ayudaron hace algunas semanas con alguna duda que tuve de mi proyecto y he conseguido seguir adelante gracias a ello. Mi proyecto consistía en leer los datos de un acelerómetro MMA7361 con un Arduino Mega y a partir de ahí guardar los datos en una tarjeta SD, representarlos en una pantalla LCD...
Lo que me falta para acabar el proyecto es guardar los datos en una BD. Con todo lo que he buscado en Google y en este foro creo que la idea la tengo más o menos clara. Tengo que hacer que cuando le pase a mi Arduino el programa cargue un php del tipo:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$fecha = date('Y-m-d H:i:s'); // Captura la hora y fecha
$x=$_GET['x'];
$y=$_GET['y'];
$z=$_GET['z'];
$conexion = mysql_connect('localhost','usuario de la base','contraseña')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('Nombre de la base')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
$sql="INSERT INTO Tabla(ejeX, ejeY, ejeZ, fecha ) values('".$x."','".$y."','".$z."','".$fecha ."')";
$res=mysql_query($sql,$conexion);
?>
Y en el Arduino algo del tipo (ajustándolo a mi programa):
#include <Ethernet.h>
#include <SPI.h>
#include "DHT.h"
#define DHTPIN 7
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// Configuracion del Ethernet Shield
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFF, 0xEE}; // Direccion MAC
byte ip[] = { 192, 168, 1, 177 }; // Direccion IP del Arduino
byte server[] = { 192, 168, 1, 150 }; // ip del Hosting
IPAddress dnServer(8, 8, 8, 8);
// the router's gateway address:
IPAddress gateway(192, 168, 1, 254);
// the subnet:
IPAddress subnet(255, 255, 255, 0);
EthernetClient client;
String readString = String(30);
int analog_pin = 0;
void setup(void) {
Ethernet.begin(mac, ip, dnServer, gateway, subnet); // Inicializamos el Ethernet Shield
dht.begin();
delay(1000); // Esperamos 1 segundo de cortesía
Serial.begin(9600);
}
void loop(void) {
int h = dht.readHumidity();// Lee la humedad
int t = dht.readTemperature();//Lee la temperatura
if (client.connect(server, 80) > 0) {
Serial.println("connected"); // Conexión con el servidor
client.print("GET http://192.168.1.150/APIs/CONSOLA/insercionDatos.php?ID_APARTAMENTO=1&TEMP_ACTUAL="); // Enviamos los datos por GET de temperatura a nuestro archivo php que esta en nuestro hosting
client.print(t); // valor de temperatura
client.print("&HUME_ACTUAL=");
client.print(h);
client.print("&PERSONAS_ACTUALES=0");
client.println(" HTTP/1.0");
client.println("User-Agent: Arduino 1.0");
client.println();
}
client.stop();
client.flush();
delay(60000); // E
}
La duda que tengo como subo el php para que que me introduzca los datos al conectar el Arduino. No se muy bien como hacer para que funcione todo junto...
Y la otra duda que tengo es que base de datos usar. He estado mirando el tema de amazon web services y otros servicios similares por Internet pero no se cual será mejor en este caso.
Un saludo y muchas gracias a todos¡¡