Tutorial del Internet de las Cosas con el ESP8266
Juan Antonio Villalpando
Volver al índice del tutorial
____________________________
323B.- ESP8266 D1 R2. Hotspot usuario y contrasa. User and password.
- En algunos centros, además de deber establecer el nombre de la red WiFi y contraseña WiFi, debemos escribir el nombre de usuario y contraseña de usuario que nos han asignado en esta red. Esto es lo que se denomina Hotspot.
- Si queremos conectar a una red WiFi con hotspot mediante un sistema operativo con escritorio como Windows, Ubuntu,... primero establecemos el nombre de la red Wifi y su contraseña de red. Luego entramos een una página web con un pequeño formulario donde debemos escribir nuestro nombre de usuario y contraseña que el administrador de red nos ha suministrado para conectar.
- En el caso de nuestro ESP8266 debemos buscar algún código para que en ese mismo código estén los 4 parámetros necesarios: nombre de red, contraseña de red, nombre de usuario y contraseña de usuario.
- Bueno, mientras termino un tutorial sobre esto, consulta este vídeo:
https://www.youtube.com/watch?v=GtitAVANziE
________________________________________
1.- Comienza por este código como ejemplo:
https://github.com/scanlime/esp8266-Arduino/blob/master/tests/Time/Time.ino
Time.ino |
#include <ESP8266WiFi.h>
#include <time.h>
#include <ESP8266HTTPClient.h> // Librería HTTPClient
const char* ssid = "Nombre_de_la_Red_WiFi";
const char* password = "Contraseña_WiFi";
int timezone = 3;
int dst = 0;
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("\nConnecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(1000);
}
HTTPClient http;
http.begin("http://10.10.1.10/login.php"); // Página de conexión
Serial.print("[HTTP] POST... \n");
int httpCode = http.POST("username=juan&password=12345&next=&submit=");
if(httpCode > 0) {
Serial.print("[HTTP] POST... code: %d\n", httpCode);
if(httpCode == HTTP_CODE_OK) {
String payload = http.getString();
Serial.print(payload);
}
} else {
Serial.print("[HTTP] POST... error: %s\n", http.errorToString(httpCode).c_str());
}
http.end;
configTime(3 * 3600, 0, "pool.ntp.org", "time.nist.gov");
Serial.println("\nWaiting for time");
while (!time(nullptr)) {
Serial.print(".");
delay(1000);
}
Serial.println("");
}
void loop() {
time_t now = time(nullptr);
Serial.println(ctime(&now));
delay(1000);
}
|
- Añade la librería HTTPClient.
- Consulta la dirección de la página del login, en este caso http://10.10.1.10/login.php
- Entra en la página de login.php y mira su código fuente. Consulta si el formulario envía la información en GET o POST, en este caso la envía en POST.
- Consulta en el código fuente el nombre de las variables de usuario y contraseña, en este caso username y password.
- Consulta lo que envía cuando la conexión es correcta, en este caso HTTP_CODE_OK
_______________________________
|