Para entrar en modo programacion hay que mantener pulsado el boton boot y manteniendo pulsado boot presionar rst luego soltar rst y despues soltar boot , deberia entrar en modo programacion. Para poder ejecutar el programa despues de cargarlo debemos presionar rst.
Cuando creamos un nuevo proyecto en vscode platformio podemos seleccionar el framework de arduino o espidf para trabajar con las tarjetas ESP32.
Si utilizamos el archivo platformio.init del framework arduino (tambien en espidf) , en este archivo podemos indicar las librerias que necesitamos, asi como otras configuraciones del proyecto.
Si utilizamos el archivo cmakelist.txt del framework espidf, en este archivo tambien podemos indicar las librerias que necesitamos para nuestro proyecto.
La eleccion de platformio.init o cmakelist.txt depende de las necesidades del proyecto, el primero es mas sencillo de implementar mientras que el cmakelist ofrece una personalizacion mas adecuada si queremos utilizar nuestro proyecto en diferentes plataformas o entornos aunque aumenta la complejidad.
Para trabajar con el framework espidf necesitaremos tener la herramienta git descargada, lo podemos descargar desde el terminal, por ejemplo «brew install git» (en el caso de mac).
Ahora si escribimos en terminal en ese directorio «ls -a» deberemos poder ver la carpeta «.git».
Despues de instalar la herramienta podemos iniciarla con «git init». Despues podemos descargar el repositorio de espressif para utiliazar las librerias y herramientas (aunque es posible que las tengas en otro directorio ya instaladas):
git clone –recursive https://github.com/espressif/esp-idf.git
Para asegurarnos que el git trabaja bien debemos hace un «commit», el «commit» prepara los datos para un cambio o midificacion.
Deberemos asegurarnos de que Platformio esta instalado, podemos hacerlo desde extensiones en vscode o abrir un terminal por ejemplo «bash» y escribir :
pip install platformio
Despues ya deberiamos de poder ejecutar el comando de platformio:
pio –update
Se recomienda actualizar python:
pip install –upgrade pip
Si no se ha instalado automaticamente con vscode el framework espidf deberemos ir al directorio de espidf y ejecutarlo escribiendo:
./install.sh
despues deberemos configurar las variables:
source /…/esp-idf/export.sh
Es importante que el proyecto mantenga la estructura de directorios y archivos propios del proyecto.
Otra opcion accesible desde linea de comandos es la configuracion del entorno de desarrollo de espressif, podemos hacerlo desde el terminal escribiendo:
pio run -t menuconfig
Prueba del led en la placa, el codigo es:
#include <stdio.h>
#include "driver/gpio.h"
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#define LED_GPIO_PIN 2
void app_main() {
// Configure the GPIO pin as an output
gpio_config_t io_conf;
io_conf.intr_type = GPIO_INTR_DISABLE;
io_conf.mode = GPIO_MODE_OUTPUT;
io_conf.pin_bit_mask = (1ULL << LED_GPIO_PIN);
io_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
io_conf.pull_up_en = GPIO_PULLUP_DISABLE;
gpio_config(&io_conf);
// Blink the LED
while (1) {
gpio_set_level(LED_GPIO_PIN, 1); // Turn the LED on
vTaskDelay(1000 / portTICK_PERIOD_MS); // Wait for 1 second
gpio_set_level(LED_GPIO_PIN, 0); // Turn the LED off
vTaskDelay(1000 / portTICK_PERIOD_MS); // Wait for 1 second
}
}
Codigo perteneciente a cmakelist.txt en el directorio del proyecto:
cmake_minimum_required(VERSION 3.16.0)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(esp32s3r8)
Codigo perteneciente a cmakelist.txt del directorio main.c:
# This file was automatically generated for projects
# without default 'CMakeLists.txt' file.
FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*)
idf_component_register(SRCS ${app_sources})
Codigo perteneciente al archivo platformio.init:
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:4d_systems_esp32s3_gen4_r8n16]
platform = espressif32
board = 4d_systems_esp32s3_gen4_r8n16
framework = espidf
monitor_speed = 9600
Este es el codigo perteneciente al proyecto esp32s3r8
Buenos dias.Tengo una placa esp32 s3 con el anclaje para la ov2640 pero no soy capaz de compilar a traves de un yaml de homeassistamt los gpios adecuados para que reconozca la camara y funcione