Pages: [1]   Go Down
Author Topic: Status entradas/salidas -> Google docs  (Read 1539 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 41
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


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!!!!!
Logged

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1040
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

0
Offline Offline
Newbie
*
Karma: 0
Posts: 41
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1040
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No lo recuerdo, todo el mundo usa pachube
Logged

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

Alicante
Offline Offline
Sr. Member
****
Karma: 2
Posts: 413
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ésto estaba en el foro.
Code:
/*
        * 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);
}
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 41
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!!!



« Last Edit: November 07, 2012, 03:56:49 am by Sergegsx » Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Pages: [1]   Go Up
Jump to: