Introducción a Espressif ESP32-WROOM-32SE
importante
Esta integración de referencia está alojada en el repositorio de Amazon-FreeRTOS, que está en desuso. Recomendamos empezar por aquí al crear un nuevo proyecto. Si ya tiene un proyecto FreeRTOS existente basado en el repositorio Amazon FreeRTOS, ahora obsoleto, consulte Guía de migración del repositorio Github de Amazon-FreeRTOS.
nota
-
Para explorar cómo integrar las bibliotecas modulares y demostraciones de FreeRTOS en su propio proyecto Espressif IDF, consulte nuestra integración de referencia destacada para la plataforma ESP32-C3
. -
Actualmente, el puerto FreeRTOS para ESP32-WROOM-32SE no admite la característica de multiprocesamiento simétrico (SMP).
Este tutorial muestra cómo empezar a utilizar Espressif ESP32-WROOM-32SE. Para adquirir uno de nuestros socios en el Catálogo de dispositivos de socios de AWS, consulte ESP32-WROOM-32SE
Descripción general
Este tutorial le guiará a través de los siguientes pasos:
-
Conecte la placa a un equipo host.
-
Instale el software en su equipo host para desarrollar y depurar las aplicaciones integradas de la placa del microcontrolador.
-
Realice la compilación cruzada de una aplicación de demostración de FreeRTOS en una imagen binaria.
-
Cargue la imagen binaria de la aplicación en su placa y, a continuación, ejecute la aplicación.
-
Monitorice y depure la aplicación en ejecución mediante una conexión serie.
Requisitos previos
Antes de comenzar con FreeRTOS en la placa de Espressif, tiene que configurar la cuenta de AWS y los permisos.
Cómo crear una Cuenta de AWS
Si no dispone de una Cuenta de AWS, siga estos pasos para crear una.
Procedimiento para registrarse en Cuenta de AWS
Abra https://portal.aws.amazon.com/billing/signup
. Siga las instrucciones que se le indiquen.
Parte del procedimiento de registro consiste en recibir una llamada telefónica o mensaje de texto e indicar un código de verificación en el teclado del teléfono.
Al registrarse en una Cuenta de AWS, se crea un Usuario raíz de la cuenta de AWS. El usuario raíz tendrá acceso a todos los Servicios de AWS y recursos de esa cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario y utilice únicamente el usuario raíz para realizar tareas que requieren acceso de usuario raíz.
AWS le enviará un correo electrónico de confirmación cuando complete el proceso de registro. Puede ver la actividad de la cuenta y administrarla en cualquier momento entrando en https://aws.amazon.com/
Creación de un usuario con acceso administrativo
Después de registrarse para obtener una Cuenta de AWS, proteja su Usuario raíz de la cuenta de AWS, habilite AWS IAM Identity Center y cree un usuario administrativo para no usar el usuario raíz en las tareas cotidianas.
Protección de Usuario raíz de la cuenta de AWS
-
Inicie sesión en Consola de administración de AWS
como propietario de la cuenta; para ello, elija Usuario raíz e introduzca el correo electrónico de su Cuenta de AWS. En la siguiente página, escriba su contraseña. Para obtener ayuda para iniciar sesión con el usuario raíz, consulte Iniciar sesión como usuario raíz en la Guía del usuario de AWS Sign-In.
-
Active la autenticación multifactor (MFA) para el usuario raíz.
Para obtener instrucciones, consulte Habilitación de un dispositivo MFA virtual para su usuario raíz de la Cuenta de AWS (consola) en la Guía del usuario de IAM.
Creación de un usuario con acceso administrativo
-
Activar IAM Identity Center.
Consulte las instrucciones en Activar AWS IAM Identity Center en la Guía del usuario de AWS IAM Identity Center.
-
En IAM Identity Center, conceda acceso administrativo a un usuario.
Para ver un tutorial sobre cómo usar Directorio de IAM Identity Center como origen de identidad, consulte Configuración del acceso de los usuarios con el Directorio de IAM Identity Center predeterminado en la Guía del usuario de AWS IAM Identity Center.
Inicio de sesión como usuario con acceso de administrador
-
Para iniciar sesión con el usuario de IAM Identity Center, use la URL de inicio de sesión que se envió a la dirección de correo electrónico cuando creó el usuario de IAM Identity Center.
Para obtener ayuda para iniciar sesión con un usuario de IAM Identity Center, consulte Inicio de sesión en el portal de acceso de AWS en la Guía del usuario de AWS Sign-In.
Concesión de acceso a usuarios adicionales
-
En IAM Identity Center, cree un conjunto de permisos que siga la práctica recomendada de aplicar permisos de privilegios mínimos.
Para conocer las instrucciones, consulte Create a permission set en la Guía del usuario de AWS IAM Identity Center.
-
Asigne usuarios a un grupo y, a continuación, asigne el acceso de inicio de sesión único al grupo.
Para conocer las instrucciones, consulte Add groups en la Guía del usuario de AWS IAM Identity Center.
Para dar acceso, agregue permisos a los usuarios, grupos o roles:
-
Usuarios y grupos en AWS IAM Identity Center:
Cree un conjunto de permisos. Siga las instrucciones de Creación de un conjunto de permisos en la Guía del usuario de AWS IAM Identity Center.
-
Usuarios gestionados en IAM a través de un proveedor de identidades:
Cree un rol para la federación de identidades. Siga las instrucciones descritas en Creación de un rol para un proveedor de identidad de terceros (federación) en la Guía del usuario de IAM.
-
Usuarios de IAM:
-
Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en Creación de un rol para un usuario de IAM en la Guía del usuario de IAM.
-
(No recomendado) Adjunte una política directamente a un usuario o añada un usuario a un grupo de usuarios. Siga las instrucciones descritas en Adición de permisos a un usuario (consola) de la Guía del usuario de IAM.
-
Introducción
nota
Los comandos de Linux de este tutorial requieren que utilice el intérprete de comandos Bash.
-
Configure el hardware de Espressif.
Para obtener información acerca de cómo configurar el hardware de la placa de desarrollo ESP32-WROOM-32SE, consulte Guía de introducción a ESP32-DevKitC V4
. importante
Cuando llegue a la sección Instalación paso a paso de la guía, siga hasta completar el paso 4 (Configuración de las variables de entorno). Deténgase después de completar el paso 4 y siga los pasos restantes aquí.
-
Descargue Amazon FreeRTOS desde GitHub
. (Para ver las instrucciones, consulte el archivo README.md ). -
Configure el entorno de desarrollo.
Debe instalar una cadena de herramientas para comunicarse con la placa. Espressif proporciona el ESP-IDF para desarrollar software para sus placas. Dado que el ESP-IDF tiene su propia versión del kernel de FreeRTOS integrada como componente, Amazon FreeRTOS incluye una versión personalizada del ESP-IDF v4.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 del ESP-IDF v4.2 incluida en Amazon FreeRTOS, siga las instrucciones que aparecen a continuación para el sistema operativo de su máquina host.
Windows
-
Descargue el instalador en línea universal
de ESP-IDF para Windows. -
Ejecute el instalador en línea universal.
-
Cuando llegue al paso Descargar o usar ESP-IDF, seleccione Usar un directorio ESP-IDF existente y establezca Elegir directorio ESP-IDF existente en
.freertos/vendors/espressif/esp-idf -
Complete la instalación.
macOS
-
Siga las instrucciones que se indican en Requisitos previos para la configuración estándar de la cadena de herramientas (ESP-IDF v4.2) para macOS
. importante
Cuando llegue a las instrucciones de “Obtención de ESP-IDF” en Pasos siguientes, deténgase y vuelva a las instrucciones de esta página.
-
Abra una ventana de línea de comandos.
-
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 -
Añada las herramientas de la cadena de herramientas ESP-IDF a la ruta de su terminal con el siguiente comando.
source vendors/espressif/esp-idf/export.sh
Linux
-
Siga las instrucciones que se indican en Requisitos previos para la configuración estándar de la cadena de herramientas (ESP-IDF v4.2) para Linux
. importante
Cuando llegue a las instrucciones de “Obtención de ESP-IDF” en Pasos siguientes, deténgase y vuelva a las instrucciones de esta página.
-
Abra una ventana de línea de comandos.
-
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 -
Añada las herramientas de la cadena de herramientas ESP-IDF a la ruta de su terminal con el siguiente comando.
source vendors/espressif/esp-idf/export.sh
-
-
Establezca una conexión serie.
-
Para establecer una conexión entre su máquina host y el ESP32-WROOM-32SE, instale los controladores de VCP de puente del CP210x USB a UART. Puede descargar estos controladores de Silicon Labs
. -
Siga los pasos para establecer una conexión serie con ESP32
. -
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 . (Por ejemplo, si se elige freertos/vendors/espressif/boards/board-name/aws_demos/config_files/FreeRTOSConfig.hAFR_BOARD espressif.esp32_devkitc, el archivo de configuración se encuentra en ). freertos/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h
importante
El dispositivo ATECC608A tiene una inicialización única que se bloquea en el dispositivo la primera vez que se ejecuta un proyecto (durante la llamada a C_InitToken). Sin embargo, el proyecto de prueba y el proyecto de demostración de FreeRTOS tienen diferentes configuraciones. Si el dispositivo está bloqueado durante las configuraciones del proyecto de demostración, no todas las pruebas del proyecto de prueba tendrán éxito.
-
Configure el proyecto de demostración de FreeRTOS siguiendo los pasos que se describen en Configuración de las demostraciones de FreeRTOS. Cuando llegue al último paso Para formatear sus credenciales de AWS IoT, deténgase y realice los siguientes pasos.
-
El microchip dispone de varias herramientas de scripting como ayuda para la configuración de los componentes de ATECC608A. Vaya al directorio
y abra el archivofreertos/vendors/microchip/example_trust_chain_toolREADME.md. -
Siga las instrucciones del archivo
README.mdpara aprovisionar el dispositivo. Estos pasos incluyen lo siguiente:-
Cree y registre una entidad de certificación en AWS.
-
Genere sus claves en el ATECC608A y exporte la clave pública y el número de serie del dispositivo.
-
Genere un certificado para el dispositivo y regístrelo en AWS.
-
-
Cargue el certificado de entidad de certificación y el certificado de dispositivo en el dispositivo siguiendo las instrucciones de Aprovisionamiento de claves en modo desarrollador.
Monitorización de mensajes de MQTT en la nube de AWS
Antes de ejecutar el proyecto de demostración de FreeRTOS, puede configurar el cliente de MQTT en la consola de AWS IoT para monitorizar los mensajes que envía el dispositivo a la nube de AWS.
Suscripción al tema de MQTT con el cliente de MQTT de AWS IoT
-
Inicie sesión en la consola de AWS IoT
. -
En el panel de navegación, seleccione Probar y, a continuación, seleccione el cliente de prueba MQTT.
-
En Tema de suscripción, introduzca
y, a continuación, elija Suscribirse al tema.your-thing-name/example/topic
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 (idf.py) para generar los archivos de creación, crear el binario de la aplicación e instalar la placa.
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 de FreeRTOS en Windows, Linux y macOS (ESP-IDF v4.2)
-
Desplácese hasta la raíz del directorio de descargas de FreeRTOS.
-
En una ventana de línea de comandos, introduzca el siguiente comando para añadir las herramientas ESP-IDF a la ruta del 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
-
Configure cmake en el directorio
buildy cree la imagen del firmware con el siguiente comando.idf.py -DVENDOR=espressif -DBOARD=esp32_ecc608a_devkitc -DCOMPILER=xtensa-esp32 buildDebería ver un resultado como el del siguiente ejemplo.
Running cmake in directory /path/to/hello_world/build Executing "cmake -G Ninja --warn-uninitialized /path/to/hello_world"... Warn about uninitialized values. -- Found Git: /usr/bin/git (found version "2.17.0") -- Building empty aws_iot component due to configuration -- Component names: ... -- Component paths: ... ... (more lines of build system output) [527/527] Generating hello-world.bin esptool.py v2.3.1 Project build complete. To flash, run this command: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x10000 build/hello-world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin or run 'idf.py -p PORT flash'Si no hay errores, la creación generará los archivos .bin binarios del firmware.
-
Borre la memoria flash de la placa de desarrollo con el siguiente comando.
idf.py erase_flash -
Utilice el script
idf.pypara instalar el archivo binario de la aplicación en la placa.idf.py flash -
Supervise la salida del puerto serie de la placa con el siguiente comando.
idf.py monitornota
-
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
-
En una ventana de línea de comandos, navegue hasta el directorio de descargas de FreeRTOS.
-
Ejecute el siguiente script para añadir las herramientas ESP-IDF a la ruta de su intérprete de comandos.
- Windows
-
vendors\espressif\esp-idf\export.bat - Linux/macOS
-
source vendors/espressif/esp-idf/export.sh
-
Utilice el siguiente comando para generar los archivos de creación.
- Con Unix Makefiles
-
cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./YOUR_BUILD_DIRECTORY-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 - Con Ninja
-
cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./YOUR_BUILD_DIRECTORY-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -GNinja
-
Borre la instalación y, a continuación, instale la placa.
- Con Unix Makefiles
-
make -C ./YOUR_BUILD_DIRECTORYerase_flashmake -C ./YOUR_BUILD_DIRECTORYflash - Con Ninja
-
ninja -C ./YOUR_BUILD_DIRECTORYerase_flashninja -C ./YOUR_BUILD_DIRECTORYflash
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: