When you encounter an error you'll see a button on the right side of the orange bar "Copy error messages". Click that button. Paste the error in a message here using code tags.
Arduino: 1.6.10 (Windows 10), Board: "Arduino/Genuino Uno"
C:\Program Files (x86)\Arduino\libraries\plotly_streaming_ethernet\plotly_streaming_ethernet.cpp:6:25: fatal error: avr/dtostrf.h: No such file or directory
#include <avr/dtostrf.h>
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Wow, what a complete joke plot.ly is! The most simple, stupid, easy to fix bug but instead of spending 2 minutes fixing it they spend the same amount of time to add to their documentation:
It's not very well documented, but you can use the Temboo library with anything that creates a standard Client object, such as the Ethernet library. You just pass the client object to the constructor. I haven't used it with Ethernet but I have used it with the ESP8266WiFi library and the WiFiEsp library.
Temboo has some code generator stuff on their website that makes it seem like it only works with a couple of boards but it's easy enough to adapt the example code to your needs.
If you do decide to go the Temboo/Google Spreadsheet path I can provide detailed instructions for how to set it up that I wrote for a friend of mine last year.
There well may be other, better options, Temboo/Google Spreadsheet was just the only thing I had experience with. I went the Temboo path because the friend that I wrote the code for was already using Temboo for another project so it seemed easier to stick with something they were familiar with and already had an account.
I think that function is declared in stdlib.h, not in its own include file. Try commenting out line 6 of: C:\Program Files (x86)\Arduino\libraries\plotly_streaming_ethernet\plotly_streaming_ethernet.cpp
// #include <avr/dtostrf.h>
If the function (not the file) is then undefined, add this line after the commented line:
pert:
It's not very well documented, but you can use the Temboo library with anything that creates a standard Client object, such as the Ethernet library. You just pass the client object to the constructor. I haven't used it with Ethernet but I have used it with the ESP8266WiFi library and the WiFiEsp library.
Temboo has some code generator stuff on their website that makes it seem like it only works with a couple of boards but it's easy enough to adapt the example code to your needs.
If you do decide to go the Temboo/Google Spreadsheet path I can provide detailed instructions for how to set it up that I wrote for a friend of mine last year.
There well may be other, better options, Temboo/Google Spreadsheet was just the only thing I had experience with. I went the Temboo path because the friend that I wrote the code for was already using Temboo for another project so it seemed easier to stick with something they were familiar with and already had an account.
I just got the Yun board today, and started to play around with Temboo I have it generating a code. I just have to adjust the sensor values to output the limits I set in Temboo.
I need to have 4 sensors read from digital pins but it only uses one to trigger?
for my case it if WV greater than or equal to 0 then it will read all sensors?? Am I understanding that right?
#include <Bridge.h>
#include <Temboo.h>
#include <limits.h>
#include "utility/TembooGPIO.h"
#include "TembooAccount.h" // Contains Temboo account information
// The number of times to trigger the action if the condition is met
// We limit this so you won't use all of your Temboo calls while testing
int maxCalls = 10;
// The number of times this Choreo has been run so far in this sketch
int calls = 0;
// Declaring sensor configs
TembooGPIOConfig tmb_wvConfig;
// Declaring TembooSensors
TembooSensor tmb_wv;
// Choreo execution interval in milliseconds
unsigned long choreoInterval = 300000;
// Store the time of the last Choreo execution
unsigned long lastChoreoRunTime = millis() - choreoInterval;
void setup() {
Serial.begin(9600);
// For debugging, wait until the serial console is connected
delay(4000);
while(!Serial);
Bridge.begin();
// Initialize sensors and configs
tembooAnalogGPIOInit(&tmb_wvConfig, &tmb_wv, A3, 0, INPUT);
Serial.println("Setup complete.\n");
}
void loop() {
if(millis() - lastChoreoRunTime >= choreoInterval) {
int sensorValue = tmb_wv.read(&tmb_wvConfig);
Serial.println("Sensor: " + String(sensorValue));
if (sensorValue >= 0) {
if (calls < maxCalls) {
Serial.println("\nTriggered! Calling GeocodeByAddress Choreo...");
runGeocodeByAddress(sensorValue);
lastChoreoRunTime = millis();
calls++;
} else {
Serial.println("\nTriggered! Skipping to save Temboo calls. Adjust maxCalls as required.");
}
}
}
if (millis() - lastChoreoRunTime >= ULONG_MAX - 10000) {
lastChoreoRunTime = millis() - choreoInterval;
}
delay(250);
}
void runGeocodeByAddress(int sensorValue) {
TembooChoreo GeocodeByAddressChoreo;
// Invoke the Temboo client
GeocodeByAddressChoreo.begin();
// Set Temboo account credentials
GeocodeByAddressChoreo.setAccountName(TEMBOO_ACCOUNT);
GeocodeByAddressChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
GeocodeByAddressChoreo.setAppKey(TEMBOO_APP_KEY);
// Set Choreo inputs
GeocodeByAddressChoreo.addInput("Address", "3424 N Oilver St Samsquanch TX 76232");
// Identify the Choreo to run
GeocodeByAddressChoreo.setChoreo("/Library/Google/Geocoding/GeocodeByAddress");
// Run the Choreo
unsigned int returnCode = GeocodeByAddressChoreo.run();
// Read and print the error message
while (GeocodeByAddressChoreo.available()) {
char c = GeocodeByAddressChoreo.read();
Serial.print(c);
}
Serial.println();
GeocodeByAddressChoreo.close();
}