Dear all,
I’m a newbie to Electricimp working on a IOT project. we have sensor data that we want to upload to electric imp.
There are about 256 integer values we wanted to upload every one minute(which may vary). This data is sent as a array from the device to the agent. What we wanted to do was upload to the keen.io dynamically, if there are 1 to n variables we will send a log data like this {p1 = 40, p2 = 30, p3 = 60…pn = 70}. The keen io example that are existing is loading only a fixed couple of values like shown below
keenData <- {
keen = {
timestamp = ts
},
temp = data.temp,
light = data.light,
buttonState = data.bs
};
what i would like to know is how can i convert my array in to a data that can be uploaded to keen.io ?
So far i have attempted to concatenate as a string and tried sending it but didn’t work.
Code:
`for (local i = 0 ; i < 10 ; i++)
{
roll = 1.0 * math.rand() / RAND_MAX
roll = (roll * 12) + 1
arry.insert(i, 78)
if (keyst)
keyst = format("%s,P%i:%i", keyst, i, roll)
else
keyst = format("P%i:%i", i, roll)
}
keyst = format ("[{%s}]", keyst)
keen.sendEvent("tempBugs", keyst, function(resp) {
server.log(resp.body);`
Keen.IO data sent and response received:
015-03-07 18:39:23 UTC+5.5 [Agent] "[{P0:9,P1:3,P2:11,P3:8,P4:2,P5:1,P6:8,P7:2,P8:2,P9:5}]"
2015-03-07 18:39:23 UTC+5.5 [Agent] {“message”: “An event should be a JSON object of properties.”, “error_code”: “InvalidEventError”}
I get the following error