Creación de nuestro primer programa con ESP-IDF
En esta clase, aprenderemos a crear nuestro primer programa utilizando el ESP-IDF, comenzando con un clásico "Hola, mundo". Además, exploraremos los pasos necesarios para la creación, compilación y carga del programa en nuestra placa ESP32.
1. Preparación del entorno
Para comenzar, abrimos la terminal de comandos con el entorno ESP-IDF configurado. Es recomendable tener una carpeta de trabajo organizada para nuestros proyectos. En este caso, yo he creado una carpeta llamada ESP32, pero puedes crear una en cualquier ubicación y navegar hasta ella desde la terminal.
Nota: Asegúrate de estar usando la terminal del ESP-IDF.
2. Creación del proyecto
Ejecutamos el siguiente comando para crear un nuevo proyecto:
idf.py create-project <nombre_del_proyecto>
En este caso, nombraremos el proyecto chip-info:
idf.py create-project chip-info
La terminal mostrará un mensaje confirmando la creación del proyecto:
The project was created in C:\Users\diana\Documents\work\platzi\cursos\latest\esp32\chip-info
Este comando genera una carpeta con el nombre del proyecto y los archivos básicos para su funcionamiento.
3. Exploración de los archivos del proyecto
Dentro de la carpeta del proyecto encontraremos:
- CMakeLists.txt: Archivo de configuración del proyecto.
- main.c: Archivo donde escribiremos nuestro código.
Ahora podemos empezar a programar.
4. Edición del código en Visual Studio Code
Para abrir el editor desde la terminal, ejecutamos:
code .
Dentro del archivo main.c, escribimos el siguiente código para imprimir "Hola, mundo":
#include <stdio.h>
void app_main() {
printf("Hola, mundo!\n");
}
Importante: Siempre incluir \n en printf para asegurar la correcta visualización en la terminal.
5. Lectura de información del chip ESP32
Para hacer nuestro programa más interesante, leeremos información del chip como su modelo y número de cores utilizando la librería esp_chip_info.h.
#include <stdio.h>
#include "esp_chip_info.h"
void app_main() {
esp_chip_info_t chip_info;
esp_chip_info(&chip_info);
printf("Este es un chip tipo %s, y tiene %d cores!\n",
CONFIG_IDF_TARGET,
chip_info.cores);
}
Explicación del código:
- esp_chip_info_t chip_info; -> Se crea una variable para almacenar la información del chip.
- esp_chip_info(&chip_info); -> Se llena la variable con los datos del chip.
- chip_info.cores -> Obtiene el número de cores.
- CONFIG_IDF_TARGET -> Indica el modelo del chip.
6. Compilación y carga del programa
Para compilar el código, ejecutamos:
idf.py build
Si ya hemos compilado antes, esta segunda vez será más rápida. Luego, para subir el programa a la placa ESP32:
idf.py -p COM3 flash
Este comando sube el binario a la tarjeta de desarrollo. Una vez finalizado, el sistema indicará Done.
7. Monitoreo del resultado
Para ver la información impresa por el programa, usamos el modo monitor:
idf.py -p COM3 monitor
La terminal mostrará la información del chip y el mensaje:
Este es un chip tipo esp32, y tiene 2 cores!
Uso de la protoboard
En las siguientes prácticas, utilizaremos una protoboard para conectar componentes de manera sencilla.
Características de la protoboard:
✅ Tiene filas y columnas organizadas con números y letras. ✅ Incluye carriles de alimentación marcados con azul (negativo) y rojo (positivo). ✅ Sus conexiones internas permiten conectar componentes sin soldadura.
Conexiones internas:
- Carriles de alimentación: Todas las conexiones en la misma línea están unidas internamente.
- Zona central: Filas conectadas en bloques (A-E y F-J).
- Ranura central: Divide la protoboard en dos partes sin conexión directa.
Ejemplo: Conectar un LED correctamente
1️⃣ Patita positiva del LED en la fila 4. 2️⃣ Patita negativa en la fila 5, con una resistencia al negativo. 3️⃣ Conectar la terminal positiva con un cable a la línea roja (+).
De este modo, la corriente fluye correctamente y el LED se enciende.