![](/media/cache/group/ep_srxDLMd.webp.50x50_q85.jpg)
Plotly Online-Analytik und Datenvisualisierungstool Beispiel
Dependencies: EthernetInterface mbed-rtos mbed plotly
Fork of PlotlySensorChart by
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
main.cpp@0:c7329ea5d8d5, 2014-07-11 (annotated)
- Committer:
- AndyA
- Date:
- Fri Jul 11 10:11:00 2014 +0000
- Revision:
- 0:c7329ea5d8d5
- Child:
- 1:5e7145bb2184
First commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AndyA | 0:c7329ea5d8d5 | 1 | |
AndyA | 0:c7329ea5d8d5 | 2 | #include "mbed.h" |
AndyA | 0:c7329ea5d8d5 | 3 | #include "EthernetInterface.h" |
AndyA | 0:c7329ea5d8d5 | 4 | #include "plotly.h" |
AndyA | 0:c7329ea5d8d5 | 5 | |
AndyA | 0:c7329ea5d8d5 | 6 | Serial pc(USBTX,USBRX); |
AndyA | 0:c7329ea5d8d5 | 7 | |
AndyA | 0:c7329ea5d8d5 | 8 | EthernetInterface eth; |
AndyA | 0:c7329ea5d8d5 | 9 | |
AndyA | 0:c7329ea5d8d5 | 10 | // plotly account details |
AndyA | 0:c7329ea5d8d5 | 11 | char PlotlyUsername[] = "YoutUsername"; |
AndyA | 0:c7329ea5d8d5 | 12 | char PlotlyAPIToken[] = "YourAPIKey"; |
AndyA | 0:c7329ea5d8d5 | 13 | char streaming_token[] = "YourStreamToken"; |
AndyA | 0:c7329ea5d8d5 | 14 | char fileName[] = "Mbed Test Chart"; |
AndyA | 0:c7329ea5d8d5 | 15 | |
AndyA | 0:c7329ea5d8d5 | 16 | plotly graph = plotly(PlotlyUsername, PlotlyAPIToken, streaming_token, fileName); |
AndyA | 0:c7329ea5d8d5 | 17 | |
AndyA | 0:c7329ea5d8d5 | 18 | void plotSetup() |
AndyA | 0:c7329ea5d8d5 | 19 | { |
AndyA | 0:c7329ea5d8d5 | 20 | graph.log_level = 2; // turn on status output |
AndyA | 0:c7329ea5d8d5 | 21 | graph.maxpoints = 72; |
AndyA | 0:c7329ea5d8d5 | 22 | if (graph.init()) { |
AndyA | 0:c7329ea5d8d5 | 23 | graph.openStream(); |
AndyA | 0:c7329ea5d8d5 | 24 | } |
AndyA | 0:c7329ea5d8d5 | 25 | |
AndyA | 0:c7329ea5d8d5 | 26 | } |
AndyA | 0:c7329ea5d8d5 | 27 | |
AndyA | 0:c7329ea5d8d5 | 28 | // Generate a sample chart |
AndyA | 0:c7329ea5d8d5 | 29 | void plotGenerateDataPoint() |
AndyA | 0:c7329ea5d8d5 | 30 | { |
AndyA | 0:c7329ea5d8d5 | 31 | static int counter = 0; |
AndyA | 0:c7329ea5d8d5 | 32 | float yValue = sin(counter*3.14159/180); |
AndyA | 0:c7329ea5d8d5 | 33 | graph.plot(counter, yValue); |
AndyA | 0:c7329ea5d8d5 | 34 | counter+=5; |
AndyA | 0:c7329ea5d8d5 | 35 | } |
AndyA | 0:c7329ea5d8d5 | 36 | |
AndyA | 0:c7329ea5d8d5 | 37 | |
AndyA | 0:c7329ea5d8d5 | 38 | int main() |
AndyA | 0:c7329ea5d8d5 | 39 | { |
AndyA | 0:c7329ea5d8d5 | 40 | pc.baud(115200); |
AndyA | 0:c7329ea5d8d5 | 41 | |
AndyA | 0:c7329ea5d8d5 | 42 | pc.printf("Connecting network...\n"); |
AndyA | 0:c7329ea5d8d5 | 43 | |
AndyA | 0:c7329ea5d8d5 | 44 | eth.init(); |
AndyA | 0:c7329ea5d8d5 | 45 | eth.connect(); |
AndyA | 0:c7329ea5d8d5 | 46 | |
AndyA | 0:c7329ea5d8d5 | 47 | char *ipAddress = eth.getIPAddress(); |
AndyA | 0:c7329ea5d8d5 | 48 | if (ipAddress && (strlen(ipAddress) > 4)) { |
AndyA | 0:c7329ea5d8d5 | 49 | |
AndyA | 0:c7329ea5d8d5 | 50 | pc.printf("IP Address is %s\n",eth.getIPAddress()); |
AndyA | 0:c7329ea5d8d5 | 51 | pc.printf("Initalise plot..\n"); |
AndyA | 0:c7329ea5d8d5 | 52 | |
AndyA | 0:c7329ea5d8d5 | 53 | plotSetup(); |
AndyA | 0:c7329ea5d8d5 | 54 | |
AndyA | 0:c7329ea5d8d5 | 55 | pc.printf("Generating data, press any key to abort.\n"); |
AndyA | 0:c7329ea5d8d5 | 56 | while (!pc.readable()) { |
AndyA | 0:c7329ea5d8d5 | 57 | plotGenerateDataPoint(); |
AndyA | 0:c7329ea5d8d5 | 58 | wait(0.5); |
AndyA | 0:c7329ea5d8d5 | 59 | } |
AndyA | 0:c7329ea5d8d5 | 60 | graph.closeStream(); |
AndyA | 0:c7329ea5d8d5 | 61 | |
AndyA | 0:c7329ea5d8d5 | 62 | } else |
AndyA | 0:c7329ea5d8d5 | 63 | pc.printf("No IP Address\n"); |
AndyA | 0:c7329ea5d8d5 | 64 | |
AndyA | 0:c7329ea5d8d5 | 65 | eth.disconnect(); |
AndyA | 0:c7329ea5d8d5 | 66 | |
AndyA | 0:c7329ea5d8d5 | 67 | pc.printf("Done\n"); |
AndyA | 0:c7329ea5d8d5 | 68 | |
AndyA | 0:c7329ea5d8d5 | 69 | while (1) { |
AndyA | 0:c7329ea5d8d5 | 70 | wait(10); |
AndyA | 0:c7329ea5d8d5 | 71 | } |
AndyA | 0:c7329ea5d8d5 | 72 | } |