ESPAsyncWebserver阻止Azure IoTHub MQTT连接

时间:2020-02-24 15:07:57

标签: azure-iot-hub arduino-esp8266

我正在尝试在ESP8266设备上建立与IoTHub的连接。该示例本身就可以正常工作。当我尝试包括AsyncWebserver来托管HTML页面时,我的问题开始了。仅声明服务器变量似乎破坏了IoTHub建立套接字连接的能力。我相信要复制我的问题,您只需导入ESPAsyncWebserver并在此链接中提供的示例IoTHub连接中声明一个AsyncWebserver。

https://github.com/Azure-Samples/iot-hub-feather-huzzah-client-app/tree/master/app

我的串行输出如下:

Sending message: {"deviceId":"Esp-home","messageId":31,"temperature":29,"humidity":36}.
IoTHubClient accepted the message for delivery.
dowork TLSIO_STATE_OPENING_WAITING_DNS
dowork TLSIO_STATE_OPENING_WAITING_SOCKET
dowork TLSIO_STATE_OPENING_WAITING_SSL
Error opening socket 0
Calling error callback
Error: failure opening connection to endpoint
tlsio_arduino_destroy called while not in TLSIO_STATE_CLOSED.

我正在使用platformIO,并且已将所有功能复制到一个C ++文件中,但除此之外,我什么都没做。任何人都可以对这个问题有所了解,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我有完全相同的错误。我在ESP8266WiFi库中找到了内存不足的故障。当堆上只有12K可用时,函数WiFiClientSecure :: _ connectSSL尝试分配16K输入缓冲区。我当然希望开发人员可以返回比“ false”或0更全面的信息。无论如何,ESP8266在内存方面似乎太有限了,因此我将转向ESP32。我想8266可以,只要您不需要使用SSL。