From b577f3992a346948e6d8e66a0b697d4bbfa1b2b4 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Wed, 16 Aug 2017 23:37:14 +0200 Subject: [PATCH] measurement of vcc, calculation of battery lifetime --- Batterielaufzeit.xlsx | Bin 0 -> 5285 bytes sketch_aug14a/sketch_aug14a.ino | 24 ++++++++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 Batterielaufzeit.xlsx diff --git a/Batterielaufzeit.xlsx b/Batterielaufzeit.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c0f24c4a0339516db24b0b51dfcd34d003a08a54 GIT binary patch literal 5285 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 @@ -8,6 +9,10 @@ #include +ADC_MODE(ADC_VCC); + + + // #define DEBUG #define SLEEP @@ -49,6 +54,8 @@ void setup() { Serial.println("Starting ..."); #endif + + setup_wifi(); client.setServer(mqttServer, mqttPort); @@ -143,13 +150,23 @@ void read_thermometer() { int16_t t1 = (int)t; int16_t t2 = (int)((t - t1)*100); + + uint16_t vcc = ESP.getVcc(); +#ifdef DEBUG + Serial.print(vcc); + Serial.println(); +#endif + + uint32_t duration = millis() - startTime; - //char topic[128]; //snprintf(topic, 127, "IoT/espThermometer2/%s/measurement", WiFi.macAddress().c_str()); char payload[128]; - snprintf(payload, 127, "%d.%d %ld", t1, t2, duration); + snprintf(payload, 127, "%s %d.%d %ld %ld", clientId, t1, t2, vcc, duration); +#ifdef DEBUG + Serial.println(payload); +#endif client.publish(topic, payload, true); @@ -165,10 +182,13 @@ void loop() { read_thermometer(); + + #ifdef SLEEP #ifdef DEBUG Serial.println("Sleeping"); #endif + client.disconnect(); ESP.deepSleep(sleepTime * 1000000); #endif }