Cómo crear rápidamente prototipos de dispositivos IoT con el nodo IoT B-L4S5I-IOT01A Discovery Kit

Por Jacob Beningo

Colaboración de Editores de Digi-Key de América del Norte

A medida que los dispositivos se conectan cada vez más a la Internet de las cosas (IoT), los desarrolladores que empiezan desde cero se dan cuenta de que todavía no es tan sencillo como se esperaría, sobre todo si los plazos son ajustados y los costos limitados. Desde la elección de un entorno de desarrollo de confianza, seguro y bien respaldado, hasta la selección de software y hardware compatibles, resulta que el diseño y la construcción de un dispositivo IoT siguen requiriendo una amplia gama de habilidades.

Lo que los desarrolladores necesitan cada vez más es un acceso fácil a soluciones seguras, bibliotecas de conectividad en la nube, un RTOS y una plataforma de desarrollo de hardware y software compatible que proporcione sensores fácilmente integrados, todo en un paquete escalable.

Este artículo analiza cómo los diseñadores de IoT pueden crear rápidamente prototipos de sus productos utilizando el nodo IoT B-L4S5I-IOT01A Discovery Kit de STMicroelectronics. Examina las capacidades del microcontrolador integrado, la plétora de sensores y opciones de configuración, y cómo conectarse a Amazon Web Services (AWS) y empezar a construir rápidamente su prototipo y producto final.

Introducción al nodo IoT B-L4S5I-IOT01A Discovery Kit

La placa B-L4S5I-IOT01A Discovery es una placa de desarrollo integral que puede utilizarse para crear prototipos de casi cualquier dispositivo IoT integrado (Figura 1). La placa tiene suficiente potencia de procesamiento, sensores y capacidad de ampliación como para hacer soñar a cualquier desarrollador integrado con las aplicaciones que podría crear. La placa B-L4S5I-IOT01A se basa en el procesador Arm® Cortex®-M4 de bajo consumo que funciona a 120 megahercios (MHz), apoyado por 2 megabytes (Mbytes) de flash de programa y 640 kilobytes (Kbytes) de SRAM. El STM32L4S5VIT6 también cuenta con características ideales para las aplicaciones de IoT, como:

  • Una unidad de punto flotante (FPU)
  • Un controlador de acceso dinámico a la memoria (DMA) de 14 canales
  • Un acelerador de hardware de cifrado AES y HASH
  • Funciones gráficas avanzadas
  • Una puntuación de referencia de energía de 233 ULPMark CP

Imagen de B-L4S5I-IOT01A de Texas Instruments que se basa en un procesador Arm Cortex-M4Figura 1: El B-L4S5I-IOT01A se basa en un procesador Arm Cortex-M4 que funciona hasta a 120 MHz con 2 Mbytes de memoria flash, 640 Kbytes de RAM, conectividad inalámbrica y múltiples sensores. (Fuente de la imagen: STMicroelectronics)

La potencia de procesamiento y la eficiencia energética por sí solas no constituyen una excelente plataforma de prototipos rápidos. La placa de descubrimiento también incluye conectividad inalámbrica en forma de un módulo Wi-Fi compatible con 802.11b/g/n(ISM43362-M3G-L44) de Inventek Systems y un módulo Bluetooth 4.1 de STMicroelectronics, así como una serie de sensores. Entre ellos se encuentran dos micrófonos omnidireccionales digitales MP34DT01, un sensor digital capacitivo HTS221 para la humedad relativa y la temperatura, y un magnetómetro de tres ejes de alto rendimiento LIS3MDL.

La lista anterior no es en absoluto exhaustiva: puede encontrar una descripción más detallada aquí. A continuación, es importante examinar las herramientas y pilas de software disponibles para acelerar el desarrollo.

El ecosistema STM32

El ecosistema que rodea a cualquier placa de desarrollo determina si un equipo puede crear un prototipo rápido o no. Por ejemplo, para crear un prototipo de dispositivo IoT con el B-L4S5I-IOT01A, los desarrolladores necesitan acceder a un compilador, un entorno de desarrollo integrado (IDE), bibliotecas de controladores, herramientas de configuración y software para actualizar el firmware. La placa Discovery B-L4S5I-IOT01A soporta todas estas necesidades.

Muchos desarrolladores utilizan Eclipse y el compilador GNU C como entorno de desarrollo. STMicroelectronics proporciona una herramienta gratuita, STM32CubeIDE (Figura 2), que permite a los desarrolladores escribir y construir sus proyectos de software. STM32CubeIDE permite acceder a través de varias perspectivas a un entorno de desarrollo de software, una herramienta de configuración del microcontrolador y un entorno de depuración.

Imagen del IDE STM32CubeIDE para crear, configurar y gestionar el software integrado del IoT (haga clic para ampliar)Figura 2: STM32CubeIDE proporciona a los desarrolladores un IDE para crear, configurar y gestionar el software integrado de su dispositivo IoT. (Fuente de la imagen: Beningo Embedded Group)

STM32CubeIDE no solo proporciona una manera de crear, construir y gestionar proyectos de software, sino que también tiene una interfaz para STM32CubeMx. STM32CubeMx es una herramienta de configuración de microcontroladores que permite a los desarrolladores configurar árboles de reloj, periféricos, sensores y middleware. Los desarrolladores configuran sus ajustes y, a continuación, la cadena de herramientas genera los controladores y los archivos de configuración, lo que reduce drásticamente el tiempo de desarrollo y ayuda al desarrollador a centrarse en el código de su aplicación y no en el de la infraestructura estándar.

Más allá de la configuración y la implementación de una base de código, el ecosistema STM32 viene con varias herramientas útiles para los desarrolladores que trabajan en la vanguardia. Por ejemplo, los desarrolladores que deseen aprovechar el aprendizaje automático en sus aplicaciones pueden utilizar la extensión X-CUBE-AI de STM32Cube.AI, que proporciona a los equipos un marco simplificado para convertir, validar y ejecutar inferencias en el STM32. Por ejemplo, los desarrolladores pueden entrenar un modelo utilizando TensorFlow Lite y luego convertir el modelo en pocos minutos en código C que se ejecuta en el microcontrolador. Además, hay paquetes de extensión con software listo para funcionar que incluye:

Todo dispositivo IoT debe tener en cuenta la seguridad, incluso durante la fase de creación rápida de prototipos. La web actual está repleta de ataques incesantes, violaciones de la seguridad y explotación de datos de empresas y clientes. Por lo tanto, cualquier plataforma de prototipado rápido debe tener la capacidad de escalar a un sistema de producción de manera eficiente. La placa de descubrimiento puede aprovechar las pilas de software de arranque seguro de STMicroelectronics (SBSFU) para proporcionar a los desarrolladores esta capacidad. SBSFU está disponible en el paquete de funciones X-CUBE-SBSFU, que proporciona:

  • Servicios de raíz de confianza (RoT)
  • Servicios seguros de gestión de claves
  • Esquemas criptográficos
  • Servicios seguros de actualización de firmware

El ecosistema que rodea a la placa B-L4S5I-IOT01A Discovery es rico, con muchos paquetes de funciones y herramientas disponibles para ayudar al desarrollador a empezar rápidamente. Muchos desarrolladores de IoT están interesados en el paquete X-CUBE-AWS que proporciona todo lo necesario para conectarse a la nube cuando se utiliza AWS. Examinemos cómo lo haría un desarrollador.

Conexión a la nube

Para empezar con la nube, un desarrollador necesita descargar X-CUBE-AWS. El paquete de software viene como un archivo zip con varios proyectos diseñados para ejecutarse en el B-L4S5I-IOT01A, tales como:

  • Bootloader_KMS
  • Bootloader_STSAFE
  • Nube

Estos proyectos se encuentran en:

Proyectos/B-L4S5I-IOT01A/Aplicaciones/

Con el proyecto de la nube de AWS que se encuentra bajo:

Nube/aws_demos

El proyecto en la nube está disponible para STM32Cube IDE, Keil e IAR. Por supuesto, un desarrollador podría portar estos a otros IDE, pero estos tres son comúnmente utilizados en la industria.

Un desarrollador no tiene que averiguar cómo poner en marcha el proyecto de forma independiente. Hay varios documentos valiosos que pueden ayudarles a empezar rápidamente. Primero, dentro del directorio principal del proyecto, hay un archivo Release_Notes.html. Este archivo contiene información general sobre el proyecto junto con las limitaciones y valiosas referencias.

A continuación, hay una guía de inicio que describe cómo conectarse a AWS utilizando el proyecto. Este documento describe cómo conectarse a AWS junto con la información sobre la pila y el software (Figura 3). El documento también describe las pilas de software en detalle, lo que puede ayudar a un desarrollador a entender cómo está organizado y los cambios que serán necesarios para conectar el dispositivo a la nube.

