Como fazer um protótipo rápido de dispositivos IoT usando o nó IoT do kit Discovery B-L4S5I-IOT01A
Contributed By DigiKey's North American Editors
2021-09-22
À 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
Figura 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.
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:
- FP-AI-FACEREC para aplicações de reconhecimento facial
- FP-AI-NANOEDG1 para aplicações de monitoramento de condições
- FP-AI-VISION1 para aplicações de classificação de imagens
- FP-AI-SENSING1 para aplicações de classificação de áudio e cena
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.
Figura 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:
- Próximos passos do FreeRTOS
- Guia do Usuário de Atualização OTA
- Configuração da conta principal e das credenciais do IoT
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.
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.




