-
Notifications
You must be signed in to change notification settings - Fork 53
Open
Labels
help wantedExtra attention is neededExtra attention is needed
Description
Description
Steps to Reproduce
boolean reconnect() {
chipId = ESP.getEfuseMac();
char chipIdString[18];
snprintf(chipIdString, sizeof(chipIdString), "%04X%08X", (uint16_t)(chipId >> 32), (uint32_t)chipId);
if (client.connect(chipIdString, mqtt_username, mqtt_password)) {
client.publish("test", message.c_str());
conectado.store(true);
}
return client.connected();
}
void mqttTask(void* param) {
while (1) {
unsigned long cu = millis();
if (cu - lastReconnectAttempt >= 60000) {
String message = "....";
if (!client.connected()) {
reconnect();
}else {
client.loop();
}
}
unsigned int highWaterMark = uxTaskGetStackHighWaterMark(NULL);
Serial.print(highWaterMark);
lastReconnectAttempt = cu;
}
vTaskDelay(pdMS_TO_TICKS(60000));
}
}
static const char* root_ca PROGMEM = R"EOF(
...
)EOF";
EthernetClient ethclient;
SSLClient seceth(ðclient);
PubSubClient client(seceth);
void setup() {
WiFi.mode(WIFI_STA);
Serial.begin(115200);
disableCore0WDT();
disableCore1WDT();
M5.begin();
M5.Power.begin();
uint64_t chipId1 = 0;
chipId1 = ESP.getEfuseMac();
char chipIdString[18];
snprintf(chipIdString, sizeof(chipIdString), "%04X%08X", (uint16_t)(chipId1 >> 32), (uint32_t)chipId1);
Serial.print(chipIdString);
String ssid = "indulink" + String(chipIdString);
if (!SD.begin()) {
M5.Lcd.println("Card failed, or not present");
while (1);
}
M5.Lcd.println("TF card initialized.");
while (!module.begin(&Wire, 21, 22, MODULE_4IN8OUT_ADDR)) {
Serial.println("4IN8OUT INIT ERROR");
M5.Lcd.println("4IN8OUT INIT ERROR");
}
Serial.println("4IN8OUT INIT SUCCESS");
M5.Lcd.println("Contador de pulsos iniciado.");
SPI.begin(SCK, MISO, MOSI, -1);
Ethernet.init(CS);
while (!Serial) { }
Ethernet.begin(mac);
Serial.print("Ethernet iniciado. Dirección IP: ");
Serial.println(Ethernet.localIP());
timeClient.begin();
timeClient.update();
seceth.setCACert(root_ca);
client.setServer(mqtt_server, mqtt_port);
client.setCallback(callback);
Reinicio.attach(2,reinicio);
xTaskCreatePinnedToCore(
mqttTask,
"mqttTask",
8192,
NULL,
1,
NULL,
0
);
xTaskCreatePinnedToCore(
countTask,
"countTask",
8192,
NULL,
1,
NULL,
1
);
}
Expected Behavior
Publish a variable in a broker mqtt over tls with ethernet
Actual Behavior
when the mqtt task run, this error appears
[ 62514][E][ssl__client.cpp:42] _handle_error(): [start_ssl_client():367]: (-1) ERROR - Generic error
[ 62515][E][SSLClient.cpp:242] connect(): start_ssl_client failed: 0
Environment
- Operating System: [Windows 10 Home]
- Version: [22H2]
IDE
- Arduino IDE
- PlatformIO IDE extension
Additional Context
It is a very big program, try to show the functions that are used by the mqtt task
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
help wantedExtra attention is neededExtra attention is needed