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 ESP32 Espressif -WROOM-32SE
importante
Esta es una versión archivada de la Guía del usuario de FreeRTOS para su uso con la versión 202012.00 de FreeRTOS. Para obtener la última versión de este documento, consulte la Guía del usuario de FreeRTOS.
Sigue este tutorial para empezar a usar el Espressif -WROOM-32SE. ESP32 Para comprar uno de nuestros socios en el catálogo de dispositivos asociados, consulte el -WROOM-32SE. AWS ESP32
nota
Actualmente, el puerto Freertos para ESP32 -WROOM-32SE no admite la función de multiprocesamiento simétrico (SMP).
Descripción general
Este tutorial le guiará a través de los siguientes pasos:
-
Conexión de la placa a una máquina host
-
Instalación del software en el equipo host para desarrollar y depurar las aplicaciones integradas de la placa del microcontrolador
-
Compilación cruzada de una aplicación de demostración de FreeRTOS en una imagen binaria
-
Carga de la imagen binaria de la aplicación en la placa y, a continuación, ejecución de la aplicación
-
Supervisión y depuración de la aplicación en ejecución mediante una conexión en serie
Requisitos previos
Antes de empezar a usar Freertos en tu pizarra Espressif, debes configurar tu cuenta y tus permisos. AWS
Inscríbase para obtener una Cuenta de AWS
Si no tiene uno Cuenta de AWS, complete los siguientes pasos para crearlo.
Para suscribirte a una Cuenta de AWS
Siga las instrucciones que se le indiquen.
Parte del procedimiento de registro implica recibir una llamada telefónica o un mensaje de texto e introducir un código de verificación en el teclado del teléfono.
Cuando te registras en un Cuenta de AWS, Usuario raíz de la cuenta de AWSse crea un. 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 te envía un correo electrónico de confirmación una vez finalizado el proceso de registro. En cualquier momento, puede ver la actividad de su cuenta actual y administrarla accediendo a https://aws.amazon.com/
Creación de un usuario con acceso administrativo
Después de crear un usuario administrativo Cuenta de AWS, asegúrelo Usuario raíz de la cuenta de AWS AWS IAM Identity Center, habilite y cree un usuario administrativo para no usar el usuario root en las tareas diarias.
Proteja su Usuario raíz de la cuenta de AWS
-
Inicie sesión AWS Management Console
como propietario de la cuenta seleccionando el usuario root e introduciendo su dirección de Cuenta de AWS correo electrónico. 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 Habilitar un dispositivo MFA virtual para el usuario Cuenta de AWS raíz (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 su uso Directorio de IAM Identity Center como fuente de identidad, consulte Configurar el acceso de los usuarios con la configuración predeterminada Directorio de IAM Identity Center en la Guía del AWS IAM Identity Center usuario.
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 del Centro de identidades de IAM, consulte Iniciar sesión en el portal de AWS acceso en la Guía del AWS Sign-In usuario.
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.
-
nota
La versión FreeRTOS 202012.00 es compatible con ESP-IDF v3.3. Si utilizas una versión posterior de FreeRTOS, sigue las instrucciones específicas de IDFv4 .2 at. Introducción a ESP-IDF v4.2
Introducción a ESP-IDF v3.3
En esta sección se muestra cómo utilizar la versión 3.3 de ESP-IDF en el hardware de Espressif. Para utilizar la versión 4.2 de ESP-IDF, consulte Introducción a ESP-IDF v4.2.
Configuración del hardware Espressif
Consulta la Guía de ESP32 introducción a DevKit C para obtener
importante
Cuando llegue a la sección Introducción de la guía de Espressif, deténgase y siga los pasos que se indican a continuación.
Cómo configurar el entorno de desarrollo.
Debe descargar e instalar una cadena de herramientas para comunicarse con la placa.
Configuración de la cadena de herramientas
nota
La ESP-IDF v3.3 (la versión que usa Freertos) no es compatible con la última versión del compilador. ESP32 Tiene que utilizar un compilador que sea compatible con la versión 3.3 de ESP-IDF. Consulte los enlaces anteriores. Para comprobar la versión del compilador, ejecute el siguiente comando.
xtensa-esp32-elf-gcc --version
Para configurar la cadena de herramientas, siga las instrucciones correspondientes al sistema operativo de su máquina host:
importante
Cuando llegue a las instrucciones "Get ESP-IDF" en Next Steps (Pasos siguientes), deténgase y vuelva a las instrucciones en esta página.
Si ha seguido las instrucciones de “Obtención de ESP-IDF” de la sección Siguientes pasos, justo ahora o en una ocasión anterior, debería borrar la variable de entorno IDF_PATH
de su sistema antes de continuar. Esta variable de entorno se estableció automáticamente si siguió las instrucciones de “Obtención de ESP-IDF”.
Instala CMake
El sistema de CMake compilación es necesario para crear las aplicaciones de demostración y prueba de FreeRTOS para este dispositivo. FreeRTOS admite las versiones 3.13 y posteriores.
Puede descargar la última versión de CMake desde CMake.org
Para obtener más información sobre el uso CMake con Freertos, consulte. Uso CMake con Freertos
Establecimiento de una conexión serie
-
Para establecer una conexión en serie entre su máquina host y el ESP32 -WROOM-32SE, instale los controladores CP21 0x USB to UART Bridge VCP. Puede descargar estos controladores de Silicon Labs
. -
Sigue los pasos para establecer una conexión en serie con. ESP32
-
Después de establecer una conexión serie, anote el puerto serie de la conexión de la placa. Lo necesitará cuando compile la demostración.
Descarga y configuración de FreeRTOS
Después de configurar el entorno, puede descargar FreeRTOS desde. GitHub
importante
El dispositivo ATECC6 08A 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. Omita el último paso Para formatear sus credenciales de AWS IoT y, en su lugar, siga los pasos que se indican a continuación.
-
Microchip ha proporcionado varias herramientas de creación de scripts para ayudar a configurar las piezas del 08A. ATECC6 Vaya al directorio
y, a continuación, abra el archivofreertos
/vendors/microchip/secure_elements/app/example_trust_chain_toolREADME.md
. -
Siga las instrucciones del archivo
README.md
para aprovisionar el dispositivo. Estos pasos incluyen lo siguiente:-
Cree y registre una autoridad de certificación en AWS
-
Genera tus claves en el ATECC6 08A y exporta 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.
Creación, instalación y ejecución del proyecto de demostración de FreeRTOS
Puedes usarlo CMake para generar los archivos de compilación, Make para compilar el binario de la aplicación y la utilidad IDF de Espressif para flashear tu placa.
Creación de FreeRTOS en Linux o macOS (ESP-IDF v3.3)
Si usa Windows, puedes ir directamente a Creación de FreeRTOS en Windows (ESP-IDF v3.3).
Se usa CMake para generar los archivos de compilación y, a continuación, se usa Make para compilar la aplicación.
Para generar los archivos de compilación de la aplicación de demostración con CMake
-
Desplácese hasta la raíz del directorio de descargas de FreeRTOS.
-
En una ventana de la línea de comandos, escriba el siguiente comando para generar los archivos de compilación.
cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B
your-build-directory
Notas
Para compilar la aplicación para la depuración, agregue la marca
-DCMAKE_BUILD_TYPE=Debug
.Para generar los archivos de compilación de la aplicación de prueba, añada la marca
-DAFR_ENABLE_TESTS=1
.El código proporcionado por Espressif utiliza la pila de IP ligera (lwIP) como pila de red predeterminada. Para usar la pila de redes FreeRTOS+TCP en su lugar, añada la
–DAFR_ESP_FREERTOS_TCP
marca al comando. CMakePara añadir la dependencia de LWiP para el código no proporcionado por el proveedor, añada las siguientes líneas CMake al archivo de dependencias
CMakeLists.txt
, para su componente Wi-Fi personalizado.# Add a dependency on the bluetooth espressif component to the common component set(COMPONENT_REQUIRES lwip)
Creación de la aplicación con Make
-
Vaya al directorio
build
. -
En una ventana de la línea de comandos, escriba el siguiente comando para compilar la aplicación con Make.
make all -j4
nota
Debe generar los archivos de compilación con el comando cmake cada vez que cambie entre el proyecto
aws_demos
y el proyectoaws_tests
.
Creación de FreeRTOS en Windows (ESP-IDF v3.3)
En Windows, debe especificar un generador de compilaciones para. CMake De lo contrario, el CMake valor predeterminado es Visual Studio. Espressif recomienda oficialmente el sistema de compilación Ninja porque funciona en Windows, Linux y MacOS. Debe ejecutar CMake los comandos en un entorno nativo de Windows, como cmd o. PowerShell No se admite la ejecución de CMake comandos en un entorno Linux virtual, como MSYS2 WSL.
Se usa CMake para generar los archivos de compilación y, a continuación, se usa Make para compilar la aplicación.
Para generar los archivos de compilación de la aplicación de demostración con CMake
-
Desplácese hasta la raíz del directorio de descargas de FreeRTOS.
-
En una ventana de la línea de comandos, escriba el siguiente comando para generar los archivos de compilación.
cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -GNinja -S . -B
your-build-directory
nota
Para compilar la aplicación para la depuración, agregue la marca
-DCMAKE_BUILD_TYPE=Debug
.Para generar los archivos de compilación de la aplicación de prueba, añada la marca
-DAFR_ENABLE_TESTS=1
.El código proporcionado por Espressif utiliza la pila de IP ligera (lwIP) como pila de red predeterminada. Para usar la pila de redes FreeRTOS+TCP en su lugar, añada la
–DAFR_ESP_FREERTOS_TCP
marca al comando. CMakePara añadir la dependencia de LWiP para el código no proporcionado por el proveedor, añada las siguientes líneas CMake al archivo de dependencias
CMakeLists.txt
, para su componente Wi-Fi personalizado.# Add a dependency on the bluetooth espressif component to the common component set(COMPONENT_REQUIRES lwip)
Creación de la aplicación
-
Vaya al directorio
build
. -
En una ventana de la línea de comandos, introduzca el siguiente comando para invocar a Ninja para compilar la aplicación.
ninja
O bien, utilice la CMake interfaz genérica para crear la aplicación.
cmake --build
your-build-directory
nota
Debe generar los archivos de compilación con el comando cmake cada vez que cambie entre el proyecto
aws_demos
y el proyectoaws_tests
.
Instalación y ejecución de FreeRTOS (ESP-IDF v3.3)
Use la utilidad IDF de Espressif (
) para instalar la placa, ejecutar la aplicación y ver los registros.freertos
/vendors/espressif/esp-idf/tools/idf.py
Para borrar el flash de la placa, navegue hasta el directorio
e introduzca el siguiente comando.freertos
./vendors/espressif/esp-idf/tools/idf.py erase_flash -B
build-directory
Para actualizar el binario de la aplicación en la placa, utilice make
.
make flash
También puede utilizar el script de IDF para actualizar la placa.
./vendors/espressif/esp-idf/tools/idf.py flash -B
build-directory
Use el comando siguiente para ver los registros:
./vendors/espressif/esp-idf/tools/idf.py monitor -p /dev/ttyUSB1 -B
build-directory
sugerencia
También puede combinar estos comandos.
./vendors/espressif/esp-idf/tools/idf.py erase_flash flash monitor -p /dev/ttyUSB1 -B
build-directory
Introducción a ESP-IDF v4.2
En esta sección se muestra cómo utilizar la versión 4.2 de ESP-IDF en el hardware de Espressif. Para utilizar la versión 3.3 de ESP-IDF, consulte Introducción a ESP-IDF v3.3.
nota
Los comandos de Linux de este tutorial requieren que utilice el intérprete de comandos Bash.
Configuración del hardware Espressif
Para obtener información sobre cómo configurar el hardware de la placa de desarrollo ESP32 -WROOM-32SE, consulte la Guía de introducción a la ESP32- DevKit C
importante
Cuando llegue a la sección Introducción de la guía de Espressif, deténgase y siga los pasos que se indican a continuación.
Cómo configurar el entorno de desarrollo.
Debe descargar e instalar una cadena de herramientas para comunicarse con su placa.
Configuración de la cadena de herramientas
Para configurar la cadena de herramientas, siga las instrucciones correspondientes al sistema operativo de su máquina host:
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.
Finalización de la instalación (Linux o Mac)
El instalador ESP-IDF para Windows instala todas las herramientas necesarias. Las plataformas Linux y MAC OSX requieren un paso adicional para completar la instalación.
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 continuación, 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
Establecimiento de una conexión serie
-
Para establecer una conexión en serie entre su máquina host y la ESP32 -WROOM-32SE, instale los controladores 0x USB to UART Bridge VCP. CP21 Puede descargar estos controladores de Silicon Labs
. -
Sigue los pasos para establecer una conexión en serie con. ESP32
-
Después de establecer una conexión serie, anote el puerto serie de la conexión de la placa. Lo necesitará cuando compile la demostración.
Descarga y configuración de FreeRTOS
Después de configurar el entorno, puede descargar FreeRTOS desde. GitHub
importante
El dispositivo ATECC6 08A 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 siga los pasos que se indican a continuación.
-
Microchip ha proporcionado varias herramientas de creación de scripts para ayudar a configurar las piezas del 08A. ATECC6 Vaya al directorio
y abra el archivofreertos
/vendors/microchip/secure_elements/app/example_trust_chain_toolREADME.md
. -
Siga las instrucciones del archivo
README.md
para aprovisionar el dispositivo. Estos pasos incluyen lo siguiente:-
Cree y registre una autoridad de certificación en AWS
-
Genera tus claves en el ATECC6 08A y exporta la clave pública y el número de serie del dispositivo
-
Generación de un certificado para el dispositivo y registro del certificado 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.
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.
Creación e instalación de FreeRTOS en Windows, Linux y MacOS (ESP-IDF v4.2)
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
con port-name
"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
-
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
vendors\espressif\esp-idf\export.bat
Linux/MacOS
source vendors/espressif/esp-idf/export.sh
-
Configure cmake en el directorio
build
y cree la imagen del firmware con el siguiente comando.idf.py -DVENDOR=espressif -DBOARD=esp32_ecc608a_devkitc -DCOMPILER=xtensa-esp32 build
Deberí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.py
para 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 monitor
nota
Puede combinar estos comandos como se muestra en el siguiente ejemplo.
idf.py erase_flash flash monitor
nota
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
Cree y flashee Freertos con CMake
Además de usar el script idf.py proporcionado por el SDK de IDF para compilar y ejecutar tu código, también puedes compilar el proyecto con CMake él. 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=0Con 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_DIRECTORY
erase_flashmake -C
./YOUR_BUILD_DIRECTORY
flashCon Ninja
ninja -C
./YOUR_BUILD_DIRECTORY
erase_flashninja -C
./YOUR_BUILD_DIRECTORY
flash
Supervisión de los mensajes MQTT en la nube AWS
Puede utilizar el cliente MQTT de la AWS IoT consola para supervisar los mensajes que su dispositivo envía a la AWS nube.
Para suscribirse al tema MQTT con el AWS IoT cliente MQTT
-
Inicie sesión en la consola de AWS IoT
. -
En el panel de navegación principal, elija Test (Pruebas) para abrir el cliente de MQTT.
-
En Tema de suscripción, escriba
y, a continuación, elija Suscribirse al tema.your-thing-name
/example/topic
Información adicional
Para obtener información adicional sobre el uso y la solución de problemas de las ESP32 placas Espressif, consulte los siguientes temas: