Página 1 de 1

Usar nuestro ESP8266 como Punto de Acceso, con o sin IP específica.

Publicado: 25 Mar 2017, 14:57
por Naguissa
Nuestro ESP8266 puede actuar como un Punto e Acceso, AP o Access Point) en lugares donde no disponemos de una conexión a Internet pero deseamos poder comunicarnos con él.


Usar valores predeterminados (192.168.1.4):

Código: Seleccionar todo

#include <ESP8266WiFi.h>
#include <WiFiClient.h>

char* ssid = "mi_ssid";
char* password = "mi_contraseña";

void setupWiFi(void){
	WiFi.mode(WIFI_AP);
	WiFi.begin(ssid, password);
	// Wait for connection
	uint8_t i = 0;
	while (WiFi.status() != WL_CONNECTED && i++ < 30) {//wait 30 seconds
		delay(500);
	}
	if(i == 31){
		// Error al conectar
		return;
	}
	// Conectado; imprimimos la IP local por Serial.
	Serial.println(WiFi.localIP());
}

Especificar una configuración IP manualmente:

Código: Seleccionar todo

#include <ESP8266WiFi.h>
#include <WiFiClient.h>

char* ssid = "mi_ssid";
char* password = "mi_contraseña";

IPAddress wifiIp(192, 168, 1, xxx);
IPAddress wifiNet(255, 255, 255, 0);
IPAddress wifiGW(192, 168, 1, xxx); // Opcional

void setupWiFi(void){
	WiFi.mode(WIFI_AP);
	WiFi.softAPConfig(wifiIp, wifiGW, wifiNet);
	WiFi.begin(ssid, password);
	// Wait for connection
	uint8_t i = 0;
	while (WiFi.status() != WL_CONNECTED && i++ < 30) {//wait 30 seconds
		delay(500);
	}
	if(i == 31){
		// Error al conectar
		return;
	}
	// Conectado; imprimimos la IP local por Serial.
	Serial.println(WiFi.localIP());
}
En este caso, si no hay salida a Internet no tenéis una puerta de enlace, por lo que podéis usar wifiIp como wifiGW y ahorraros una variable.