【问题标题】:ESP8266 Access Point Mode - Intermittent when connectingESP8266 接入点模式 - 连接时断断续续
【发布时间】:2019-08-06 14:14:04
【问题描述】:

我在接入点模式下使用 ESP8266 通过 HTTP 从移动应用程序向其发送一些数据(wifi 凭据)。接入点初始化代码很简单:

IPAddress apIP(10, 10, 10, 1);                      
IPAddress subnet(255,255,255,0);                   
WiFi.softAPConfig(apIP, apIP, subnet);
WiFi.softAP(ACCESS_POINT_NAME);     // No password requird

我发现有时手机可以无缝连接到 ESP 的网络,而其他时候则严重困难(拒绝连接,或者需要 3 分钟以上才能连接)。

问题是:

  1. 此代码是否存在问题,可能会导致客户端与 ESP 建立连接(有时很好,有时没有)?就像我应该将 WiFi 频道从 1 更改为一样吗?静态 IP/子网掩码是否会造成问题?
  2. 问题是否可能与硬件有关 - 即有时客户端从 ESP 获得良好的 wifi 信号,有时不是?

【问题讨论】:

    标签: c++ networking esp8266 esp8266wifi


    【解决方案1】:

    如果其他人面临这个问题,我发现执行以下操作可以大大提高性能:

    • 删除 DNS
    • 重置 WiFi 配置
    • 将模块显式设置为 AP 模式 - 此 Github issue 注释引用了这一点。这似乎是改进的主要驱动力。

    所以现在的代码是:

    // Set up WiFi mode [Improve AP stability - no dual STA mode]
    ESP.eraseConfig();
    WiFi.mode(WIFI_AP);
    
    IPAddress apIP(10, 10, 10, 1);                      
    IPAddress subnet(255,255,255,0);              
    WiFi.softAPConfig(apIP, apIP, subnet);
    WiFi.softAP(ACCESS_POINT_NAME);     // No password
    WiFi.printDiag(Serial);
    

    原因是在 STA 模式下,ESP 可能会进行通道跳跃(取决于环境),并且 AP 会随之拉动。因此,在通道跳跃之前连接的任何客户端都必须重新连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多