@Mquist sorry it’s taken me a few days to respond, I’ve been a bit busy this week.
Waking up the devices is possible, but I don’t think anyone has implemented it. I asked the question previously and it can be found here: Waking up an Electron remotely
Here’s the my main loop of the code where Output is a std::vector and Sleeptime = 900 (for 15 minutes)
Code loop:
void loop(){
char batt[7];
delay(5000);
// Collect data and publish
if (collectData(I2C_ADDRESS2)){
float2string(fuel.getSoC(),batt,3);
Output.push_back(batt);
Particle.publish("RG", Output[0] + "," + Output[1] + "," + Output[2]);
Output.clear();
}
//sleep
delay(500);
// System.sleep(SLEEP_MODE_DEEP,sleepTime,SLEEP_NETWORK_STANDBY); //Uses lots of data
System.sleep(D3, RISING, sleepTime, SLEEP_NETWORK_STANDBY);
Wire.begin();
delay(500);
}
I had the same worries as you and created a post on that as well: Electron Sleep Mode Clarification
Let me know if you have any other questions or need any help. I’d be happy to help.