Como fazer um protótipo rápido de dispositivos IoT usando o nó IoT do kit Discovery B-L4S5I-IOT01A

By Jacob Beningo

Contributed By DigiKey's North American Editors

À medida que os dispositivos se tornam cada vez mais conectados à Internet das Coisas (IoT), os desenvolvedores começam a perceber que ainda não é tão simples como eles esperariam, particularmente se os cronogramas forem apertados e os custos forem limitados. Desde a escolha de um ambiente de desenvolvimento confiável, seguro e bem suportado até a seleção de software e hardware compatíveis, acontece que projetar e construir um dispositivo IoT ainda requer uma ampla gama de conjuntos de habilidades.

O que os desenvolvedores cada vez mais precisam é de acesso pronto a soluções seguras, bibliotecas de conectividade em nuvem, um RTOS e uma plataforma de desenvolvimento de hardware e software compatível que forneça sensores prontamente integrados, tudo isso em um pacote escalável.

Este artigo discute como os projetistas de IoT podem rapidamente fazer protótipos de seus produtos usando o nó IoT do kit Discovery B-L4S5I-IOT01A da STMicroelectronics. Ele examina as capacidades do microcontrolador embarcado, a infinidade de sensores e opções de configuração, e como se conectar ao Amazon Web Services (AWS) e rapidamente começar a construir seu protótipo e produto final.

Introdução ao nó IoT do kit Discovery B-L4S5I-IOT01A

A placa do kit Discovery B-L4S5I-IOT01A é uma placa de desenvolvimento de balcão único que pode ser usada para protótipo de quase qualquer dispositivo IoT embarcado (Figura 1). A placa tem poder de processamento, sensores e capacidade de expansão suficientes para fazer qualquer desenvolvedor sonhar acordado sobre as aplicações que eles poderiam construir. A placa B-L4S5I-IOT01A é baseada no STM32L4S5VIT6, um processador Arm® Cortex®-M4 de baixa potência que roda a 120 megahertz (MHz), suportado por 2 megabytes (Mbytes) de memória flash de programação e 640 quilobytes (Kbytes) de SRAM. O STM32L4S5VIT6 também tem características ideais para aplicações IoT, como por exemplo:

  • Uma unidade de ponto flutuante (FPU)
  • Um controlador de acesso à memória dinâmica (DMA) com 14 canais
  • Um acelerador de hardware de criptografia AES e HASH
  • Recursos gráficos avançados
  • Uma pontuação de referência de energia 233 ULPMark CP

Imagem da Texas Instruments, o B-L4S5I-IOT01A é baseado em um processador Cortex-M4 ArmFigura 1: O B-L4S5I-IOT01A é baseado em um processador Cortex-M4 Arm rodando em até 120 MHz com 2 Mbytes de memória flash, 640 Kbytes de RAM, conectividade sem fio e vários sensores. (Fonte da imagem: STMicroelectronics)

A poder de processamento e a eficiência energética por si só não fazem um excelente protótipo rápido de plataforma. A placa discovery também vem com conectividade sem fio na forma de um módulo Wi-Fi compatível com 802.11b/g/n (ISM43362-M3G-L44) da Inventek Systems e um módulo Bluetooth 4.1 da STMicroelectronics, bem como uma gama de sensores. Estes incluem dois microfones omnidirecionais digitais MP34DT01, um sensor digital capacitivo HTS221 para umidade relativa e temperatura, e um magnetômetro de três eixos LIS3MDL de alto desempenho.

A lista acima não é de forma alguma abrangente: uma descrição mais detalhada pode ser encontrada aqui. A seguir, é importante examinar as ferramentas e pilhas de software disponíveis para acelerar o desenvolvimento.

O ecossistema STM32

O ecossistema ao redor de qualquer placa de desenvolvimento determina se uma equipe pode ou não criar um protótipo rápido. Por exemplo, para protótipo de um dispositivo IoT com o B-L4S5I-IOT01A, os desenvolvedores precisam ter acesso a um compilador, um ambiente de desenvolvimento integrado (IDE), bibliotecas de controladores, ferramentas de configuração e software para atualizações de firmware. A placa Discovery B-L4S5I-IOT01A suporta todas essas necessidades.

