Google Chart

[topcolumn]Arduino Google Chart Library[/topcolumn]
[leftcolumn]

Library Discription:

This Arduino Library uses Google Chart to visualise fast and easy data.
[/leftcolumn] [rightcolumn]

Bibliothekenbeschreibung:

Diese Arduino Library dient zur schnellen und unkomplizierten Darstellung von Daten unter Benutzung von Google Chart.
[/rightcolumn] [topcolumn] [/topcolumn] [leftcolumn]

Commands:

int addValue()

Send a value to the library. The library will add the value to an array

void clearChannel()

Clears the array with all data

String getURL()

Will return the URL to the image file.
[/leftcolumn] [rightcolumn]

Funktionen:

int addValue()

Einen Wert an die Bibliothek senden. Die Bibliothek wird den Wert an ein Array anhängen.

void clearChannel()

Löscht den Inhalt des Arrays mit allen Werten.

String getURL()

Gibt den absoluten Pfad zur Bilddatei zurück.
[/rightcolumn] [topcolumn] [/topcolumn]
[leftcolumn]

To Do:

  1. adding more lines to line chart
  2. adding bar chart support
  3. adding radar chart support
  4. adding pie chart support
  5. adding QR code support
  6. adding Google o meter support
  7. get the Code more tight

[/leftcolumn] [rightcolumn]

Aufgabenliste:

  1. mehr Datensätze in einer lineChart
  2. barChart Unterstützung
  3. radarChatr Unterstützung
  4. pieChart Unterstützung
  5. QR Code Unterstützung
  6. Google-O-Meter Unterstützung
  7. Code verschlanken

[/rightcolumn] [topcolumn] [/topcolumn]
[leftcolumn]

Code Example:

This example generate ten random values and send it to the library. getURL() will return the URL to the image file. In this example the URL will send to the serial port. You can copy the URL from the serial monitor and paste ist in your web browser.
[/leftcolumn] [rightcolumn]

Beispielcode:

Im folgenden Beispiel werden zehn zufällige Daten erzeugt und an die Bibliothek gesendet. Mit getURL() erhält man die URL zur Bilddatei, in diesem Beispiel wird die URL auf dem Seriellen Port ausgegeben. Diese URL kann nun kopiert und im Browser angesehen werden.
[/rightcolumn] [topcolumn]

/*******************************************
 *
 * Name.......:  googleCharts Library - Line Chart Example
 * Description:  A small example sketch how to use googleCharts library. Please check the project
 *               page and leave a comment.
 * Author.....:  Sebastian Setz
 * Version....:  0.1
 * Date.......:  2011-01-09
 * Project....:  http://sebastian.setz.name/arduino/my-libraries/arduino-google-charts-library
 * Contact....:  http://Sebastian.Setz.name
 * License....:  This work is licensed under the Creative
 *               Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a
 *               copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/
 *               or send a letter to Creative Commons, 171 Second Street, Suite 300,
 *               San Francisco, California, 94105, USA.
 * Keywords...:  arduino, library, google charts, google, charts, visualisation, data
 * History....:  2011-01-09  v0.1  - Release
 *
 ********************************************/

#include <googleCharts.h> // Include googleChatrs Library

const String chartName = "Rendom Numbers"; // Headline of the chart
const String channelName = "Numbers"; // Name of the channel
const String channelColor = "00FF00"; // Color of the channel
const String xAxisScale = "0,10"; // X-Scale of chart
const int chartWidth = 400; // Width of the chart image
const int chartHeight = 300; // Height of the chart image

// create a lineChart object
lineChart graph(chartName,channelName,channelColor,xAxisScale,chartWidth,chartHeight);

void setup(){
  Serial.begin(9600);
  for (int i=0;i<10;i++){
    graph.addValue(random(100)); // fill datas into the chart
  }
  // get the URL of the image, you can copy it from the serial monitor to your internet browser
  Serial.println(graph.getURL());
  graph.clearChannel(); // delete all datas of the chart
}

void loop(){
}

[/topcolumn] [leftcolumn]

License:

[/leftcolumn] [rightcolumn]

Lizenz:

Creative Commons Lizenzvertrag
lightPrint von Sebastian Setz steht unter einer Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported Lizenz.
Über diese Lizenz hinausgehende Erlaubnisse können Sie unter http://Sebastian.Setz.name erhalten.
[/rightcolumn] [topcolumn]

