-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Closed
Description
Hardware:
Board: Sparkfun ESP32 thing
Core Installation/update date: Latest stable
IDE name: Platform.io
Flash Frequency: 40Mhz
Upload Speed: 115200
Description:
I have a simple sketch that resumes from sleep every 60 seconds and performs a https POST request, but it seems to get stuck after 5 to 10 requests. I have tried with setReuse
true/false and with HTTPClient http;
in setup()
and inside the loop()
I tried the same request without deep sleep and it's working fine. (sketch below)
Sketch that fails after 5 requests:
#include <Arduino.h>
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <HTTPClient.h>
const char* firebase_ca = "-----BEGIN CERTIFICATE-----\n" \
"MIIEKDCCAxCgAwIBAgIQAQAhJYiw+lmnd+8Fe2Yn3zANBgkqhkiG9w0BAQsFADBC\n" \
"MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMS\n" \
"R2VvVHJ1c3QgR2xvYmFsIENBMB4XDTE3MDUyMjExMzIzN1oXDTE4MTIzMTIzNTk1\n" \
"OVowSTELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkdvb2dsZSBJbmMxJTAjBgNVBAMT\n" \
"HEdvb2dsZSBJbnRlcm5ldCBBdXRob3JpdHkgRzIwggEiMA0GCSqGSIb3DQEBAQUA\n" \
"A4IBDwAwggEKAoIBAQCcKgR3XNhQkToGo4Lg2FBIvIk/8RlwGohGfuCPxfGJziHu\n" \
"Wv5hDbcyRImgdAtTT1WkzoJile7rWV/G4QWAEsRelD+8W0g49FP3JOb7kekVxM/0\n" \
"Uw30SvyfVN59vqBrb4fA0FAfKDADQNoIc1Fsf/86PKc3Bo69SxEE630k3ub5/DFx\n" \
"+5TVYPMuSq9C0svqxGoassxT3RVLix/IGWEfzZ2oPmMrhDVpZYTIGcVGIvhTlb7j\n" \
"gEoQxirsupcgEcc5mRAEoPBhepUljE5SdeK27QjKFPzOImqzTs9GA5eXA37Asd57\n" \
"r0Uzz7o+cbfe9CUlwg01iZ2d+w4ReYkeN8WvjnJpAgMBAAGjggERMIIBDTAfBgNV\n" \
"HSMEGDAWgBTAephojYn7qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUSt0GFhu89mi1\n" \
"dvWBtrtiGrpagS8wDgYDVR0PAQH/BAQDAgEGMC4GCCsGAQUFBwEBBCIwIDAeBggr\n" \
"BgEFBQcwAYYSaHR0cDovL2cuc3ltY2QuY29tMBIGA1UdEwEB/wQIMAYBAf8CAQAw\n" \
"NQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9i\n" \
"YWwuY3JsMCEGA1UdIAQaMBgwDAYKKwYBBAHWeQIFATAIBgZngQwBAgIwHQYDVR0l\n" \
"BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4IBAQDKSeWs\n" \
"12Rkd1u+cfrP9B4jx5ppY1Rf60zWGSgjZGaOHMeHgGRfBIsmr5jfCnC8vBk97nsz\n" \
"qX+99AXUcLsFJnnqmseYuQcZZTTMPOk/xQH6bwx+23pwXEz+LQDwyr4tjrSogPsB\n" \
"E4jLnD/lu3fKOmc2887VJwJyQ6C9bgLxRwVxPgFZ6RGeGvOED4Cmong1L7bHon8X\n" \
"fOGLVq7uZ4hRJzBgpWJSwzfVO+qFKgE4h6LPcK2kesnE58rF2rwjMvL+GMJ74N87\n" \
"L9TQEOaWTPtEtyFkDbkAlDASJodYmDkFOA/MgkgMCkdm7r+0X8T/cKjhf4t5K7hl\n" \
"MqO5tzHpCvX2HzLc\n" \
"-----END CERTIFICATE-----\n";;
const char* ssid = "xxx";
const char* password = "yyy";
RTC_DATA_ATTR int bootCount = 1;
void setup(){
Serial.begin(115200);
delay(5000);
Serial.println("Boot number: " + String(bootCount++));
// WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connected to the WiFi network");
// POST
HTTPClient http;
http.setReuse(true);
http.begin("https://water-9dbfa.firebaseio.com/users/chris/readings.json", firebase_ca);
http.addHeader("Content-Type", "application/json");
int httpResponseCode = http.POST("{ \"level\": " + String(bootCount) + ", \"timestamp\": {\".sv\": \"timestamp\"} }");
Serial.println("httpResponseCode: " + http.errorToString(httpResponseCode));
http.end();
// sleep
esp_deep_sleep_enable_timer_wakeup(10 * 1000000);
esp_deep_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
esp_deep_sleep_start();
}
void loop(){
}
Debug Messages:
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0008,len:8
load:0x3fff0010,len:160
load:0x40078000,len:10632
load:0x40080000,len:252
entry 0x40080034
Boot number: 49
Reading: 3373
I (51382) wifi: wifi firmware version: 6c86a1c
I (51382) wifi: config NVS flash: enabled
I (51382) wifi: config nano formating: disabled
I (51392) wifi: Init dynamic tx buffer num: 32
I (51392) wifi: Init dynamic rx buffer num: 64
I (51393) wifi: wifi driver task: 3ffcfb0c, prio:23, stack:4096
I (51395) wifi: Init static rx buffer num: 10
I (51399) wifi: Init dynamic rx buffer num: 0
I (51403) wifi: Init rx ampdu len mblock:7
I (51407) wifi: Init lldesc rx ampdu entry mblock:4
I (51412) wifi: wifi power manager task: 0x3ffd4ed4 prio: 21 stack: 2560
I (51420) wifi: wifi timer task: 3ffd5f54, prio:22, stack:3584
I (51431) wifi: mode : sta (24:0a:c4:00:a1:7e)
I (51553) wifi: n:6 0, o:1 0, ap:255 255, sta:6 0, prof:1
I (52210) wifi: state: init -> auth (b0)
I (52212) wifi: state: auth -> assoc (0)
I (52216) wifi: state: assoc -> run (10)
I (52234) wifi: connected with FASTWEB-1-D2700B, channel 6
Connecting to WiFi..
Connected to the WiFi network
http begun
[E][WiFiClient.cpp:121] setSocketOption(): 9
{"name":"-KrVCaWKVFBRIP3sdrmU"}
ets Jun 8 2016 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0008,len:8
load:0x3fff0010,len:160
load:0x40078000,len:10632
load:0x40080000,len:252
entry 0x40080034
Boot number: 50
Reading: 1666
I (51382) wifi: wifi firmware version: 6c86a1c
I (51382) wifi: config NVS flash: enabled
I (51382) wifi: config nano formating: disabled
I (51392) wifi: Init dynamic tx buffer num: 32
I (51392) wifi: Init dynamic rx buffer num: 64
I (51393) wifi: wifi driver task: 3ffcfb0c, prio:23, stack:4096
I (51395) wifi: Init static rx buffer num: 10
I (51399) wifi: Init dynamic rx buffer num: 0
I (51403) wifi: Init rx ampdu len mblock:7
I (51407) wifi: Init lldesc rx ampdu entry mblock:4
I (51412) wifi: wifi power manager task: 0x3ffd4ed4 prio: 21 stack: 2560
I (51420) wifi: wifi timer task: 3ffd5f54, prio:22, stack:3584
I (51431) wifi: mode : sta (24:0a:c4:00:a1:7e)
I (51553) wifi: n:6 0, o:1 0, ap:255 255, sta:6 0, prof:1
I (52210) wifi: state: init -> auth (b0)
I (52212) wifi: state: auth -> assoc (0)
I (52216) wifi: state: assoc -> run (10)
I (52237) wifi: connected with FASTWEB-1-D2700B, channel 6
Connecting to WiFi..
Connected to the WiFi network
http begun
[E][ssl_client.cpp:25] handle_error(): X509 - Certificate verification failed, e.g. CRL, CA or signature check failed
[E][ssl_client.cpp:27] handle_error(): MbedTLS message code: -9984
[E][WiFiClientSecure.cpp:102] connect(): lwip_connect_r: 11
httpResponseCode: connection refused
ets Jun 8 2016 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0008,len:8
load:0x3fff0010,len:160
load:0x40078000,len:10632
load:0x40080000,len:252
entry 0x40080034
Boot number: 51
Reading: 2995
I (51372) wifi: wifi firmware version: 6c86a1c
I (51372) wifi: config NVS flash: enabled
I (51372) wifi: config nano formating: disabled
I (51382) wifi: Init dynamic tx buffer num: 32
I (51382) wifi: Init dynamic rx buffer num: 64
I (51383) wifi: wifi driver task: 3ffcfc60, prio:23, stack:4096
I (51385) wifi: Init static rx buffer num: 10
I (51389) wifi: Init dynamic rx buffer num: 0
I (51393) wifi: Init rx ampdu len mblock:7
I (51397) wifi: Init lldesc rx ampdu entry mblock:4
I (51402) wifi: wifi power manager task: 0x3ffd4f98 prio: 21 stack: 2560
I (51410) wifi: wifi timer task: 3ffd6000, prio:22, stack:3584
I (51421) wifi: mode : sta (24:0a:c4:00:a1:7e)
I (51543) wifi: n:6 0, o:1 0, ap:255 255, sta:6 0, prof:1
I (52200) wifi: state: init -> auth (b0)
I (52202) wifi: state: auth -> assoc (0)
I (52206) wifi: state: assoc -> run (10)
I (52274) wifi: connected with FASTWEB-1-D2700B, channel 6
Connecting to WiFi..
Connected to the WiFi network
http begun
I (62206) wifi: pm start, type:0
Gets stuck after this.
This sketch works fine without the deepsleep bit
#include <Arduino.h>
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <HTTPClient.h>
const char* firebase_ca = "-----BEGIN CERTIFICATE-----\n" \
"MIIEKDCCAxCgAwIBAgIQAQAhJYiw+lmnd+8Fe2Yn3zANBgkqhkiG9w0BAQsFADBC\n" \
"MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMS\n" \
"R2VvVHJ1c3QgR2xvYmFsIENBMB4XDTE3MDUyMjExMzIzN1oXDTE4MTIzMTIzNTk1\n" \
"OVowSTELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkdvb2dsZSBJbmMxJTAjBgNVBAMT\n" \
"HEdvb2dsZSBJbnRlcm5ldCBBdXRob3JpdHkgRzIwggEiMA0GCSqGSIb3DQEBAQUA\n" \
"A4IBDwAwggEKAoIBAQCcKgR3XNhQkToGo4Lg2FBIvIk/8RlwGohGfuCPxfGJziHu\n" \
"Wv5hDbcyRImgdAtTT1WkzoJile7rWV/G4QWAEsRelD+8W0g49FP3JOb7kekVxM/0\n" \
"Uw30SvyfVN59vqBrb4fA0FAfKDADQNoIc1Fsf/86PKc3Bo69SxEE630k3ub5/DFx\n" \
"+5TVYPMuSq9C0svqxGoassxT3RVLix/IGWEfzZ2oPmMrhDVpZYTIGcVGIvhTlb7j\n" \
"gEoQxirsupcgEcc5mRAEoPBhepUljE5SdeK27QjKFPzOImqzTs9GA5eXA37Asd57\n" \
"r0Uzz7o+cbfe9CUlwg01iZ2d+w4ReYkeN8WvjnJpAgMBAAGjggERMIIBDTAfBgNV\n" \
"HSMEGDAWgBTAephojYn7qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUSt0GFhu89mi1\n" \
"dvWBtrtiGrpagS8wDgYDVR0PAQH/BAQDAgEGMC4GCCsGAQUFBwEBBCIwIDAeBggr\n" \
"BgEFBQcwAYYSaHR0cDovL2cuc3ltY2QuY29tMBIGA1UdEwEB/wQIMAYBAf8CAQAw\n" \
"NQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9i\n" \
"YWwuY3JsMCEGA1UdIAQaMBgwDAYKKwYBBAHWeQIFATAIBgZngQwBAgIwHQYDVR0l\n" \
"BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4IBAQDKSeWs\n" \
"12Rkd1u+cfrP9B4jx5ppY1Rf60zWGSgjZGaOHMeHgGRfBIsmr5jfCnC8vBk97nsz\n" \
"qX+99AXUcLsFJnnqmseYuQcZZTTMPOk/xQH6bwx+23pwXEz+LQDwyr4tjrSogPsB\n" \
"E4jLnD/lu3fKOmc2887VJwJyQ6C9bgLxRwVxPgFZ6RGeGvOED4Cmong1L7bHon8X\n" \
"fOGLVq7uZ4hRJzBgpWJSwzfVO+qFKgE4h6LPcK2kesnE58rF2rwjMvL+GMJ74N87\n" \
"L9TQEOaWTPtEtyFkDbkAlDASJodYmDkFOA/MgkgMCkdm7r+0X8T/cKjhf4t5K7hl\n" \
"MqO5tzHpCvX2HzLc\n" \
"-----END CERTIFICATE-----\n";;
const char* ssid = "xxxx";
const char* password = "yyy";
RTC_DATA_ATTR int bootCount = 1;
void setup(){
Serial.begin(115200);
delay(5000);
// WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connected to the WiFi network");
}
void loop(){
Serial.println("Boot number: " + String(bootCount++));
// POST
HTTPClient http;
http.setReuse(true);
http.begin("https://water-9dbfa.firebaseio.com/users/chris/readings.json", firebase_ca);
http.addHeader("Content-Type", "application/json");
int httpResponseCode = http.POST("{ \"level\": " + String(bootCount) + ", \"timestamp\": {\".sv\": \"timestamp\"} }");
Serial.println("httpResponseCode: " + http.errorToString(httpResponseCode));
http.end();
delay(5000);
}
Metadata
Metadata
Assignees
Labels
No labels