El diagrama del X-CUBE-AWS de STMicroelectronics proporciona el firmware y los ejemplos de aplicaciónFigura 3: X-CUBE-AWS proporciona el firmware y los ejemplos de aplicación necesarios para conectarse a AWS y desarrollar un IoT Thing capaz de conectarse a AWS. (Fuente de la imagen: STMicroelectronics)

La forma más sencilla de conectarse a la nube es consultar el documento Introducción y seguir el tutorial. Además del tutorial, hay varias fuentes de referencia adicionales que los desarrolladores pueden utilizar para ponerse al día con el paquete de software, incluyendo:

Entre estos documentos, los desarrolladores pueden poner en marcha rápidamente una aplicación en la nube que puede utilizarse como base para su propia aplicación de dispositivos IoT.

Consejos y trucos para utilizar la placa Discovery B-L4S5I-IOT01A

La placa Discovery B-L4S5I-IOT01A tiene muchas características y capacidades que los desarrolladores pueden aprovechar para crear rápidamente un prototipo de su producto integrado. A continuación, se presentan varios "consejos y trucos" que los desarrolladores deben tener en cuenta y que pueden simplificar y acelerar su desarrollo, como por ejemplo

  • Aproveche al máximo el X-CUBE-AWS para conectarse a AWS fácilmente. El paquete de software viene con FreeRTOS ya portado a la placa de desarrollo; los desarrolladores sólo tienen que aprovisionar el dispositivo para conectarlo a la nube.
  • Lea detenidamente la documentación de inicio. La documentación contiene los pasos necesarios para realizar una actualización del firmware y conectarse a AWS.
  • Experimenta con las capacidades de actualización over-the-air (OTA) de ejemplo. La necesidad de parchear y actualizar los dispositivos IoT sobre el terreno es fundamental. Los desarrolladores deben conocer las capacidades y las posibles limitaciones de las actualizaciones seguras de firmware.
  • Evite empezar desde cero aprovechando los paquetes de funciones de STMicroelectronic, que ayudan a los desarrolladores a dar un salto en las capacidades y la funcionalidad del dispositivo. Estos paquetes de funciones pueden acelerar drásticamente el desarrollo.
  • Tómese el tiempo necesario para leer la documentación de STSAFE y entender cómo los elementos de seguridad pueden mejorar la seguridad de los dispositivos. La seguridad debe incorporarse a un dispositivo desde el principio, por lo que es imprescindible hacerlo durante la fase de creación rápida de prototipos.

Los desarrolladores que sigan estos "consejos y trucos" descubrirán que se ahorran bastante tiempo y disgustos a la hora de crear el prototipo de su aplicación.

Conclusión:

El desarrollo de un dispositivo conectado al IoT desde cero sigue teniendo muchos obstáculos y trampas que pueden retrasar los plazos y llevar a sobrecostos. Para evitar estos problemas, los desarrolladores pueden aprovechar la placa B-L4S5I-IOT01A Discovery para crear rápidamente prototipos de sus aplicaciones conectadas. Las pilas de software, los paquetes de expansión y el ecosistema de STMicroelectronics proporcionan a los desarrolladores una ventanilla única para integrar fácilmente el software y acelerar la implementación. El B-L4S5I-IOT01A también es totalmente capaz de satisfacer las necesidades de los dispositivos modernos, como la conectividad en la nube, el arranque seguro del firmware con OTA e incluso la ejecución de aplicaciones básicas de aprendizaje automático.

Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de Digi-Key Electronics o de las políticas oficiales de Digi-Key Electronics.

Información sobre el autor

Jacob Beningo

Jacob Beningo es un consultor de software integrado que actualmente trabaja con clientes en más de una docena de países para transformar drásticamente sus negocios mejorando la calidad del producto, el costo y el tiempo de comercialización. Ha publicado más de 200 artículos sobre técnicas de desarrollo de software embebido, es un conferenciante y entrenador técnico muy solicitado y tiene tres títulos que incluyen una Maestría en Ingeniería de la Universidad de Michigan. No dude en ponerse en contacto con él en jacob@beningo.com, en su sitio web www.beningo.com, y suscríbase a su boletín mensual Embedded Bytes Newsletter.

Información sobre la editorial

Editores de Digi-Key de América del Norte