Si les da un error al cargar nuevamente el programa y la placa está conectada. En mi caso funcionó presionar el botón “BOOT” después de aplicar el comando:
idf.py -p (COM) flash
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
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Diana Martínez
Aportes 8
Preguntas 3
Si les da un error al cargar nuevamente el programa y la placa está conectada. En mi caso funcionó presionar el botón “BOOT” después de aplicar el comando:
idf.py -p (COM) flash
Linux
Para identificar el puerto usado use:
$ ll /dev/ttyU*
Me marcaba el siguiente error cuando intenté flashear el ESP32:
A fatal error occurred: Could not open /dev/ttyUSB0, the port doesn’t exist
Lo solucioné con:
$ sudo adduser <username> dialout
$ sudo chmod a+rw /dev/ttyUSB0
En donde <username> es el usuario actual de Linux y ttyUSB0 es el puerto que le asignó a mi placa.
pongo el codigo el ejercicio:
#include <stdio.h>
#include "esp_chip_info.h"
void app_main(void)
{ 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
);
}
vuelvo a aclarar que en mi caso ( ESP32 nodemcu) para poder poner el modulo en mode download, tuve que desenergizar la placa y conectarla al usb teniendo presionado el boton 100 en serigrafia, poder poder ver el print: idf.py -p /dev/ttyUSB0 monitor
Utilice toda la definicion en la libreria: miscellaneous system apis
#include <stdio.h>
#include "esp_chip_info.h"
esp_chip_info_t chip_info;
char* model_chip;
long features_chip;
char* get_model_name(int model)
{
char* model_name;
switch (model)
{
case CHIP_ESP32:
model_name = "ESP32";
break;
case CHIP_ESP32S2:
model_name = "ESP32-S2";
break;
case CHIP_ESP32S3:
model_name = "ESP32-S3";
break;
case CHIP_ESP32C2:
model_name = "ESP32-C2";
break;
case CHIP_ESP32C3:
model_name = "ESP32-C3";
break;
case CHIP_ESP32C6:
model_name = "ESP32-C6";
break;
case CHIP_ESP32H2:
model_name = "ESP32-H2";
break;
//case CHIP_ESP32P4: El compilador no lo reconoce
case 18:
model_name = "ESP32-P4";
break;
case CHIP_POSIX_LINUX:
model_name = "The code is running on POSIX/Linux simulator";
break;
default:
model_name = "?????";
}
return model_name;
}
void app_main(void)
{
esp_chip_info(&chip_info);
model_chip = get_model_name(chip_info.model);
features_chip = chip_info.features;
printf("Hola mundo desde isp-idf\n");
printf("model %s revision %d cores %d \n",
model_chip,
chip_info.revision,
chip_info.cores
);
printf("Features:");
if (features_chip & CHIP_FEATURE_EMB_FLASH) printf("Chip has embedded flash memory\n");
if (features_chip & CHIP_FEATURE_WIFI_BGN) printf("Chip has 2.4GHz WiFi\n");
if (features_chip & CHIP_FEATURE_BLE) printf("Chip has Bluetooth LE\n");
if (features_chip & CHIP_FEATURE_BT) printf("Chip has Bluettoth Classic\n");
if (features_chip & CHIP_FEATURE_IEEE802154) printf("Chip has IEEE802154\n");
if (features_chip & CHIP_FEATURE_EMB_PSRAM) printf("Chip has embedded psram\n");
/*
//Esto Aparece en los miscellaneous system apis
//features
printf("%ld Chip has embedded flash memory\n", CHIP_FEATURE_EMB_FLASH);
printf("%ld Chip has 2.4GHz WiFi\n", CHIP_FEATURE_WIFI_BGN);
printf("%ld Chip has Bluetooth LE\n", CHIP_FEATURE_BLE);
printf("%ld Chip has Bluettoth Classic\n", CHIP_FEATURE_BT);
printf("%ld Chip has IEEE802154\n", CHIP_FEATURE_IEEE802154);
printf("%ld Chip has embedded psram\n", CHIP_FEATURE_EMB_PSRAM);
//models
printf("%d ESP32\n", CHIP_ESP32);
printf("%d ESP32-S2\n", CHIP_ESP32S2);
printf("%d ESP32-S3\n", CHIP_ESP32S3);
printf("%d ESP32-C3\n", CHIP_ESP32C3);
printf("%d ESP32-C2\n", CHIP_ESP32C2);
printf("%d ESP32-C6\n", CHIP_ESP32C6);
printf("%d ESP32-H2\n", CHIP_ESP32H2);
//printf("%d ESP32-P4\n", CHIP_ESP32P4);
//cuando compilo con esta constante no la reconoce
printf("%d The code is running on POSIX/Linux simulator\n", CHIP_POSIX_LINUX);
*/
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?