ESP32 无法连接到 iPhone 个人热点

问题描述

这是我的代码

#include <WiFi.h>
 
const char* ssid     = "wifiname";
const char* password = "12345678";

void setup() {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA); // SETS TO STATION MODE!
  WiFi.begin(ssid,password);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(1000);
  }  
  Serial.print("IP is ");
  Serial.println(WiFi.localIP());
}

void loop() {
}

我可以使用 WiFiscan 例程找到我 iPhone 的个人热点,但我无法连接到它。

解决方法

我测试了您的代码,并且能够将我的 ESP32 连接到我的 iPhone 8+。由于您能够扫描 iPhone 的热点,您可以尝试以下操作:

  • 确保您使用的是 2.4GHz 热点而不是 5GHz。如果您的 iPhone 12 现在支持 5GHz 热点,请转到设置 -> 个人热点 -> 启用(!)“最大化兼容性”
  • 尝试连接其他 wifi(在 2.4GHz 范围内)
  • (听起来很愚蠢,但是):您是否尝试更改 iPhone 上的 SSID 和 PW?你确定你的“ssid”和“password”变量都正确(没有拼写错误)?出于测试目的,您甚至可以尝试排除特殊字符并仅使用字母和数字。
  • 如果一切都失败,则可能是硬件问题。您是否尝试使用不同的 ESP32?