Muitos desenvolvedores usam o Eclipse e o compilador GNU C para seu ambiente de desenvolvimento. A STMicroelectronics fornece uma ferramenta gratuita, STM32CubeIDE (Figura 2), permitindo que os desenvolvedores escrevam e construam seus projetos de software. O STM32CubeIDE permite o acesso através de várias perspectivas a um ambiente de desenvolvimento de software, uma ferramenta de configuração de microcontroladores e um ambiente de depuração.

Imagem da IDE STM32CubeIDE para criar, configurar e gerenciar o software embutido IoT (clique para ampliar)Figura 2: O STM32CubeIDE fornece aos desenvolvedores uma IDE para criar, configurar e gerenciar o software embutido de seu dispositivo IoT. (Fonte da imagem: Beningo Embedded Group)

O STM32CubeIDE não só fornece uma maneira de criar, construir e gerenciar projetos de software, mas também tem uma interface para STM32CubeMx. O STM32CubeMx é uma ferramenta de configuração de microcontroladores que permite aos desenvolvedores configurar árvores de clock, periféricos, sensores e middleware. Os desenvolvedores configuram suas definições e depois a cadeia de ferramentas gera os arquivos de drivers e de configuração, diminuindo drasticamente o tempo de desenvolvimento e ajudando o desenvolvedor a se concentrar em seu código de aplicação e não no código de infra-estrutura padrão.

Além de configurar e implantar uma base de código, o ecossistema STM32 vem com várias ferramentas úteis para desenvolvedores que trabalham na vanguarda. Por exemplo, os desenvolvedores que procuram aproveitar o aprendizado de máquinas em suas aplicações podem utilizar a extensão STM32Cube.AI X-CUBE-AI, que fornece às equipes uma estrutura simplificada para converter, validar e executar inferências sobre o STM32. Por exemplo, os desenvolvedores podem treinar um modelo usando TensorFlow Lite e depois converter o modelo em apenas alguns minutos para o código C que roda no microcontrolador. Além disso, há pacotes de extensão com software pronto para rodar que inclui:

Todo dispositivo IoT deve considerar a segurança, mesmo durante a fase de prototipagem rápida. A web de hoje está repleta de ataques ininterruptos, violações de segurança e exploração de dados comerciais e de clientes. Portanto, qualquer plataforma de prototipagem rápida deve ter a capacidade de escalar em um sistema de produção de forma eficiente. A placa Discovery pode aproveitar as pilhas de software Secure Boot Firmware Update (SBSFU) da STMicroelectronics para fornecer aos desenvolvedores esta capacidade. O SBSFU está disponível no pacote de funções X-CUBE-SBSFU, que fornece:

  • Serviços de raiz de confiança (Root-of-trust - RoT)
  • Serviços de gerenciamento de chaves seguras
  • Esquemas criptográficos
  • Serviços seguros de atualização de firmware

O ecossistema ao redor da placa Discovery B-L4S5I-IOT01A é rico, com muitos pacotes de funções e ferramentas disponíveis para ajudar o desenvolvedor a começar rapidamente. Muitos desenvolvedores de IoT estão interessados no pacote X-CUBE-AWS que fornece tudo o que é necessário para se conectar à nuvem ao usar AWS. Vamos examinar como um desenvolvedor faria isso.

Conectando-se à nuvem

Para começar com a nuvem, um desenvolvedor precisa fazer o download do X-CUBE-AWS. O pacote de software vem como um arquivo zip com vários projetos concebidos para rodar no B-L4S5I-IOT01A, como por exemplo:

  • Bootloader_KMS
  • Bootloader_STSAFE
  • Cloud

Estes projetos estão localizados abaixo:

Projects/B-L4S5I-IOT01A/Applications/

Com o projeto da nuvem AWS sendo encontrado em:

Cloud/aws_demos

O projeto de nuvem está disponível para IDE STM32Cube, Keil e IAR. É claro que um desenvolvedor poderia portar estas IDEs para outras, mas estas três são comumente usadas na indústria.

