Introducción a la Terminal de Comandos en ESP-IDF
En la clase anterior, repasamos la estructura de un proyecto en ESP-IDF y sus componentes. Ahora, nos enfocaremos en el uso de la terminal de comandos para manejar nuestro proyecto.
Exploración de Comandos en ESP-IDF
En la sesión anterior, ejecutamos un comando para listar todas las opciones disponibles en ESP-IDF. Ahora, vamos a aprender a utilizarlas.
Comandos Básicos en ESP-IDF
Desde la terminal, podemos ejecutar varios comandos para gestionar nuestro proyecto:
- Ver versión de ESP-IDF: Nos permite conocer la versión instalada.
- Seleccionar carpeta de ejecución: Nos ayuda a indicar en qué directorio deben ejecutarse los comandos.
Algunos de los comandos más importantes son:
- idf.py all o idf.py build: Compila el proyecto y genera un archivo binario final.
- idf.py flash: Sube y "flashea" el binario en la memoria del chip.
- idf.py clean: Elimina archivos de compilaciones previas, útil para corregir errores.
- idf.py fullclean: Borra todos los archivos generados desde la creación del proyecto.
- idf.py set-target: Define manualmente la variante de chip ESP32 a utilizar (ESP32, C2, C3, etc.).
- idf.py menuconfig: Abre un menú de configuración para personalizar el proyecto.
Uso de menuconfig
El comando idf.py menuconfig nos permite configurar diversas opciones del ESP32 mediante un menú interactivo, facilitando el proceso sin necesidad de editar archivos de configuración manualmente. Algunas configuraciones incluyen:
- SDK Tool Configuration: Define el entorno de desarrollo y compilación.
- Bootloader Config: Configura el código de arranque.
- Security Features: Habilita opciones de seguridad, como cifrado del microchip.
- Serial Flasher: Configura el puerto USB para subir nuevos programas.
- Configuración de particiones: Permite modificar la memoria del chip, similar a un disco duro.
Un ejemplo común de configuración es el ajuste del GPIO para un LED intermitente:
- Definir el número de pin en el que se conectará el LED (por ejemplo, el 4 en ESP32-CAM).
- Establecer el periodo de parpadeo (por ejemplo, 1000 ms para 1 segundo).
- Guardar los cambios con "S" y salir con "Q".
Compilación y Carga del Programa
Una vez configurado el proyecto, el siguiente paso es compilarlo y subirlo a la placa de desarrollo.
-
Compilar el código: Ejecutar idf.py all o idf.py build.
- La primera compilación es más lenta, pero las siguientes tardan menos.
- Si se ejecuta idf.py clean o idf.py fullclean, la compilación volverá a tardar más.
-
Subir el binario a la placa:
- Asegurar que la placa esté conectada por USB.
- Identificar el puerto COM asignado.
- Ejecutar idf.py -p COM3 flash (reemplazando "COM3" por el puerto correspondiente).
Una vez cargado, el LED de la ESP32-CAM comenzará a parpadear según lo configurado.
Consideraciones Finales
- Diferentes placas pueden tener distintos pines asignados al LED. Revisar la hoja de datos de la ESP32 que se esté utilizando.
- Si la tarjeta de desarrollo no tiene un LED integrado, se puede conectar uno en una protoboard.
- Menuconfig es una herramienta útil para evitar la edición manual de archivos de configuración.
- Tras cargar el programa, la ESP32 puede funcionar sin estar conectada a la computadora, usando una batería externa.