View a markdown version of this page

Cómo empezar con el Espressif ESP32-S2 - FreeRTOS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo empezar con el Espressif ESP32-S2

importante

Esta integración de referencia está alojada en el Amazon-FreeRTOS repositorio que está obsoleto. Recomendamos empezar por aquí al crear un nuevo proyecto. Si ya tienes un proyecto de FreeRTOS basado en el Amazon-FreeRTOS repositorio que ahora está en desuso, consulta la. Amazon-FreeRTOS Guía de migración del repositorio de Github

nota

Para explorar cómo integrar las demostraciones y bibliotecas modulares de FreeRTOS en tu propio proyecto Espressif IDF, consulta nuestra sección de referencia destacada sobre integración para plataformas. ESP32-C3

En este tutorial se muestra cómo empezar a utilizar las placas de desarrollo y SoC de Espressif ESP32-S2 . ESP32-S2-Saola-1

Descripción general de

Este tutorial le guiará a través de los siguientes pasos:

  1. Conecte la placa a un equipo host.

  2. Instale el software en su equipo host para desarrollar y depurar las aplicaciones integradas de la placa del microcontrolador.

  3. Cross-compile una aplicación de demostración de FreeRTOS para una imagen binaria.

  4. Cargue la imagen binaria de la aplicación en su placa y, a continuación, ejecute la aplicación.

  5. Monitorice y depure la aplicación en ejecución mediante una conexión serie.

Requisitos previos

Antes de empezar a usar FreeRTOS en tu tablero de Espressif, debes configurar tu cuenta y tus permisos. AWS

Regístrate para obtener un Cuenta de AWS

Para empezar AWS, necesitas un Cuenta de AWS. Para obtener información sobre cómo crear un Cuenta de AWS, consulte Cómo empezar a utilizar un Cuenta de AWS en la Guía de AWS Account Management referencia.

Para dar acceso, agregue permisos a los usuarios, grupos o roles:

Introducción

nota

Los comandos de Linux de este tutorial requieren que utilice el intérprete de comandos Bash.

  1. Configure el hardware de Espressif.

    Para obtener información sobre la configuración del hardware de la placa de ESP32-S2 desarrollo, consulte la ESP32-S2-Saola-1 Guía de inicio.

    importante

    Cuando llegue a la sección Introducción de las guías de Espressif, deténgase y vuelva a las instrucciones en esta página.

  2. Descargue Amazon FreeRTOS desde GitHub. (Para obtener instrucciones, consulte el README.md archivo).

  3. Configure el entorno de desarrollo.

    Debe instalar una cadena de herramientas para comunicarse con la placa. Espressif proporciona el software ESP-IDF para desarrollar para sus placas. Dado que ESP-IDF tiene su propia versión del kernel de FreeRTOS integrada como componente, Amazon FreeRTOS incluye una versión personalizada de la versión ESP-IDF 4.2 en la que se ha eliminado el kernel de FreeRTOS. Esto soluciona los problemas relacionados con los archivos duplicados al compilar. Para usar la versión personalizada de la versión ESP-IDF 4.2 incluida en Amazon FreeRTOS, siga las instrucciones que aparecen a continuación para el sistema operativo de su máquina host.

    Windows

    1. Descargue ESP-IDF el instalador en línea universal para Windows.

    2. Ejecute el instalador en línea universal.

    3. Cuando llegues al paso Descargar o usar ESP-IDF, selecciona Usar un ESP-IDF directorio existente y establece Elegir ESP-IDF directorio existente enfreertos/vendors/espressif/esp-idf.

    4. Complete la instalación.

    macOS

    1. Sigue las instrucciones de los requisitos previos de configuración estándar de Toolchain (ESP-IDF v4.2) para macOS.

      importante

      Cuando llegue a las instrucciones de «Obtener ESP-IDF» de la sección Próximos pasos, deténgase y, a continuación, vuelva a las instrucciones de esta página.

    2. Abra una ventana de línea de comandos.

    3. Navegue hasta el directorio de descargas de FreeRTOS y ejecute el siguiente script para descargar e instalar la cadena de herramientas espressif para su plataforma.

      vendors/espressif/esp-idf/install.sh
    4. Añade las ESP-IDF herramientas de la cadena de herramientas a la ruta de tu terminal con el siguiente comando.

      source vendors/espressif/esp-idf/export.sh

    Linux

    1. Siga las instrucciones de los requisitos previos de la configuración estándar de la cadena de herramientas (ESP-IDF v4.2) para Linux.

      importante

      Cuando llegue a las instrucciones de «Obtener ESP-IDF» de la sección Próximos pasos, deténgase y vuelva a las instrucciones de esta página.

    2. Abra una ventana de línea de comandos.

    3. Navegue hasta el directorio de descargas de FreeRTOS y ejecute el siguiente script para descargar e instalar la cadena de herramientas Espressif para su plataforma.

      vendors/espressif/esp-idf/install.sh
    4. Añade las ESP-IDF herramientas de la cadena de herramientas a la ruta de tu terminal con el siguiente comando.

      source vendors/espressif/esp-idf/export.sh
  4. Establezca una conexión serie.

    1. Para establecer una conexión en serie entre su máquina host y el ESP32-DevKitC, instale los controladores VCP CP210x USB a UART Bridge. Puede descargar estos controladores de Silicon Labs.

    2. Siga los pasos para establecer una conexión serie con ESP32.

    3. Después de establecer una conexión serie, anote el puerto serie de la conexión de la placa. Lo necesita para instalar la demostración.

