Hello,
I am sending sensor data to a Google Spreadsheet and I would like to have a time stamp associated with each reading. Currently have been able to add hour and minute (intentionally excluding seconds). I would like month, day, year and day of the week as well. All of these categories have to be comma separated string in order to send them to the spreadsheet. Does anyone know how I can get my Yun to extract these date variables as well? The code I used for the time is below. I have also attached a picture of how my spreadsheet currently looks and how I would like it to look (blue).
Any help is greatly appreciated. Thank you.
-Ryan
This is how I turned my time and sensor values into a comma separated string variable
String mySensorValues=(String)hours;
mySensorValues+=":";
mySensorValues+=(String)minutes;
mySensorValues+=",";
mySensorValues+=(String)h;
mySensorValues+=",";
mySensorValues+=(String)t;
mySensorValues+=",";
mySensorValues+=(String)f;
Here is the code I used to get the time:
#include <Process.h>
Process date; // process used to get the date
int hours, minutes, seconds; // for the results
int lastSecond = -1; // need an impossible value for comparison
void setup() {
Bridge.begin(); // initialize Bridge
Serial.begin(9600); // initialize serial
while(!Serial); // wait for Serial Monitor to open
Serial.println("Time Check"); // Title of sketch
// run an initial date process. Should return:
// hh:mm:ss :
if (!date.running()) {
date.begin("date");
date.addParameter("+%T");
date.run();
}
}
void loop() {
if(lastSecond != seconds) { // if a second has passed
// print the time:
if (hours <= 9) Serial.print("0"); // adjust for 0-9
Serial.print(hours);
Serial.print(":");
if (minutes <= 9) Serial.print("0"); // adjust for 0-9
Serial.print(minutes);
Serial.print(":");
if (seconds <= 9) Serial.print("0"); // adjust for 0-9
Serial.println(seconds);
// restart the date process:
if (!date.running()) {
date.begin("date");
date.addParameter("+%T");
date.run();
}
}
//if there's a result from the date process, parse it:
while (date.available()>0) {
// get the result of the date process (should be hh:mm:ss):
String timeString = date.readString();
// find the colons:
int firstColon = timeString.indexOf(":");
int secondColon= timeString.lastIndexOf(":");
// get the substrings for hour, minute second:
String hourString = timeString.substring(0, firstColon);
String minString = timeString.substring(firstColon+1, secondColon);
String secString = timeString.substring(secondColon+1);
// convert to ints,saving the previous second:
hours = hourString.toInt();
minutes = minString.toInt();
lastSecond = seconds; // save to do a time comparison
seconds = secString.toInt();
}
}