You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32/Wokwi通过DHT22向Azure Event Grid MQTT发送数据失败排查

ESP32/Wokwi 连接 Azure Event Grid Namespace MQTT 问题排查及资源说明

一、MQTT连接错误 rc=-2 排查步骤

rc=-2 属于MQTT客户端网络连接失败(无法建立TCP连接或解析Broker地址),按以下方向逐一排查:

  • Broker地址与端口校验:Azure Event Grid Namespace的公网MQTT地址格式为 <你的命名空间名称>.<区域>.eventgrid.azure.net,端口固定使用8883(TLS加密),确保代码中地址无拼写错误,且设备/Wokwi环境能访问该端口(无防火墙、网络规则拦截)。
  • TLS证书配置:Azure MQTT Broker强制要求TLS 1.2及以上版本,ESP32代码需正确嵌入DigiCert Global Root CA证书;Wokwi仿真时,确认代码中已启用TLS并加载有效根证书,避免因证书缺失导致连接中断。
  • 身份验证参数检查:Azure Event Grid MQTT支持SAS令牌或Azure AD认证,若使用SAS令牌,需确保令牌格式正确(SharedAccessSignature sr=<命名空间>&sig=<签名>&se=<过期时间>&skn=<密钥名称>),且对应的访问密钥拥有Send权限,令牌未过期。
  • 网络连通性验证:先用MQTTX客户端测试连接Azure Broker,确认Broker本身可正常访问;ESP32需确保已连接到可访问公网的WiFi,Wokwi仿真环境网络无异常。

二、Azure资源需求确认

实现DHT22温湿度采集、发送至Azure MQTT Broker并通过MQTTX接收的基础功能,仅需Azure Event Grid Namespace,无需额外Azure资源:

  • Event Grid Namespace内置MQTT Broker服务,可直接接收MQTT消息,你通过MQTTX订阅对应主题即可查看采集到的温湿度数据。
  • 若后续需要扩展功能(如数据持久化、实时分析、触发业务逻辑),才需添加Azure Storage、Azure Functions、Azure Stream Analytics等额外资源,基础流程不依赖其他服务。

内容的提问来源于stack exchange,提问作者Ahmad Mudzakkir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 22:48:15