no olvidar agregar al cmakelist de este nuevo proyecto set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common)
Introducción
Introducción a los microcontroladores
La importancia de la industria IoT
Tipos de computadoras
Cómo escoger un microcontrolador
Hardware
Características del ESP32
ESP-IDF
Documentación oficial del ESP-IDF
Instalación del ESP-IDF en Windows
Instalación del ESP-IDF en Mac
Instalación del ESP-IDF en Linux
Lista de materiales
Proyectos con ESP-IDF
Primer proyecto
API Core
Hola mundo con ESP-IDF
Sistemas Operativos en Tiempo Real
FreeRTOS con ESP32
Ciclo de vida de las tareas con FreeRTOS
Almacenamiento con ESP32
Peripherals API
Salida Digital con ESP32
Entrada Digital con ESP32
Entrada Analógica con ESP32
Modulación de Ancho de Pulsos
Control PWM con ESP32 y LEDC
Servidor Web
Redes y protocolos de Internet
Redes WiFi
Loop de eventos
Conexión WiFi con ESP32
Servidor HTTP básico con ESP32
Smart Light
Dimmer LED via HTTP con ESP32
Aplicación Web con ESP32
Despedida
Tu primer proyecto de IoT con ESP32
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 8
Preguntas 2
no olvidar agregar al cmakelist de este nuevo proyecto set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common)
Hola 😃
Aquí mi resultado
No voy a mentir, me emocioné un montón al ver ese Hola Mundo. Llevo muchos años desarrollando web pero hacer un servidor en algo tan pequeño, algo iot me generó mucha felicidad.
Gran clase!
Este es mi ejercicio
.
.
.
.
************************************************************
IP : 192.168.197.252
Net mask : 255.255.255.0
Gateway : 192.168.197.222
I (10944) main_task: Returned from app_main()
I (11054) wifi:<ba-add>idx:1 (ifx:0, 36:4f:fc:11:3f:28), tid:6, ssn:2, winSize:64
.
Este es el codigo del programa:
.
#include <stdio.h>
#include "string.h"
#include "esp_wifi.h"
#include "nvs_flash.h"
#include "protocol_examples_common.h"
#include "esp_http_server.h"
#include "pagina.h"
esp_netif_ip_info_t ip_info;
esp_netif_t* netif = NULL;
static esp_err_t home_get_handler(httpd_req_t *req)
{
httpd_resp_send(req, resp, HTTPD_RESP_USE_STRLEN);
return ESP_OK;
};
static const httpd_uri_t home = {
.uri = "/",
.method = HTTP_GET,
.handler = home_get_handler
};
void web_server_init()
{
httpd_handle_t server = NULL;
httpd_config_t config = HTTPD_DEFAULT_CONFIG();
if (httpd_start(&server, &config) == ESP_OK)
{
httpd_register_uri_handler(server, &home);
return;
}
else
{
printf("Error al iniciar el servidor\n");
};
};
void app_main(void)
{
nvs_flash_init();
esp_netif_init();
esp_event_loop_create_default();
example_connect();
netif = esp_netif_get_handle_from_ifkey("WIFI_STA_DEF");
if (netif == NULL)
{
printf("No hay interfaz\n");
}
else
{
esp_netif_get_ip_info(netif, &ip_info);
printf("************************************************************\n");
printf("IP : %d.%d.%d.%d\n ", IP2STR(&ip_info.ip));
printf("Net mask : %d.%d.%d.%d\n ", IP2STR(&ip_info.netmask));
printf("Gateway : %d.%d.%d.%d\n ", IP2STR(&ip_info.gw));
web_server_init();
};
}
Hay que hacer dos cosas para este nuevo proyecto
.
set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common)
.
2. correr el comando
idf.py menuconfig
y modificar en Example Connection Configuration el valor del SSID y el de password.
.
.
este es el codigo que implementa el html de la pagina web.
.
utilizo para incluir el html en una variable tipo char algo llamado raw string:
.
.
Basically a raw string literal is a string in which the escape characters (like \n \t or \" ) of C++ are not processed. A raw string literal which starts with R"( and ends in )" ,introduced in C++11
.
aqui esta el codigo de pagina
.
utilizo el SVG para incluir el logo de platzi
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?