Download:

Arduino Google Charts Library: googleChart_0-1.zip(9 KB)
[/topcolumn]

5 Kommentare

  1. Hallo Sebastian,

    ich habe gerade dein Library installiert und ich habe dein Samplecode eingefügt. Ich habe wahrscheinlich etwas falsch gemacht, aber ich habe diese Fehlern gekriegt:

    sketch_sep17a.ino:21:10: error: #include expects „FILENAME“ or
    sketch_sep17a.ino:25:35: error: invalid suffix „FF00“ on integer constant
    sketch_sep17a:23: error: ‚quot‘ was not declared in this scope
    sketch_sep17a:23: error: ‚Rendom‘ does not name a type
    sketch_sep17a:24: error: ‚quot‘ was not declared in this scope
    sketch_sep17a:24: error: expected constructor, destructor, or type conversion before ‚&‘ token
    sketch_sep17a:25: error: ‚quot‘ was not declared in this scope
    sketch_sep17a:25: error: expected unqualified-id before numeric constant
    sketch_sep17a:26: error: ‚quot‘ was not declared in this scope
    sketch_sep17a:26: error: expected unqualified-id before numeric constant
    sketch_sep17a:31: error: ‚lineChart‘ does not name a type
    sketch_sep17a.ino: In function ‚void setup()‘:
    sketch_sep17a:35: error: ‚lt‘ was not declared in this scope
    sketch_sep17a:35: error: expected `)‘ before ‚;‘ token
    sketch_sep17a:35: error: name lookup of ‚i‘ changed for new ISO ‚for‘ scoping
    sketch_sep17a:35: error: using obsolete binding at ‚i‘
    sketch_sep17a:35: error: expected `;‘ before ‚)‘ token
    sketch_sep17a:39: error: ‚graph‘ was not declared in this scope

    Die Musterdaten in Library kann ich auch nicht fehlerfrei übersetzen.
    Könntest du bitte helfen. Wo habe ich Fehler gemacht?

    mfG:
    BR

  2. nochmal ohne eckige Klammern

    Hallo Sebastian,

    ich bin im Arduino-Forum auf Dein Projekt gestoßen, es gefällt mir sehr gut.

    Ich würde den Sketch gerne testen, um meine Heizungsanlage mit Solarunterstützung und Wärmepumpe zu dokumentieren und später auch zu steuern.

    Ich bekomme den Sketch nicht zum laufen. Firefox kann nicht mit den Server verbinden. (Seeeduino 328, Ethershield von Watterott)
    MAC, IP ist alles klar, ich habe aber keine (Mess)-Hardware angeschlossen.
    Also Frage:
    -Welche Hardware hast Du an Pin13?
    -Wo definierst Du die analogen Eingänge, die Du ausliest?
    -Baut er keine Grafik auf, wenn alle (analogen) Werte 0 sind?

    Serial Monitor zeigt:
    Start, OK
    filling longDataset, OK
    filling shortDataset, OK
    0
    0
    0

    Oder ist etwas ganz Anderes?: Ich habe Probleme in HTML „Font“ zu definieren. Poldis WebServer läuft bei mir nur, wenn ich alle Font-Angaben rausnehme. Bei Deinem Sketch kommt ja im zusammengesetzten String „(eckige Klammer auf)img src=’http…“ das dazugehörige zweite Hochkomma(‚) erst nach mehreren Größen- und Weitenangaben (client.print(„‚ alt=“ /(eckige Klammer zu)“);). Vielleicht bekommt er diese Zuordungen nicht hin?

    Kannst Du mir auf die Sprünge helfen?

    • Hallo Andreas,

      es scheint mir so, also ob Du erst gar keine Verbindung per http zu Deinem Arduino bekommst. Wenn Du drauf bist, solltest Du eine Grafik im Zentrum von 300×500 Pixeln sehen, auch wenn alle Werte null sind.
      An Pin13 muss nichts angeschlossen sein. Du kannst es rauschen lassen, auf 5V oder GND legen.
      Wenn Du keine Fehlermeldung mehr bekommst, also per http mit dem Ethernet Shield verbunden bist, und Du dann trotzdem nichts siehst, dann sprechen wir nochmal miteinander. In der Zwischenzeit werde ich versuchen die Library fertig zu bekommen.

      Gruß

      Sebastian

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.