Um desenvolvedor não tem que descobrir como colocar o projeto em funcionamento independentemente. Há vários documentos valiosos que podem ajudá-los a começar rapidamente. Primeiro, dentro do diretório principal do projeto, há um arquivo Release_Notes.html. Este arquivo contém informações gerais sobre o projeto, juntamente com limitações e referências valiosas.

Em seguida, há um guia de início rápido que descreve como se conectar ao AWS usando o projeto. Este documento descreve como se conectar ao AWS juntamente com as informações de pilha e software (Figura 3). O documento também descreve as pilhas de software em detalhes, o que pode ajudar um desenvolvedor a entender como ele está organizado e as mudanças que serão necessárias para conectar o dispositivo à nuvem.

Diagrama da STMicroelectronics X-CUBE-AWS que fornece firmware e exemplos de aplicaçãoFigura 3: O X-CUBE-AWS fornece o firmware e exemplos de aplicação necessários para conectar ao AWS e desenvolver uma Coisa IoT capaz de conectar ao AWS. (Fonte da imagem: STMicroelectronics)

A maneira mais fácil de se conectar com a nuvem é através do documento Início Rápido e seguir o tutorial. Além do tutorial, há várias fontes de referência adicionais que os desenvolvedores podem usar para se atualizar com o pacote de software, incluindo:

Entre estes documentos, os desenvolvedores podem rapidamente começar a trabalhar e operar com uma aplicação de nuvem que pode ser usada como base para sua própria aplicação do dispositivo IoT.

Dicas e truques para usar a placa Discovery B-L4S5I-IOT01A

A placa Discovery B-L4S5I-IOT01A tem muitas características e capacidades que os desenvolvedores podem aproveitar para criar rapidamente protótipos de seus produtos incorporados. Abaixo estão várias "dicas e truques" que os desenvolvedores devem ter em mente que podem simplificar e acelerar seu desenvolvimento, como por exemplo:

  • Aproveite ao máximo as vantagens do X-CUBE-AWS para conectar-se facilmente ao AWS. O pacote de software vem com o FreeRTOS já portado para a placa de desenvolvimento; os desenvolvedores só precisam fornecer o dispositivo para se conectar à nuvem.
  • Leia com atenção a documentação de início rápido. A documentação contém os passos necessários para realizar uma atualização de firmware e se conectar ao AWS.
  • Experimente as capacidades de atualização do exemplo por via aérea (over-the-air - OTA). A necessidade de corrigir e atualizar os dispositivos IoT no campo é crítica. Os desenvolvedores devem estar cientes das capacidades e de quaisquer limitações de atualizações seguras de firmware.
  • Evite começar do zero, aproveitando os pacotes de funções da STMicroelectronic, que ajudam os desenvolvedores a obter um início rápido das capacidades e funcionalidades do dispositivo. Estes pacotes de funções podem acelerar drasticamente o desenvolvimento.
  • Reserve um tempo para ler a documentação STSAFE e entender como elementos seguros podem melhorar a segurança do dispositivo. A segurança deve ser incorporada em um dispositivo desde o início, portanto, fazê-lo durante a fase de prototipagem rápida é uma necessidade.

Os desenvolvedores que seguem estas "dicas e truques" descobrirão que poupam um pouco de tempo e sofrimento, quando fazem o protótipo da sua aplicação.

Conclusão

O desenvolvimento de um dispositivo conectado ao IoT a partir do zero ainda tem muitos obstáculos e armadilhas que podem atrasar cronogramas e levar a custos excessivos. Para evitar estes problemas, os desenvolvedores podem aproveitar a placa Discovery B-L4S5I-IOT01A para fazer protótipos rapidamente de suas aplicações conectadas. As pilhas de software, pacotes de expansão e ecossistema da STMicroelectronics fornecem aos desenvolvedores um balcão único para integrar facilmente o software e acelerar a implementação. O B-L4S5I-IOT01A também é totalmente capaz de atender às necessidades dos dispositivos modernos, tais como conectividade em nuvem, inicialização segura de firmware com OTA e até mesmo executar aplicações básicas de aprendizagem de máquinas.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

About this author

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo is an embedded software consultant. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer, and holds three degrees, including a Masters of Engineering from the University of Michigan.

About this publisher

DigiKey's North American Editors