#include #include #include "plotly_streaming_ethernet.h" #define tmp36sensor_pin 0 // Sign up to plotly here: https://plot.ly // View your API key and streamtokens here: https://plot.ly/settings #define nTraces 1 // View your tokens here: https://plot.ly/settings // Supply as many tokens as data traces // e.g. if you want to ploty A0 and A1 vs time, supply two tokens char *tokens[nTraces] = {"25tm9197rz"}; // arguments: username, api key, streaming token, filename plotly graph("workshop", "v6w5xlbx9j", tokens, "filename", nTraces); byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte my_ip[] = { 199, 168, 222, 18 }; // google will tell you: "public ip address" void startEthernet(){ Serial.println("... Initializing ethernet"); if(Ethernet.begin(mac) == 0){ Serial.println("... Failed to configure Ethernet using DHCP"); // no point in carrying on, so do nothing forevermore: // try to congifure using IP address instead of DHCP: Ethernet.begin(mac, my_ip); } Serial.println("... Done initializing ethernet"); delay(1000); } void setup() { graph.maxpoints = 100; // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } startEthernet(); bool success; success = graph.init(); if(!success){while(true){}} graph.openStream(); } void loop() { //getting the voltage reading from the temperature sensor int reading = analogRead(tmp36sensor_pin); // converting that reading to voltage, for 3.3v arduino use 3.3 float voltage = reading * 5.0; voltage /= 1024.0; //converting from 10 mv per degree wit 500 mV offset //to degrees ((voltage - 500mV) times 100) float temperatureC = (voltage - 0.5) * 100; // now convert to Fahrenheit float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0; graph.plot(millis(), temperatureC, tokens[0]); delay(500); }