Para crear un Access Point se usa de la libreria la intrucción WIFI.softAP()
Como base se tiene el ejercicio de una página web para encender o apagar el LED incorporado.
En ésta ocasión no es necesario conectarse a un router, el AP aparece en la lista de dispositivos circundantes. Se selecciona y se ingresa con el nombre de red y la contraseña.
/* ESP32 Soft AP con web server para encender LED_Pin forma básica con la función inicia_wifi Referencia: https://www.arduino.cc/en/Tutorial/WiFiWebServer */ #include <WiFi.h> const char* ssid = "iotirni19_AP"; const char* password = "xxxxx"; // puerto de servidor web 80 const PROGMEM uint8_t puertoweb = 80; WiFiServer server(puertoweb); // LED monitor interno //ESP01-pin=1, ESP07-pin=2; ESP32-pin=5 const PROGMEM uint8_t LED_pin = 5; int LED_estado = 0; void setup() { // Conexion serial Serial.begin(115200); Serial.setTimeout(500); // espera inicializar serial while(!Serial) { } // LED monitor pinMode(LED_pin, OUTPUT); delay(10); // Convertir en AP WiFi.softAP(ssid, password); //inicia_wifi(); // no se conecta a un router server.begin(); } void loop(){ WiFiClient client = server.available(); if (client){ String linea = ""; Serial.println(); Serial.println("Nuevo cliente."); while (client.connected()) { if (client.available()) { char c = client.read(); Serial.write(c); if (c == '\n') { // Si recibe fin de linea y la linea es vacia, // la peticion http finalizó, se responde: if (linea.length() == 0) { // HTTP headers inician con ésta secuencia: client.println("HTTP/1.1 200 OK"); client.println("Content-type:text/html"); client.println(); // contenido despues de headers client.print("LED estado: "); client.print(String(LED_estado)+" "); client.print("Click <a href=\"/H\">ENCIENDE LED</a><br>"); client.print("Click <a href=\"/L\"> APAGA LED</a><br>"); // finaliza contenido: client.println(); // sale del lazo: break; } else { linea = ""; } } else if (c != '\r') { linea = linea + c; } // Revisa click del cliente "GET /H" or "GET /L": if (linea.endsWith("GET /H")) { digitalWrite(LED_pin, HIGH); LED_estado = 1; } if (linea.endsWith("GET /L")) { digitalWrite(LED_pin, LOW); LED_estado = 0; } } } delay(1); // espera que browser procese client.stop(); // cierra conexión: Serial.println("Cliente desconectado."); } }