如何修复 ESP32 Last error reported from esp-tls: 0x8001

问题:

尝试在 ESP32 上使用 TLS(如 MQTTS 或 HTTPS)时,你看到类似这样的错误消息

esp_tls_error.txt
[MQTT] Last error reported from esp-tls: 0x8001

解决方案

0x8001 表示 ESP_ERR_ESP_TLS_CANNOT_RESOLVE_HOSTNAME。换句话说,ESP32 无法解析你尝试使用 DNS 连接的主机的主机名。

通常,这是DNS 问题,所以检查你网络的 DNS 设置。还要检查 ESP32 是否设置了正确的 DNS 服务器 - 例如,如果 ESP32 的 DNS 服务器是 0.0.0.0,这就解释了为什么它无法解析主机名。

有时此问题也由主机名根本不存在(即该主机名没有 DNS 条目)引起。你可以通过解析你尝试连接的主机名来轻松检查


Check out similar posts by category: C/C++, Embedded, ESP8266/ESP32, Networking