c - ESP32 无法连接到 MQTT 代理 : mqtt_client: Error network response

标签 c mqtt esp32 platformio

我正在尝试将使用 ESP-IDF 框架运行的 ESP32 连接到 MQTT。我已经导入了这个MQTT library成功并将配置设置为如下所示:

static void mqtt_app_start(void)
{
    const esp_mqtt_client_config_t mqtt_cfg = {
        // .host = "m15.cloudmqtt.com",
        .uri = "mqtt://rxarkckf:smNb81Ppfe7T@m15.cloudmqtt.com:10793", // uri in the format (username:password@domain:port)
        // .host = "m15.cloudmqtt.com", // config with host, port, user, password seperated
        // .port = 10793,
        // .username = "rxarkckf",
        // .password = "smNb81Ppfe7T",

        .event_handle = mqtt_event_handler,
        // .user_context = (void *)your_context
    };

    esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
    esp_mqtt_client_start(client);
}

我调用 mqtt_app_start();在我的 app_main 函数中。上传代码后,我的 ESP-32 未连接到 MQTT 代理并输出以下内容:

␛[0;32mI (12633410) MQTT_CLIENT: Sending MQTT CONNECT message, type: 1, id: 0000␛[0m
␛[0;31mE (12633710) MQTT_CLIENT: Error network response␛[0m
␛[0;32mI (12633710) MQTT_CLIENT: Error MQTT Connected␛[0m
␛[0;32mI (12633710) MQTT_CLIENT: Reconnect after 10000 ms␛[0m
␛[0;32mI (12633710) MQTT_SAMPLE: MQTT_EVENT_DISCONNECTED␛[0m

我已仔细检查主机、用户名、密码和端口的值是否均正确。当我查看 cloudmqtt.com 托管的 Web 界面上的日志时,我可以看到以下输出:

2018-11-17 03:50:53: New connection from 73.94.66.49 on port 10793.
2018-11-17 03:50:53: Invalid protocol "MQIs�" in CONNECT from 73.94.66.49.
2018-11-17 03:50:53: Socket error on client <unknown>, disconnecting.
2018-11-17 03:51:20: New connection from 73.94.66.49 on port 10793.

最佳答案

我有类似的使用蚊子的经历。

将此行添加到 mqtt_config.h 使我的 mqtt 正常工作。

#define CONFIG_MQTT_PROTOCOL_311

我认为设置此配置的更正确方法是在 sdkconfig.h 中,手动或使用“make menuconfig”

关于c - ESP32 无法连接到 MQTT 代理 : mqtt_client: Error network response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53355096/

相关文章:

ESP32 Core 1 出现 panic (CPU1 上的中断 wdt 超时)

c++ - 在没有附加库的情况下在标准 C/C++ 中解析 XML

c - 关于如何在 C 结构中表示缓冲区

c - 如何读取长度未知、没有空格的矩阵?

c - 获取对二维数组中行的引用的正确方法

ssl - 我如何通过 Javascript 将 TLS 与 Paho MQTT 一起使用?

python - MQTT:蚊子断开连接

c - ESP 32 中断问题

Python 和 Azure 物联网中心

python - C通过UART发送结构到Python