ESP8266 - Solicitud HTTPS
ESP8266 puede actuar como cliente web y realizar solicitudes HTTPS a un servidor web. Este servidor web podría ser un sitio web, API web, API REST o servicio web...
HTTP frente a HTTPS
Desde la perspectiva de un cliente web, HTTPS es lo mismo que HTTP, excepto que los datos están cifrados entre el cliente y el servidor. Esto hace que HTTPS sea un protocolo seguro.
Por lo tanto, para entender HTTPS, primero debemos adquirir conocimientos de HTTP y luego descubrir cómo cifrar datos.
Aprende sobre HTTP
- Consulta el tutorial sobre ESP8266 - HTTP Request tutorial.
Aprende a cifrar datos en HTTPS
Afortunadamente, es sencillo modificar el código HTTP para crear código HTTPS. Dependiendo de la placa o escudo, solo se necesita modificar una línea de código. Para hacer esto, localice las líneas de código especificadas en la tabla que aparece a continuación y sustitúyalas por el código HTTPS correspondiente.
| Board/Shield | HTTP Code | HTTPS Code |
|---|---|---|
| ESP8266 UNO WIFI Rev2 | client.connect(server, 80) | client.connectSSL(server, 443) |
| ARDUINO NANO 33 IOT | client.connect(server, 80) | client.connectSSL(server, 443) |
| ARDUINO MKR WIFI 1010 | client.connect(server, 80) | client.connectSSL(server, 443) |
| ARDUINO MKR1000 WIFI | client.connect(server, 80) | client.connectSSL(server, 443) |
| ESP8266 MKR VIDOR 4000 WiFi | client.connect(server, 80) | client.connectSSL(server, 443) |
※ Nota:
- Para algunas placas y escudos, si la biblioteca soporta la clase WiFiSSLClient, existe una forma adicional de modificar el código HTTP para convertirlo en código HTTPS. Todo lo que necesitas hacer es reemplazar WiFiClient por WiFiSSLClient y el puerto 80 por 443.
- En este tutorial, no proporcionaremos ningún código. Esto se debe a que simplemente puedes obtener el código HTTP de ESP8266 - HTTP request y luego modificarlo de acuerdo con las instrucciones anteriores. Al hacer estas modificaciones, puedes realizar solicitudes HTTPS POST/GET o enviar datos desde ESP8266 mediante HTTPS POST/GET a un servidor web.