Sådan laver du hurtigt prototyper af IoT-enheder ved hjælp af B-L4S5I-IOT01A Discovery Kit IoT Node
Bidraget af DigiKeys nordamerikanske redaktører
2021-09-22
Efterhånden som enheder bliver mere og mere forbundet til tingenes internet (IoT), indser udviklere, der starter fra bunden, at det stadig ikke er så ligetil, som de ville forvente, især hvis tidsplanerne er stramme og omkostningerne begrænsede. Fra valg af et pålideligt, sikkert og velunderstøttet udviklingsmiljø til valg af kompatibel software og hardware viser det sig, at det stadig kræver en lang række færdigheder at designe og bygge en IoT-enhed.
Det, udviklerne i stigende grad har brug for, er let adgang til sikre løsninger, biblioteker til cloud-forbindelse, en RTOS og en kompatibel hardware- og softwareudviklingsplatform, der giver let integrerbare sensorer, alt sammen i én skalerbar pakke.
Denne artikel beskriver, hvordan IoT-designere hurtigt kan lave prototyper af deres produkter ved hjælp af STMicroelectronics B-L4S5I-IOT01A Discovery Kit IoT Node. Den undersøger mulighederne i den indbyggede mikrocontroller, de mange sensorer og konfigurationsmuligheder, og hvordan man opretter forbindelse til Amazon Web Services (AWS) og hurtigt kan begynde at bygge sin prototype og slutprodukt.
Introduktion til B-L4S5I-IOT01A Discovery Kit IoT Node
B-L4S5I-IOT01A Discovery kortet er et one-stop-shop udviklingskort, der kan bruges til at lave prototyper af næsten enhver indlejret IoT-enhed (Figur 1). Kortet har nok processorkraft, sensorer og udvidelsesmuligheder til at få enhver indlejret udvikler til at drømme om de applikationer, de kan udvikle. B-L4S5I-IOT01A-kortet er baseret på STM32L4S5VIT6 Low-power Arm® Cortex®-M4-processoren, der kører 120 megahertz (MHz) og understøttes af 2 megabyte (Mbytes) program flash og 640 kilobyte (Kbytes) SRAM. STM32L4S5VIT6 har også funktioner, der er ideelle til IoT-applikationer som f.eks:
- En flydepunktsenhed (FPU)
- En 14-kanals DMA-controller (dynamisk hukommelsesadgang)
- En AES- og HASH-krypteringshardwareaccelerator
- Avancerede grafikfunktioner
- En 233 ULPMark CP energibenchmark score
Figur 1: B-L4S5I-IOT01A er baseret på en Arm Cortex-M4-processor med en hastighed på op til 120 MHz med 2 MB flash-hukommelse, 640 KB RAM, trådløs forbindelse og flere sensorer. (Billedkilde: STMicroelectronics)
Processorkraft og energieffektivitet alene gør ikke en fremragende platform til hurtige prototyper. Discovery kortet leveres også med trådløs tilslutning i form af et 802.11b/g/n-kompatibelt Wi-Fi-modul (ISM43362-M3G-L44) fra Inventek Systems og et Bluetooth 4.1-modul fra STMicroelectronics samt en række sensorer. Disse omfatter to MP34DT01 digitale omnidirektionelle mikrofoner, en HTS221 kapacitiv digital sensor til relativ fugtighed og temperatur og et LIS3MDL treakset magnetometer med høj ydeevne.
Listen ovenfor er på ingen måde udtømmende: en mere detaljeret beskrivelse findes her. Dernæst er det vigtigt at undersøge de softwareværktøjer og stakke, der er tilgængelige for at fremskynde udviklingen.
STM32-økosystemet
Økosystemet omkring et udviklingskort er afgørende for, om et team kan skabe en hurtig prototype eller ej. For at lave prototyper af en IoT-enhed med B-L4S5I-IOT01A skal udviklerne f.eks. have adgang til en compiler, et integreret udviklingsmiljø (IDE), driverbiblioteker, konfigurationsværktøjer og software til firmwareopdateringer. B-L4S5I-IOT01A Discovery kortet understøtter alle disse behov.
Mange udviklere bruger Eclipse og GNU C-compileren som udviklingsmiljø. STMicroelectronics tilbyder et gratis værktøj, STM32CubeIDE (figur 2), som gør det muligt for udviklere at skrive og opbygge deres softwareprojekter. STM32CubeIDE giver via forskellige perspektiver adgang til et softwareudviklingsmiljø, et konfigurationsværktøj til mikrocontrollerkonfiguration og et debuggingmiljø.
Figur 2: STM32CubeIDE giver udviklere et IDE til at oprette, konfigurere og administrere deres IoT-enheders indlejrede software. (Billedkilde: Beningo Embedded Group)
STM32CubeIDE giver ikke kun mulighed for at oprette, opbygge og administrere softwareprojekter, men har også en grænseflade til STM32CubeMx. STM32CubeMx er et konfigurationsværktøj til mikrocontrollere, der gør det muligt for udviklere at konfigurere clocktræer, periferiudstyr, sensorer og middleware. Udviklerne konfigurerer deres indstillinger, hvorefter værktøjskæden genererer driverne og konfigurationsfilerne, hvilket reducerer udviklingstiden betydeligt og hjælper udvikleren med at fokusere på applikationskoden og ikke på standardinfrastrukturkoden.
Ud over at konfigurere og implementere en kodebase leveres STM32-økosystemet med flere nyttige værktøjer til udviklere, der arbejder på forkant med udviklingen. For eksempel kan udviklere, der ønsker at udnytte maskinlæring i deres applikationer, bruge STM32Cube.AI-udvidelsen X-CUBE-AI, som giver teams en strømlinet ramme til at konvertere, validere og køre inferencer på STM32. Udviklere kan f.eks. træne en model ved hjælp af TensorFlow Lite og derefter konvertere modellen på få minutter til C-kode, der kører på mikrocontrolleren. Derudover er der udvidelsespakker med køreklar software, der omfatter:
- FP-AI-FACEREC til ansigtsgenkendelsesapplikationer
- FP-AI-NANOEDG1 til tilstandsovervågning
- FP-AI-VISION1 til billedklassificeringsapplikationer
- FP-AI-SENSING1 til lyd- og scene-klassificeringsapplikationer
Enhver IoT-enhed bør tage hensyn til sikkerheden, selv i den hurtige prototypefase. I dag vrimler nettet med angreb, sikkerhedsbrud og udnyttelse af forretnings- og kundedata. Derfor skal enhver platform til hurtig prototypefremstilling have mulighed for at blive opskaleret til et produktionssystem på effektiv vis. Discovery kortet kan udnytte STMicroelectronics' Secure Boot Secure Firmware Update (SBSFU)-softwarestacks ( Secure Boot Secure Firmware Update ) for at give udviklerne denne mulighed. SBSFU er tilgængelig i X-CUBE-SBSFU-funktionspakken, som giver:
- Root-of-trust-tjenester (RoT)
- Sikre nøglehåndteringstjenester
- Kryptografiske ordninger
- Sikre firmwareopdateringstjenester
Økosystemet omkring B-L4S5I-IOT01A Discovery-kortet er rigt med mange tilgængelige funktionspakker og værktøjer, der hjælper udvikleren med at komme hurtigt i gang. Mange IoT-udviklere er interesserede i X-CUBE-AWS-pakken, der indeholder alt det nødvendige til at oprette forbindelse til coud'en, når du bruger AWS. Lad os undersøge, hvordan en udvikler kan gøre det.
Tilslutning til cloud'en
For at komme i gang med cloud'en skal en udvikler downloade X-CUBE-AWS. Softwarepakken leveres som en zip-fil med flere projekter, der er designet til at køre på B-L4S5I-IOT01A, f.eks:
- Bootloader_KMS
- Bootloader_STSAFE
- Cloud
Disse projekter er placeret under:
Projekter/B-L4S5I-IOT01A/Applikationer/
Med AWS cloud-projektet, der findes under:
Cloud/aws_demos
Cloud-projektet er tilgængeligt for STM32Cube IDE, Keil og IAR. Selvfølgelig kan en udvikler tilpasse disse til andre IDE'er, men disse tre er almindeligt anvendte i branchen.
En udvikler behøver ikke selv at finde ud af, hvordan han eller hun får projektet op at køre. Der findes flere værdifulde dokumenter, som kan hjælpe dem hurtigt i gang. For det første findes der i projektets hovedmappe en fil Release_Notes.html. Denne fil indeholder generelle oplysninger om projektet samt begrænsninger og værdifulde referencer.
Dernæst er der en vejledning til at komme i gang, som beskriver, hvordan du opretter forbindelse til AWS ved hjælp af projektet. Dette dokument beskriver, hvordan du opretter forbindelse til AWS sammen med oplysninger om stak og software (Figur 3). Dokumentet beskriver også softwarestakken i detaljer, hvilket kan hjælpe en udvikler med at forstå, hvordan den er organiseret, og hvilke ændringer der er nødvendige for at forbinde enheden til cloud'en.
Figur 3: X-CUBE-AWS indeholder den firmware og de applikationseksempler, der er nødvendige for at oprette forbindelse til AWS og udvikle en IoT-ting, der kan oprette forbindelse til AWS. (Billedkilde: STMicroelectronics)
Den nemmeste måde at oprette forbindelse til cloud'en på er ved at gennemgå dokumentet Kom godt i gang og følge vejledningen. Ud over vejledningen er der flere yderligere referencekilder, som udviklere kan bruge til at komme i gang med softwarepakken, herunder:
- FreeRTOS næste skridt
- Brugervejledning til OTA-opdatering
- Opsætning af IoT Core-konto og legitimationsoplysninger
Med disse dokumenter kan udviklere hurtigt komme i gang med en cloud-applikation, der kan bruges som grundlag for deres egen IoT-enhedsapplikation.
Tips og tricks til brug af B-L4S5I-IOT01A Discovery kort
B-L4S5I-IOT01A Discovery kort har mange funktioner og muligheder, som udviklere kan udnytte til hurtigt at lave prototyper af deres indlejrede produkt. Nedenfor er der flere "tips og tricks", som udviklere bør huske på, og som kan forenkle og fremskynde deres udvikling, f.eks:
- Udnyt X-CUBE-AWS fuldt ud til at oprette forbindelse til AWS på en nem måde. Softwarepakken leveres med FreeRTOS, der allerede er tilpasset til udviklingskortet; udviklere skal blot sørge for, at enheden kan oprette forbindelse til cloud'en.
- Læs omhyggeligt dokumentationen om at komme i gang. Dokumentationen indeholder de nødvendige trin for at udføre en firmwareopdatering og oprette forbindelse til AWS.
- Eksperimentere med OTA-opdateringsmulighederne (OTA). Behovet for at patche og opdatere IoT-enheder i marken er kritisk. Udviklere bør være opmærksomme på mulighederne og eventuelle begrænsninger i forbindelse med sikre firmwareopdateringer.
- Undgå at starte helt forfra ved at udnytte STMicroelectronic's funktionspakker, som hjælper udviklere med at få en start på kapaciteter og enhedsfunktionalitet. Disse funktionspakker kan fremskynde udviklingen dramatisk.
- Tag dig tid til at læse STSAFE-dokumentationen og forstå, hvordan sikre elementer kan forbedre enhedens sikkerhed. Sikkerhed skal indbygges i en enhed fra starten, så det er et must at gøre det i den hurtige prototypefase.
Udviklere, der følger disse "tips og tricks", vil opdage, at de sparer en hel del tid og ærgrelse, når de laver prototyper af deres applikation.
Konklusion
Udviklingen af en IoT-forbundet enhed fra bunden har stadig mange forhindringer og faldgruber, der kan forsinke tidsplaner og føre til omkostningsoverskridelser. For at undgå disse problemer kan udviklere bruge B-L4S5I-IOT01A Discovery kort til hurtigt at lave prototyper af deres tilsluttede applikationer. STMicroelectronics' softwarestacks, udvidelsespakker og økosystem giver udviklere en one-stop-shop, hvor de nemt kan integrere software og fremskynde implementeringen. B-L4S5I-IOT01A er også fuldt ud i stand til at opfylde moderne enhedsbehov som f.eks. cloud-tilslutning, sikker firmwareopstart med OTA og endda køre grundlæggende maskinlæringsapplikationer.
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.