Configuración de las aplicaciones de demostración de FreeRTOS

Para este tutorial, el archivo de configuración de FreeRTOS se encuentra en freertos/vendors/espressif/boards/board-name/aws_demos/config_files/FreeRTOSConfig.h. (Por ejemplo, si se elige AFR_BOARD espressif.esp32_devkitc, el archivo de configuración se encuentra en freertos/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h).

  1. Si ejecuta macOS o Linux, abra un símbolo del terminal. Si utilizas Windows, abre la aplicación «ESP-IDF 4.x CMD» (si incluiste esta opción al instalar la ESP-IDF cadena de herramientas) o, en caso contrario, la aplicación «Símbolo del sistema».

  2. Para verificar que tiene instalado Python3, ejecute lo siguiente:

    python --version

    Se muestra la versión instalada. Si no tiene instalado Python 3.0.1 o una versión posterior, puede instalarlo desde el sitio web de Python.

  3. Necesitas la interfaz de línea de AWS comandos (CLI) para ejecutar los comandos. AWS IoT Si utilizas Windows, usa el easy_install awscli comando para instalar la AWS CLI en la aplicación «Command» o «ESP-IDF 4.x CMD».

    Si utilizas macOS o Linux, consulta Instalación de la AWS CLI.

  4. Ejecutar

    aws configure

    y configura la AWS CLI con tu AWS ID de clave de acceso, clave de acceso secreta y AWS región predeterminada. Para obtener más información, consulte Configuración de la CLI de AWS.

  5. Usa el siguiente comando para instalar el AWS SDK para Python (boto3):

    • En Windows, en la aplicación «Command» o «ESP-IDF 4.x CMD», ejecuta

      easy_install boto3
    • En macOS o Linux, ejecute

      pip install tornado nose --user

      y, a continuación, ejecute

      pip install boto3 --user

FreeRTOS incluye el script SetupAWS.py para facilitar la configuración de su placa Espressif para conectar a AWS IoT.

Ejecución del script de configuración
  1. Para configurar el script, abra freertos/tools/aws_config_quick_start/configure.json y defina los siguientes atributos:

    afr_source_dir

    Ruta completa del directorio freertos de su equipo. Asegúrese de que utiliza barras diagonales para especificar esta ruta.

    thing_name

    El nombre que quieres asignar a la AWS IoT cosa que representa tu tablero.

    wifi_ssid

    El SSID de tu Wi-Fi red.

    wifi_password

    La contraseña de su Wi-Fi red.

    wifi_security

    El tipo de seguridad de su Wi-Fi red. Los siguientes son tipos de seguridad válidos:

    • eWiFiSecurityOpen (abierta, sin seguridad)

    • eWiFiSecurityWEP (seguridad WEP)

    • eWiFiSecurityWPA (seguridad WPA)

    • eWiFiSecurityWPA2 (seguridad WPA2)

  2. Si ejecuta macOS o Linux, abra un símbolo del terminal. Si utilizas Windows, abre la aplicación «ESP-IDF 4.x CMD» o «Command».

  3. Vaya al directorio freertos/tools/aws_config_quick_start y ejecute

    python SetupAWS.py setup

    El script hace lo siguiente:

    • Crea una AWS IoT cosa, un certificado y una política.

    • Adjunta la AWS IoT política al certificado y el certificado a la AWS IoT cosa.

    • Rellena el aws_clientcredential.h archivo con su AWS IoT terminal, Wi-Fi SSID y credenciales.

    • Formatea el certificado y la clave privada y los escribe en el archivo de encabezado aws_clientcredential_keys.h.

    nota

    El certificado está codificado únicamente con fines de demostración. Production-level las aplicaciones deben almacenar estos archivos en una ubicación segura.

    Para obtener más información sobre SetupAWS.py, consulte el archivo README.md en el directorio freertos/tools/aws_config_quick_start.

Supervisión de los mensajes de MQTT en AWS Cloud

Antes de ejecutar el proyecto de demostración de FreeRTOS, puede configurar el cliente MQTT en la AWS IoT consola para supervisar los mensajes que su dispositivo envía a la nube. AWS

