Hola.
Estoy usando el módulo esp8266 y la librería ESP8266WiFi el caso es que necesito dejar que el módulo solo pueda gestionar una sola conexión entrante, lo tengo configurado como AP, con los comados AT si se puede hacer lo que necesito enviando AT+CIPMUX=0, pero con esta librería no se como hacerlo.
Adjunto código:
/*
Crea un servidor Web en modo Access Point que permite encender un LED conectado a la salida (GPIO00) del módulo ESP8266 SP01.
Este programa genera un entorno wifi y una pagina en blanco, pero recibe ordenes desde el exterior para poder encender un led en remoto.
*/
#include <ESP8266WiFi.h> //Incluye la librería ESP8266WiFi
const char ssid[] = "Prueba"; //Definimos la SSDI de nuestro servidor WiFi -nombre de red-
const char password[] = "12345678"; //Definimos la contraseña de nuestro servidor
WiFiServer server(80); //Definimos el puerto de comunicaciones
int PinLED = 0; //Definimos el pin de salida - GPIO0
int estado = LOW; //Definimos la variable que va a recoger el estado del LED
void setup() {
Serial.begin(9600);
pinMode(PinLED, OUTPUT); //Inicializamos el GPIO2 como salida
digitalWrite(PinLED, LOW); //Dejamos inicialmente el GPIO2 apagado
server.begin(); //inicializamos el servidor
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password); //Red con clave, en el canal 1 y visible
//WiFi.softAP(ssid, password,3,1); //Red con clave, en el canal 3 y visible
//WiFi.softAP(ssid); //Red abierta
Serial.println();
Serial.print("Direccion IP Access Point - por defecto: "); //Imprime la dirección IP
Serial.println(WiFi.softAPIP());
Serial.print("Direccion MAC Access Point: "); //Imprime la dirección MAC
Serial.println(WiFi.softAPmacAddress());
// Seleccionamos las direcciones de la red que nosotros deseamos crear
IPAddress local_ip(192, 168, 1, 11); //Modifica la dirección IP
IPAddress gateway(192, 168, 1, 1); //Modifica la dirección IP de la puerta de enlace
IPAddress subnet(255, 255, 255, 0); //Modifica la dirección mascara de subred
WiFi.softAPConfig(local_ip, gateway, subnet);
Serial.println();
Serial.print("Access Point - Nueva direccion IP: ");
Serial.println(WiFi.softAPIP());
}
void loop()
{
// Comprueba si el cliente ha conectado
WiFiClient client = server.available();
if (!client) {
return;
}
// Espera asta que el cliente envía alguna petición
Serial.println("nuevo cliente");
while(!client.available()){
delay(1);
}
// Imprime el número de clientes conectados
Serial.printf("Clientes conectados al Access Point: %dn", WiFi.softAPgetStationNum());
// Lee la petición
String peticion = client.readStringUntil('r');
Serial.println(peticion);
client.flush();
// Comprueba la petición
if (peticion.indexOf('/LED=ON') != -1) {
//estado = HIGH;
digitalWrite(PinLED, HIGH);
delay(500);
digitalWrite(PinLED, LOW);
}
// Envía la página HTML de respuesta al cliente vacia
client.println("HTTP/1.1 200 OK");
client.println(""); //No olvidar esta línea de separación
client.println("<!DOCTYPE HTML>");
client.println("<meta charset='UTF-8'>");
client.println("<html>");
client.println("</html>");
}
Gracias.