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

ESP32 ESP-NOW单向通信无法添加Peer求助

排查ESP32 ESP-NOW无法添加Peer的问题
  • 核对Peer的MAC地址准确性
    接收端的MAC地址必须完全正确,格式为XX:XX:XX:XX:XX:XX,大小写和字符不能出错。可在接收端运行以下代码获取精确MAC:

    #include <WiFi.h>
    void setup(){
      Serial.begin(115200);
      Serial.println(WiFi.macAddress());
    }
    void loop(){}
    
  • 确保两端WiFi信道一致
    ESP-NOW要求发送端与接收端处于同一WiFi信道,建议手动指定相同信道,比如在两端代码中添加:

    WiFi.mode(WIFI_STA);
    WiFi.begin();
    WiFi.setChannel(6); // 两端统一使用同一信道,比如6、11等
    
  • 验证ESP-NOW初始化状态
    在发送端代码中添加初始化结果打印,确认ESP-NOW是否正常启动:

    if (esp_now_init() != ESP_OK) {
      Serial.println("ESP-NOW初始化失败");
      return;
    }
    
  • 检查添加Peer的代码逻辑
    确认添加Peer的结构体参数配置正确,示例代码如下:

    esp_now_peer_info_t peerInfo;
    uint8_t receiverMac[] = {0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX}; // 替换为接收端MAC
    memcpy(peerInfo.peer_addr, receiverMac, 6);
    peerInfo.channel = 0; // 0表示自动匹配信道,或手动指定与接收端一致的信道
    peerInfo.encrypt = false; // 未加密通信模式
    if (esp_now_add_peer(&peerInfo) != ESP_OK){
      Serial.println("添加Peer失败");
      return;
    }
    
  • 硬件与环境排查

    • 两个ESP32之间避免信号遮挡,控制通信距离;
    • 更换ESP32模块排除硬件故障;
    • 使用稳定版本的ESP32板包,避免测试版兼容性问题。

若上述排查均无效,请附上发送端与接收端的完整代码,以便进一步定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:55:25