Para suscribirse al tema de MQTT con AWS IoT Cliente MQTT
  1. Inicie sesión en la consola de AWS IoT.

  2. En el panel de navegación, seleccione Probar y, a continuación, seleccione el cliente de prueba MQTT.

  3. En Tema de suscripción, escriba your-thing-name/example/topic y, a continuación, elija Suscribirse al tema.

Cuando el proyecto de demostración se ejecute correctamente en su dispositivo, verá el mensaje “¡Hola, mundo!” enviado varias veces al tema al que se ha suscrito.

Creación, instalación y ejecución del proyecto de demostración de FreeRTOS con el script idf.py

Puede utilizar la utilidad IDF de Espressif para generar los archivos de creación, crear el binario de la aplicación e instalar la placa.

Cree y actualice FreeRTOS en Windows, Linux y macOS (v4.2) ESP-IDF

Use el script idf.py para crear el proyecto e instalar los archivos binarios en su dispositivo.

nota

Algunas configuraciones pueden requerir que utilice la opción de puerto -p port-name con idf.py para especificar el puerto correcto, como en el siguiente ejemplo.

idf.py -p /dev/cu.usbserial-00101301B flash
Creación e instalación del proyecto
  1. Desplácese hasta la raíz del directorio de descargas de FreeRTOS.

  2. En una ventana de línea de comandos, ingresa el siguiente comando para agregar ESP-IDF las herramientas al PATH de tu terminal:

    Windows (aplicación “Comando”)
    vendors\espressif\esp-idf\export.bat
    Windows (aplicación «ESP-IDF 4.x CMD»)

    (Esto ya se hizo cuando abrió aplicación).

    Linux/macOS
    source vendors/espressif/esp-idf/export.sh
  3. Configure cmake en el directorio build y cree la imagen del firmware con el siguiente comando.

    idf.py -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 build

    Debería ver un resultado como el del siguiente ejemplo.

    Executing action: all (aliases: build) Running cmake in directory /path/to/hello_world/build Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -DCCACHE_ENABLE=0 /path/to/hello_world"... -- The C compiler identification is GNU 8.4.0 -- The CXX compiler identification is GNU 8.4.0 -- The ASM compiler identification is GNU ... (more lines of build system output) [1628/1628] Generating binary image from built executable esptool.py v3.0 Generated /path/to/hello_world/build/aws_demos.bin Project build complete. To flash, run this command: esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32s2 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x16000 build/ota_data_initial.bin 0x20000 build/aws_demos.bin or run 'idf.py -p (PORT) flash'

    Si no hay errores, la creación generará los archivos .bin binarios del firmware.

  4. Borre la memoria flash de la placa de desarrollo con el siguiente comando.

    idf.py erase_flash
  5. Utilice el script idf.py para instalar el archivo binario de la aplicación en la placa.

    idf.py flash
  6. Supervise la salida del puerto serie de la placa con el siguiente comando.

    idf.py monitor
    nota
    • Puede combinar estos comandos como se muestra en el siguiente ejemplo.

      idf.py erase_flash flash monitor
    • Para determinadas configuraciones de máquinas host, debe especificar el puerto en el que se va a instalar la placa, como en el siguiente ejemplo.

      idf.py erase_flash flash monitor -p /dev/ttyUSB1

Creación e instalación de FreeRTOS con CMake

Además de usar el script idf.py proporcionado por el SDK de IDF para crear y ejecutar su código, también puede crear el proyecto con CMake. Actualmente es compatible con Unix Makefile y el sistema de creación Ninja.

Creación e instalación del proyecto
  1. En una ventana de línea de comandos, navegue hasta el directorio de descargas de FreeRTOS.

  2. Ejecute el siguiente script para añadir las ESP-IDF herramientas al PATH de su shell.

    • Windows

      vendors\espressif\esp-idf\export.bat
    • Linux/macOS

      source vendors/espressif/esp-idf/export.sh
  3. Utilice el siguiente comando para generar los archivos de creación.

    • Con Unix Makefiles

      cmake -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -S . -B ./YOUR_BUILD_DIRECTORY -DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0
    • Con Ninja

      cmake -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -S . -B ./YOUR_BUILD_DIRECTORY -DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -GNinja
  4. Compilar el proyecto.

    • Con Unix Makefiles

      make -C ./YOUR_BUILD_DIRECTORY -j8
    • Con Ninja

      ninja -C ./YOUR_BUILD_DIRECTORY -j8
  5. Borre la instalación y, a continuación, instale la placa.

    • Con Unix Makefiles

      make -C ./YOUR_BUILD_DIRECTORY erase_flash
      make -C ./YOUR_BUILD_DIRECTORY flash
    • Con Ninja

      ninja -C ./YOUR_BUILD_DIRECTORY erase_flash
      ninja -C ./YOUR_BUILD_DIRECTORY flash

Información adicional

Para obtener más información sobre cómo utilizar y solucionar problemas de las placas Espressif ESP32, consulte los siguientes temas: