Plotly Online-Analytik und Datenvisualisierungstool Beispiel

Dependencies:   EthernetInterface mbed-rtos mbed plotly

Fork of PlotlySensorChart by th.iotkit2.ch

Plotly ist ein Online-Analytik und Datenvisualisierungstool. Plotly bietet Werkzeuge für Online-Grafiken, Analysen und Statistiken sowie wissenschaftliche Grafik-Bibliotheken für Python , R , MATLAB , Perl , Julia , Arduino und REST.

Weitere Informationen zum Anpassen des Charts etc. siehe Arduino Tutorial (scrollen nach Usage and Docs)

plot.ly verwendet Username, API Key zusammen mit Tokens zur Eindeutigen Authentifizierung.

Das Chart ist nach laden des Programmes auf folgender Adresse abrufbar: https://plot.ly/~mc-b/11

Revision:
2:99852a7499da
Parent:
1:5e7145bb2184
Child:
3:f88ff0acc0b1
--- a/main.cpp	Tue Jul 29 13:55:43 2014 +0000
+++ b/main.cpp	Wed Mar 18 12:51:58 2015 +0000
@@ -1,11 +1,12 @@
-
+/** Plotly Cloud Dienst mit Sensorwerten */
 #include "mbed.h"
 #include "EthernetInterface.h"
 #include "plotly.h"
 
 Serial pc(USBTX,USBRX);
-
 EthernetInterface eth;
+// Sensoren (Poti, Light, Hall)
+AnalogIn sensors[] = { A0, A1, A2 };
 
 // plotly account details
 const int numberOfTraces = 3;
@@ -20,10 +21,8 @@
 {
     graph.log_level = 1; // turn on status output
     graph.maxpoints = 72;
-    if (graph.init()) {
+    if (graph.init()) 
         graph.openStreams();
-    }
-
 }
 
 // Generate some simple sample data points
@@ -32,46 +31,40 @@
     static float counter = 0;
     
     // generate a series of sine waves with slightly different frequencies.
-    for (int i = 0; i < numberOfTraces; i++) {
-      graph.plot(counter, (float)sin(counter * (1-i*0.1)), i); 
-    }
+    for (int i = 0; i < numberOfTraces; i++) 
+      graph.plot(counter, sensors[i].read(), i); 
     
-    counter+=0.2;
+    counter+=0.2f;
 }
 
-
+/** Hauptprogramm */
 int main()
 {
-    pc.baud(115200);
-
     pc.printf("Connecting network...\n");
-
     eth.init();
     eth.connect();
 
     char *ipAddress = eth.getIPAddress();
-    if (ipAddress && (strlen(ipAddress) > 4)) {
-
+    if (ipAddress && (strlen(ipAddress) > 4)) 
+    {
         pc.printf("IP Address is %s\n",eth.getIPAddress());
         pc.printf("Initalise plot..\n");
 
         plotSetup();
 
         pc.printf("Generating data, press any key to abort.\n");
-        while (!pc.readable()) {
+        while ( !pc.readable() ) 
+        {
             plotGenerateDataPoint();
-            wait(0.5);
-            }
+            wait(2.0);
+        }
         graph.closeStreams();
 
-    } else
+    } 
+    else
         pc.printf("No IP Address\n");
 
     eth.disconnect();
-
     pc.printf("Done\n");
-
-    while (1) {
-      wait(10);
-    }
+    return  ( 0 );
 }
\ No newline at end of file