Introducción al STMicroelectronics STM32L4 Discovery Kit IoT Node - FreeRTOS

Introducción al STMicroelectronics STM32L4 Discovery Kit IoT Node

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.

Este tutorial ofrece instrucciones para la introducción a STMicroelectronics STM32L4 Discovery Kit IoT Node. Si todavía no tiene el nodo de IoT STMicroelectronics STM32L4 Discovery Kit, consulte el Catálogo de dispositivos de socios de AWS para adquirir uno de nuestro socio.

Asegúrese de tener instalada la última versión de firmware de Wi-Fi. Para descargar el firmware de Wi-Fi más reciente, consulte STM32L4 Discovery kit IoT node, low-power wireless, Bluetooth Low Energy, NFC, SubGHz, Wi-Fi. Bajo Binary Resources (Recursos binarios), elija Inventek ISM 43362 Wi-Fi module firmware update (read the readme file for instructions) (Actualización de firmware del módulo wifi ISM 43362 de Inventek [lea el archivo Léame para obtener instrucciones]).

Antes de comenzar, debe configurar AWS IoT, la descarga de FreeRTOS y Wi-Fi para conectar el dispositivo a la nube de AWS. Para obtener instrucciones, consulte Primeros pasos. En este tutorial, la ruta al directorio de descargas de FreeRTOS se denomina freertos.

Descripción general

Este tutorial contiene instrucciones para los siguientes pasos de introducción:

  1. Instalación de software en el equipo host para desarrollar y depurar las aplicaciones integradas de la placa de su microcontrolador.

  2. Compilación cruzada de una aplicación de demostración de FreeRTOS en una imagen binaria.

  3. Carga de la imagen binaria de la aplicación en su placa y, a continuación, ejecución de la aplicación.

Cómo configurar el entorno de desarrollo.

Instalación de System Workbench para STM32

  1. Vaya a OpenSTM32.org.

  2. Regístrese en la página web OpenSTM32. Debe para iniciar sesión para descargar System Workbench.

  3. Vaya al instalador de System Workbench para STM32 para descargar e instalar System Worbench.

Si tiene problemas durante la instalación, consulte las preguntas frecuentes en el sitio web de System Workbench.

Creación y ejecución del proyecto de demostración de FreeRTOS

Importación de la demostración de FreeRTOS a STM32 System Workbench

  1. Abra STM32 System Workbench y escriba un nombre para un espacio de trabajo nuevo.

  2. En el menú File, elija Import. Expanda General, elija Existing Projects into Workspace (Proyectos existentes a Workspace) y, a continuación, elija Next (Siguiente).

  3. En Select Root Directory (Seleccionar directorio raíz), escriba projects/st/stm32l475_discovery/ac6/aws_demos.

  4. El proyecto aws_demos debe seleccionarse de forma predeterminada.

  5. Elija Finish (Finalizar) para importar el proyecto a STM32 System Workbench.

  6. En el menú Project (Proyecto) elija Build All (Compilar todo). Confirme que el proyecto se compila sin ningún error.

Monitorización de mensajes de MQTT en la nube

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
  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 para abrir el cliente 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.

Ejecución del proyecto de demostración de FreeRTOS

  1. Utilice un cable USB para conectar su STMicroelectronics STM32L4 Discovery Kit IoT Node a su equipo. (Consulte la documentación del fabricante que viene con la placa para saber cuál es el puerto USB correcto que debe utilizar).

  2. Desde Project Explorer (Explorador de proyectos), haga clic con el botón derecho del ratón en aws_demos, elija Debug As (Depurar como) y, a continuación, elija Ac6 STM32 C/C++ Application (Aplicación Ac6 STM32 C/C++).

    Si se produce un error de depuración al lanzar por primera vez una sesión de depuración, siga estos pasos:

    1. En System Workbench STM32, en el menú Run (Ejecutar), elija Debug Configurations (Configuraciones de depuración).

    2. Elija aws_demos Debug (Depurar demos_aws). (Es posible que tenga que ampliar Ac6 STM32 Debugging (Depuración de Ac6 STM32).)

    3. Elija la pestaña Debugger (Depurador).

    4. En Configuration Script (Script de configuración), elija Show Generator Options (Mostrar opciones del generador).

    5. En Mode Setup (Configuración de modo), establezca Reset Mode (Modo de restablecimiento) en Software System Reset (Restablecimiento de sistema de software). Elija Apply (Aplicar) y, a continuación, Debug (Depurar).

  3. Cuando el depurador se detenga en el punto de ruptura en main(), desde el menú Run (Ejecutar), elija Resume (Reanudar).

Uso de CMake con FreeRTOS

Si prefiere no utilizar un IDE para el desarrollo de FreeRTOS, también puede usar CMake para crear y ejecutar las aplicaciones de demostración o las aplicaciones que ha desarrollado con herramientas de depuración y editores de código de terceros.

En primer lugar, cree una carpeta para incluir los archivos de compilación generados (carpeta-compilación).

Utilice el siguiente comando para generar archivos de creación:

cmake -DVENDOR=st -DBOARD=stm32l475_discovery -DCOMPILER=arm-gcc -S freertos -B build-folder

Si arm-none-eabi-gcc no se encuentra en la ruta del shell, también debe configurar la variable AFR_TOOLCHAIN_PATH de CMake. Por ejemplo:

-D AFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin

Para obtener más información sobre cómo usar CMake con FreeRTOS, consulte Uso de CMake con FreeRTOS.

Solución de problemas

Si ve lo siguiente en la salida UART de la aplicación de demostración, debe actualizar el firmware del módulo wifi:

[Tmr Svc] WiFi firmware version is: xxxxxxxxxxxxx [Tmr Svc] [WARN] WiFi firmware needs to be updated.

Para descargar el firmware de Wi-Fi más reciente, consulte STM32L4 Discovery kit IoT node, low-power wireless, Bluetooth Low Energy, NFC, SubGHz, Wi-Fi. En Binary Resources (Recursos binarios), elija el enlace de descarga para Inventek ISM 43362 Wi-Fi module firmware update (Actualización de firmware del módulo wifi 43362 ISM de Inventek).

Si necesita información general de solución de problemas que pueden surgir al empezar a trabajar con FreeRTOS, consulte Introducción a solución de problemas.