Используя Arduino IDE / загрузчик в setup (), я делаю:
const byte DNS_PORT = 53;
IPAddress apIP(192, 168, 1, 1);
WiFi.mode(WIFI_AP);
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
WiFi.softAP("My Device SSID");
dnsServer.start(DNS_PORT, "*", apIP);
webServer.on("/hotspot-detect.html", handleAppleCaptivePortal);
webServer.begin();
Цикл просто
void loop() {
dnsServer.processNextRequest();
webServer.handleClient();
}
Функция обработчика выглядит следующим образом:
void handleAppleCaptivePortal() {
String Page = F("<HTML><HEAD><TITLE>Success</TITLE></HEAD><BODY>Success</BODY></HTML>");
webServer.sendHeader("Cache-Control", "no-cache, no-store, must-revalidate");
webServer.sendHeader("Pragma", "no-cache");
webServer.sendHeader("Expires", "-1");
webServer.send(200, "text/html", Page);
return;
}
Это, кажется, полностью подделывает мой iPhone.Он просто подключается к сети, как если бы у него было подключение к Интернету.