Verzend data vanuit Arduino naar Googleforms en spreadsheet
3 berichten
• Pagina 1 van 1
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Verzend data vanuit Arduino naar Googleforms en spreadsheet
SVP nog ff geen commentaar toevoegen tot ik klaar ben. Thx
Zoals beloofd hier een toelichting om data vanuit de Arduino over te hevelen naar Google docs om zodoende de data in bijvoorbeeld een spreadsheet te krijgen die continu wordt bijgewerkt. In dit voorbeeld doen we even een(1) veld. Later kunnen we altijd nog meerdere velden toevoegen.
Stap 1 creëer een formulier op googledocs
je hebt hiervoor een google account nodig en een google drive (zie: drive.google.com). Dit is je eigen harde schijf op google waar de formulieren opgelagen worden.
click nu op Maken(ik werk met de NL versie van Google)
je krijgt dan het volgende scherm:
Kies hierbij het maken van een nieuwe formulier waarna je het volgende scherm krijgt.
Stap 2 creëer veld
In dit voorbeeld eerst ff een veld creëren. (een stap tegelijk).
Nu moet je bij de velden voor tekst velden kiezen (zie bovernste ovaal). Als je daarop klikt, kun je voor tekst kiezen,
Geef de vraag (=veld) een naam. Dit is de naam die we later ook terug zien in de excel sheet. in ons voorbeeld noemen wij die "temperatuur".
Stap 3 Titel en afronden
We kunnen altijd nog de titel aanpassen in ons geval in "Arduino Meting".
Na het indrukken van Gereed krijg je tenslotte onderstaand scherm
Stap 4 publiceren
We zijn nu klaar om te publiceren. Druk op Formulier verzenden en krijg je de volgende popup te zien.
kopieer de link naar het formulier. die hebben we straks later nodig.
In dit voorbeeld is het : https://docs.google.com/forms/d/1t2JOuX ... c/viewform.
Stap 5 Keuze spreadsheet voor de resultaten
De volgende popup is om aan te geven waar de data wordt opgeslagen.
Hier kies je dus in dit voorbeeld voor "Nieuwe spreadsheet" en druk op maken
Als je nu naar de Google drive gaat, zie je nog steeds een naamloos formulier. Via het menu kun je de naam veranderen. Dat wijst zichzelf.
PushingBox
Ga naar http://www.pushingbox.com en log in met je google account. Ga daarna naar my services in het menu.
Stap 6 creer een service
Click eerst op Add a service. Je krijgt dan een overzicht te zien van alle services die mogelijk zijn. Kies in dit geval voor customurl.
Wat je hier doet is de link straks bekend maken naar het formulier dat wij eerder hebben gecreëerd. Hier vul je de naam in van de dienst. In ons geval Arduino Meting en de link invullen die wij eerder hebben bewaard. Echter wij moeten iets aanpassen. aan het einde van de link staat view en dat moet vervangen worden door formResponse en tenslotte de method veranderen van GET in POST
Zoals beloofd hier een toelichting om data vanuit de Arduino over te hevelen naar Google docs om zodoende de data in bijvoorbeeld een spreadsheet te krijgen die continu wordt bijgewerkt. In dit voorbeeld doen we even een(1) veld. Later kunnen we altijd nog meerdere velden toevoegen.
Stap 1 creëer een formulier op googledocs
je hebt hiervoor een google account nodig en een google drive (zie: drive.google.com). Dit is je eigen harde schijf op google waar de formulieren opgelagen worden.
click nu op Maken(ik werk met de NL versie van Google)
je krijgt dan het volgende scherm:
Kies hierbij het maken van een nieuwe formulier waarna je het volgende scherm krijgt.
Stap 2 creëer veld
In dit voorbeeld eerst ff een veld creëren. (een stap tegelijk).
Nu moet je bij de velden voor tekst velden kiezen (zie bovernste ovaal). Als je daarop klikt, kun je voor tekst kiezen,
Geef de vraag (=veld) een naam. Dit is de naam die we later ook terug zien in de excel sheet. in ons voorbeeld noemen wij die "temperatuur".
Stap 3 Titel en afronden
We kunnen altijd nog de titel aanpassen in ons geval in "Arduino Meting".
Na het indrukken van Gereed krijg je tenslotte onderstaand scherm
Stap 4 publiceren
We zijn nu klaar om te publiceren. Druk op Formulier verzenden en krijg je de volgende popup te zien.
kopieer de link naar het formulier. die hebben we straks later nodig.
In dit voorbeeld is het : https://docs.google.com/forms/d/1t2JOuX ... c/viewform.
Stap 5 Keuze spreadsheet voor de resultaten
De volgende popup is om aan te geven waar de data wordt opgeslagen.
Hier kies je dus in dit voorbeeld voor "Nieuwe spreadsheet" en druk op maken
Als je nu naar de Google drive gaat, zie je nog steeds een naamloos formulier. Via het menu kun je de naam veranderen. Dat wijst zichzelf.
PushingBox
Ga naar http://www.pushingbox.com en log in met je google account. Ga daarna naar my services in het menu.
Stap 6 creer een service
Click eerst op Add a service. Je krijgt dan een overzicht te zien van alle services die mogelijk zijn. Kies in dit geval voor customurl.
Wat je hier doet is de link straks bekend maken naar het formulier dat wij eerder hebben gecreëerd. Hier vul je de naam in van de dienst. In ons geval Arduino Meting en de link invullen die wij eerder hebben bewaard. Echter wij moeten iets aanpassen. aan het einde van de link staat view en dat moet vervangen worden door formResponse en tenslotte de method veranderen van GET in POST
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Verzend data vanuit Arduino naar Googleforms en spreadsh
De service is nu bekend en weet PushingBox het juiste formulier te vinden. Je krijgt de service dan ook keurig in de lijst services te zien.
De volgende stap is het creëren van de link naar de velden in het formulier. Click op My scenarios
Je kan dan nieuwe scenarios toevoegen of bestaande wijzigen. Waarom het scenario heet. Geen idee maar het werkt.
Je kan nu een nieuwe naam invullen voor een scenario. In ons geval noemen wij die hArduinoMeting. Waarom die "h" ervoor? Geen idee zij geven het aan maar zou best kunnen dat het overbodig is. En click op ADD
Stap 7 Voeg acties toe
Je krijgt eerst het volgende scherm te zien
Met de actions ga je de mapping uitvoeren die nodig is voor het veld. Dus Pushingbox zal de specifieke velden voor jou in het formulier invullen en een submit simuleren.
Dus druk op Add an Action.
Je krijgt het volgende scherm te zien (we zijn er bijna ) en kies voor Arduino Meting
Echter nu moet je wel weten hoe het veld heet in de code van het formulier. Ik doe dat door bij het formulier de "live" versie te kiezen en de broncode te bekijken. Daar kom je het veld tegen dat begint met entry.. Die heb je nodig om het veld te kunnen vullen (ik heb het ook niet verzonnen). In deze tutorial is dat : entry.433477295. Dit veld vullen we in als eerste in het volgende scherm:
Hierin staat achter het entry veld de text =$temp$. Wat hier eigenlijk gebeurt is dat er straks in de uitvoering een variable genaamd temp wordt ingevuld in het entry veld. temp is straks de variabele in ons programma. Druk nu op Submitwe zijn klaar.
De code voor de Arduino ziet er in de basis als volgt uit:
Downloaden en draaien.
Als je nu naar de spreadsheet gaat zie je data binnenkomen
Tijdstempel temperatuur
12-10-2013 15:46:13 548
12-10-2013 15:46:30 362
De volgende stap is het creëren van de link naar de velden in het formulier. Click op My scenarios
Je kan dan nieuwe scenarios toevoegen of bestaande wijzigen. Waarom het scenario heet. Geen idee maar het werkt.
Je kan nu een nieuwe naam invullen voor een scenario. In ons geval noemen wij die hArduinoMeting. Waarom die "h" ervoor? Geen idee zij geven het aan maar zou best kunnen dat het overbodig is. En click op ADD
Stap 7 Voeg acties toe
Je krijgt eerst het volgende scherm te zien
Met de actions ga je de mapping uitvoeren die nodig is voor het veld. Dus Pushingbox zal de specifieke velden voor jou in het formulier invullen en een submit simuleren.
Dus druk op Add an Action.
Je krijgt het volgende scherm te zien (we zijn er bijna ) en kies voor Arduino Meting
Echter nu moet je wel weten hoe het veld heet in de code van het formulier. Ik doe dat door bij het formulier de "live" versie te kiezen en de broncode te bekijken. Daar kom je het veld tegen dat begint met entry.. Die heb je nodig om het veld te kunnen vullen (ik heb het ook niet verzonnen). In deze tutorial is dat : entry.433477295. Dit veld vullen we in als eerste in het volgende scherm:
Hierin staat achter het entry veld de text =$temp$. Wat hier eigenlijk gebeurt is dat er straks in de uitvoering een variable genaamd temp wordt ingevuld in het entry veld. temp is straks de variabele in ons programma. Druk nu op Submitwe zijn klaar.
De code voor de Arduino ziet er in de basis als volgt uit:
- Code: Alles selecteren
/* Arduino to Google Docs
created 2011
This example code is in the public domain.
http://www.open-electronics.org
http://www.futurashop.it
https://spreadsheets.google.com/formResponse?formkey=dDBMdUx3TmQ5Y2xvX2Z0V183UVp2U0E6MQ
&ifq&entry.0.single=Boris
&entry.2.single=Landoni
&submit=SubmitOriginal from
http://goodsite.cocolog-nifty.com/uessay/2010/07/arduinogoogle-d.html
Modified by John Missikos 11/6/11
Modified by Andrea Fainozzi 30/6/11
Modified by Boris Landoni 8/7/11 */
//#include <Ethernet.h>
#include <SPI.h>
#include <WiFly.h>
#include "Credentials.h"
char serverName[] = "api.pushingbox.com"; // pushing box server
char devid[] = "vCB41B101C735361"; // device id
WiFlyClient client(serverName, 80); // create wifi client
void setup() {
Serial.begin(9600);
Serial.println("connecting...");
WiFly.begin(); // start wifi connections
//
// join my network
//
if (!WiFly.join(ssid, passphrase)) {
Serial.println("Association failed.");
while (1) {
// Hang on failure.
}
}
} //setup
void loop() {
String data; // contains all the data fields
data ="";
data +="temp="; // add temp fieldname
data +=analogRead(A0); // add analog port
client.stop(); // probably redundant
if (client.connect()) { // connect to the servier
while (client.available()) { // print any return data
char c = client.read();
Serial.print(c);
}
//
// this is the POST command. DO NOT CHANGE or it will not work
//
client.print("POST /pushingbox?devid=");// setup POST command
client.print(devid);
client.println(" HTTP/1.1");
client.print("Host: ");
client.println(serverName);
client.println("User-Agent: Arduino");
client.println("Content-Type: application/x-www-form-urlencoded");
client.println( "Connection: close" );
client.print("Content-Length: ");
client.println(data.length());
client.println();
client.print(data);
client.println();
//
// redundant info
//
Serial.print("GET /pushingbox?devid=");
Serial.print(devid);
Serial.println(" HTTP/1.1");
Serial.print("Host: ");
Serial.println(serverName);
Serial.println("User-Agent: Arduino");
Serial.println("Content-Type: application/x-www-form-urlencoded");
Serial.print("Content-Length: ");
Serial.println(data.length());
Serial.println();
Serial.print(data);
Serial.println();
Serial.println("Sending data");
} else {
Serial.println("connection failed");
}
//
// print any return info
//
while (client.available()) {
char c = client.read();
Serial.print(c);
}
Serial.println("");
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
}
delay(1000);
} //loop
Downloaden en draaien.
Als je nu naar de spreadsheet gaat zie je data binnenkomen
Tijdstempel temperatuur
12-10-2013 15:46:13 548
12-10-2013 15:46:30 362
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Verzend data vanuit Arduino naar Googleforms en spreadsh
Ik heb nog ff getest voor meerdere velden. Vrij recht toe recht aan:
a) creëer extra veld op formulier
b) breidt het scenario uit door eerst een "&" teken te zetten en dan de volgende variabele. Dus in mijn geval zo:
entry.433477295=$temp$&entry.1847033797=$afzender$
c) pas in het programma data aan door bijvoorbeeld als volgt:
En zo kan je in feite eindeloos doorgaan.
a) creëer extra veld op formulier
b) breidt het scenario uit door eerst een "&" teken te zetten en dan de volgende variabele. Dus in mijn geval zo:
entry.433477295=$temp$&entry.1847033797=$afzender$
c) pas in het programma data aan door bijvoorbeeld als volgt:
- Code: Alles selecteren
data ="";
data +="temp="; // add temp fieldname
data +=analogRead(A0); // add analog port
data +="&afzender="; // add temp fieldname
data += "Nico Verduin"; // add analog port
En zo kan je in feite eindeloos doorgaan.
3 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: dsotezumuy en 25 gasten