Status entradas/salidas -> Google docs

Hola,
Me gustaria saber si es posible con un arduino+ethernet subir informacion a una hoja de calculo de google docs.
Que se fueran añadiendo lineas al archivo.
Se me ocurren las siguiente aplicaciones:
· Subir a una hoja de calculo la temperatura y la hora
· Subir el estado de entradas y salidas cada 5 min de un arduino. Como un historico.
...
...
Saludos!!!!!

Si se puede. En la pagina de google existe mucha documentacion para usar el API que permite subir datos a Google Docs

Hola, ¿Conoceis algun proyecto de hack a day con alguna aplicación en concreto?
Gracias

No lo recuerdo, todo el mundo usa pachube

Ésto estaba en el foro.

/*
        * A simple sketch that uses Ethernet Shield to send some values (via POST) to GoogleDocs
        * Based on code by RobertMParker for the WiShield <http://asynclabs.com/forums/viewtopic.php?f=16&t=489>
 */

#include <Ethernet.h>
#include <SPI.h>

#define DEBUG_PRINT // comment to disable Serial.print

long unsigned int time =0;

//Wireless configuration parameters ----------------------------------------
byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = {
  192,168,0,3};   // IP address of Ethernet Shield
byte gateway[] = {
  192,168,0,1};   // router or gateway IP address
byte subnet[]    = {
  255,255,255,0}; // subnet mask for the local network

// IP Address for spreadsheets.google.com
byte ipGoogle[] = {
  74,125,67,102};
char hostname[] = "spreadsheets.google.com";
char url[] = "/formResponse?formkey=<ENTER_YOUR_KEY_HERE>";



// create a client that connects to Google
Client clientGoogle(ipGoogle,80);

void setup()
{   
  // Enable Serial output and ask WiServer to generate log messages (optional)
#ifdef DEBUG_PRINT
  Serial.begin(115200);
#endif //DEBUG_PRINT
  Ethernet.begin(mac, ip, gateway, subnet);

  // give the Ethernet shield a second to initialize
  delay(1000);
  int time = millis();
  clientGoogle.connect();
}


void loop()
{
  float temperature = (float) random(1000)/10.; // create some random values to test
  float humidity = 45 + (millis()%1000)/100.;
  if ( millis() > time + 10000 && clientGoogle.connected()){ // update sheet each 10 s
    String feedData = "entry.0.single=" + String((int)temperature) + "," + String(int(temperature*100)%100) + "&entry.1.single=" + String(int(humidity)) + "," + String(int(humidity*100)%100) + "&pageNumber=0&backupCache=&submit=Envoyer";
    //Serial.println(feedData);
    postRequest(clientGoogle, ipGoogle, 80, hostname, url, feedData);
    time = millis();
  }
  delay(10);
}

void postRequest(Client client, byte *ip, unsigned int port, char *hostName, char *url, String feedData){ 
  String buf = "POST " + String(url) + " HTTP/1.1";

#ifdef DEBUG_PRINT 
  Serial.println(buf);
  Serial.println("Host: " + String(hostName));
  Serial.println("Content-Type: application/x-www-form-urlencoded");
  Serial.println("Content-Length: " + String(feedData.length()));
  Serial.println("");
  Serial.println(feedData);
  Serial.println("");
  Serial.println(""); 
#endif

  client.println(buf);
  client.println("Host: " + String(hostName));
  client.println("Content-Type: application/x-www-form-urlencoded");
  client.println("Content-Length: " + String(feedData.length()));
  client.println("");
  client.println(feedData);
  client.println("");
  client.println(""); // POST request as GET ends with 2 line breaks and carriage returns (\n\r);
}

Menos mal que hay gente como Pascual!
Gracias, lo voy a probar.
Saludos

conander:
Menos mal que hay gente como Pascual!
Gracias, lo voy a probar.
Saludos

haciendo amigos?

Es bastante descalificativo lo de "menoss mall"

Una simple busqueda en google te ofrece ese codigo como primer resultado junto con un tutorial completo

Por lo que de "menos mal" nada, haz tu parte!!!