Hi, had an electron running a DHT22 temperature sensor and sending data to thingspeak happily for 10 days then suddenly it stopped sending data. When I looked at it (it is remote) it was blinking blue and to get it going again I had to reflash the sim binary (non particle sim) and reload the code. I recliamed the device OK and then reset it a few times to make sure it was sending the data OK. It sent the data to thingspeak fine, but is now connecting to particle cloud, but not sending data? NOTHING is different and it was working fine before I left! Code is pasted below:
// This #include statement was automatically added by the Particle IDE.
#include "ThingSpeak/ThingSpeak.h"
// This #include statement was automatically added by the Particle IDE.
#include "Adafruit_DHT/Adafruit_DHT.h"
// Sensor type
#define DHTTYPE DHT22 // DHT 22 (AM2302)
// DHT22 sensor pinout:
// Pin 1 (on the left): +3.3V
// Pin 2: output
// Pin 4 (on the right): GROUND
#define DHT_5V_PIN D2
#define DHT_SENSOR_PIN D1
#define DHT_GROUND_PIN D3
DHT dht(DHT_SENSOR_PIN, DHTTYPE);
/* Thingspeak */
TCPClient client;
unsigned long myChannelNumber = 117187;
const char * myWriteAPIKey = "X51ExxxxxMC6DXMF1";
void setup() {
// Connect to ThingSpeak
ThingSpeak.begin(client);
// Give power to the sensor
pinMode(DHT_5V_PIN, OUTPUT);
pinMode(DHT_GROUND_PIN, OUTPUT);
digitalWrite(DHT_5V_PIN, HIGH);
digitalWrite(DHT_GROUND_PIN, LOW);
// Wait for the sensor to stabilize
delay(1000);
// Initialize sensor
dht.begin();
// Read Sensor
double temperature = dht.getTempCelcius();
//double humidity = dht.getHumidity();
// Update the 2 ThingSpeak fields with the new data
ThingSpeak.setField(1, (float)temperature);
//ThingSpeak.setField(2, (float)humidity);
// Write the fields that you've set all at once.
ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
// Give time for the message to reach ThingSpeak
delay(5000);
// Sleep for 30 minutes to save battery
System.sleep(SLEEP_MODE_DEEP, 30 * 60);
}
void loop() {
// This will run because the system is sleeping
}