3ENGINE

Programación y otros cachivaches

Etiqueta: esp32

Tecnologia

Cómo instalar CP2102 USB to UART Bridge


Para qué sirve un controlador CP2102

El controlador CP2102 es un chip que proporciona un puente entre el USB y el UART (Universal Asynchronous Receiver/Transmitter). El chip es usado en las placas de desarrollo ESP32 y permite la comunicación entre la placa y el ordenador del usuario. Hay otros controladores como por ejemplo el CH340C, pero en mi caso me centraré en el CP2102 porque es el que me llego de Aliexpress. Mientras que el CH340C tiene forma alargada, el CP2102 tiene forma cuadrada:

Una vez que el controlador CP2102 está instalado correctamente, tu ordenador será capaz de comunicarse con la ESP32 a través del USB. Básicamente, el controlador permite que tu computadora vea a la placa ESP32 como un puerto COM virtual. Esto es útil en el desarrollo de aplicaciones de IoT, donde necesitas programar y depurar el código en la placa ESP32.

Cómo instalar el controlador CP2102 USB a UART Bridge en tu ESP32

Descarga el controlador CP2102 de la página oficial del fabricante, Silicon Labs y sigue estos pasos:

  • En la página de los controladores, haz clic en la pestaña Downloads.
  • En la categoría Software, encontrarás una lista de controladores. Haz clic en los controladores individuales que deseas descargar. Comunmente, si tienes Windows, haz clic en CP210x Windows Drivers
  • Se descargará un archivo .zip en tu PC. Extrae el archivo y luego instala el controlador.

Si conectas tu placa de desarrollo ESP32 por USB deberia aparecer algo como esto:




Tecnologia

PlatformIO: cómo cambiar la versión del compilador


Para cambiar la versión del compilador de C++11 a C++17 en PlatformIO, necesitas modificar la sección build_flags en tu archivo de configuración de PlatformIO. Aquí un ejemplo de cómo quedaria tu archivo de configuración:

[platformio]
default_envs = az-delivery-devkit-v4

[common]
build_flags =
    -std=gnu++17
build_unflags =
    -std=gnu++11

[env:az-delivery-devkit-v4]
    monitor_speed = 115200
    platform = espressif32
    board = az-delivery-devkit-v4
    framework = arduino
lib_deps =
    olikraus/U8g2@^2.35.4
    igorantolic/Ai Esp32 Rotary Encoder@^1.6
    esphome/ESP32-audioI2S@^2.0.7
build_flags =
    ${common.build_flags}
build_unflags =
    ${common.build_unflags}

En el fragmento anterior, -std=gnu++17 le indica al compilador que utilice la versión C++17 del estándar de C++. Por otro lado, -std=gnu++11 se utiliza para desactivar el uso de C++11. Estos flags se aplican a tu entorno de compilación az-delivery-devkit-v4

Cambiar a una versión más reciente del lenguaje C++, como por ejemplo C++17, tiene ventajas:

  • Nuevas características del lenguaje: Cada nueva versión de C++ introduce nuevas características del lenguaje que pueden hacer que tu código sea más eficiente, fácil de entender y robusto. Por ejemplo, C++17 introdujo características como std::optional y std::variant que pueden ayudar a manejar mejor los casos en los que una variable puede o no tener un valor.
  • Mejoras del compilador: A medida que se desarrolla una nueva versión del estándar de C++, los compiladores también mejoran, tu código se compila más rápido y se ejecuta más eficientemente.
  • Compatibilidad con bibliotecas más recientes: Algunas bibliotecas solo son compatibles con versiones más recientes.
  • Estandarización: Te aseguras de que estás utilizando un estándar que ha sido revisado y aprobado por la comunidad de C++. Esto puede hacer que tu código sea más confiable y fácil de entender para otros desarrolladores.