Klik hier voor de Engelse versie van de broncode.

Hoe snel IoT-apparaten te prototypen met de B-L4S5I-IOT01A IoT-ontdekkingsknooppuntkit

Door Jacob Beningo

Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey

Nu apparaten steeds meer worden aangesloten op het Internet of Things (IoT), realiseren ontwikkelaars die vanaf nul beginnen zich dat het nog niet zo eenvoudig is als ze zouden verwachten, vooral als de planning krap en de kosten beperkt zijn. Van het kiezen van een vertrouwde, veilige en goed ondersteunde ontwikkelomgeving tot het selecteren van compatibele software en hardware, het blijkt dat het ontwerpen en bouwen van een IoT-apparaat nog steeds een breed scala aan vaardigheden vereist.

Wat ontwikkelaars steeds meer nodig hebben, is gemakkelijke toegang tot veilige oplossingen, bibliotheken voor cloudconnectiviteit, een RTOS en een compatibel hardware- en softwareontwikkelingsplatform dat gemakkelijk te integreren sensoren biedt, allemaal in één schaalbaar pakket.

Dit artikel bespreekt hoe IoT-ontwerpers snel een prototype van hun producten kunnen maken met behulp van de STMicroelectronics B-L4S5I-IOT01A IoT-ontdekkingsknooppuntkit. Er wordt ingegaan op de mogelijkheden van de ingebouwde microcontroller, de overvloed aan sensoren en configuratieopties, en hoe verbinding te maken met Amazon Web Services (AWS) en snel te beginnen met de bouw van hun prototype en eindproduct.

Inleiding tot de B-L4S5I-IOT01A IoT-ontdekkingsknooppuntkit

Het B-L4S5I-IOT01A-ontdekkingsbord is een one-stop-shop ontwikkelingsbord dat kan worden gebruikt om een prototype te maken van vrijwel elk embedded IoT-apparaat (Afbeelding 1). Het bord heeft genoeg rekenkracht, sensors en uitbreidingsmogelijkheden om elke embedded ontwikkelaar te laten dagdromen over de toepassingen die hij zou kunnen bouwen. De B-L4S5I-IOT01A kaart is gebaseerd op de STM32L4S5VIT6 low-power Arm® Cortex®-M4 processor die draait op 120 megahertz (MHz), ondersteund door 2 megabytes (Mbytes) programma flash en 640 kilobytes (Kbytes) SRAM. De STM32L4S5VIT6 heeft ook functies die bij uitstek geschikt zijn voor IoT-toepassingen, zoals:

  • Een floating-point eenheid (FPU)
  • Een 14-kanaals dynamisch geheugen toegang (DMA) controller
  • Een AES en HASH encryptie hardwareversneller
  • Geavanceerde grafische functies
  • Een 233 ULPMark CP energie benchmark score

Afbeelding van Texas Instruments B-L4S5I-IOT01A is gebaseerd op een Arm Cortex-M4-processorAfbeelding 1: De B-L4S5I-IOT01A is gebaseerd op een Arm Cortex-M4-processor met een snelheid tot 120 MHz, 2 Mbytes flashgeheugen, 640 Kbytes RAM, draadloze connectiviteit en meerdere sensors. (Bron afbeelding: STMicroelectronics)

Verwerkingskracht en energie-efficiëntie alleen maken nog geen uitstekend platform voor snelle prototypes. Het ontdekkingsbord wordt ook geleverd met draadloze connectiviteit in de vorm van een 802.11b/g/n-conforme Wi-Fi-module(ISM43362-M3G-L44) van Inventek Systems en een Bluetooth 4.1-module van STMicroelectronics, evenals een reeks sensors. Deze omvatten twee MP34DT01 digitale omnidirectionele microfoons, een HTS221 capacitieve digitale sensor voor relatieve vochtigheid en temperatuur, en een LIS3MDL krachtige drie-assige magnetometer.

Bovenstaande lijst is zeker niet volledig: een meer gedetailleerde beschrijving is hier te vinden. Vervolgens is het belangrijk te onderzoeken welke softwaretools en -stacks beschikbaar zijn om de ontwikkeling te versnellen.

Het STM32-ecosysteem

Het ecosysteem rond een ontwikkelbord bepaalt of een team een snel prototype kan maken of niet. Om bijvoorbeeld een prototype te maken van een IoT-apparaat met de B-L4S5I-IOT01A, hebben ontwikkelaars toegang nodig tot een compiler, een geïntegreerde ontwikkelomgeving (IDE), driverbibliotheken, configuratietools en software voor firmware-updates. Het B-L4S5I-IOT01A-ontdekkingsbord voldoet aan al deze behoeften.

Veel ontwikkelaars gebruiken Eclipse en de GNU C-compiler voor hun ontwikkelomgeving. STMicroelectronics biedt een gratis tool, STM32CubeIDE (Afbeelding 2), waarmee ontwikkelaars hun softwareprojecten kunnen schrijven en bouwen. STM32CubeIDE biedt via verschillende perspectieven toegang tot een softwareontwikkelingsomgeving, een microcontroller-configuratietool en een debug-omgeving.

Afbeelding van STM32CubeIDE IDE voor het maken, configureren en beheren van IoT embedded software (klik om te vergroten)Afbeelding 2: STM32CubeIDE biedt ontwikkelaars een IDE om de embedded software van hun IoT-apparaat te maken, configureren en beheren. (Bron afbeelding: Beningo Embedded Group)

STM32CubeIDE biedt niet alleen een manier om softwareprojecten te maken, te bouwen en te beheren, het heeft ook een interface met STM32CubeMx. STM32CubeMx is een microcontroller-configuratietool waarmee ontwikkelaars klokbomen, randapparatuur, sensoren en middleware kunnen configureren. Ontwikkelaars configureren hun instellingen, waarna de toolchain de drivers en configuratiebestanden genereert, waardoor de ontwikkelingstijd drastisch wordt verkort en de ontwikkelaar zich kan concentreren op zijn applicatiecode en niet op de standaard infrastructuurcode.

Naast het configureren en implementeren van een codebase biedt het STM32-ecosysteem diverse nuttige hulpmiddelen voor ontwikkelaars die op het scherpst van de snede werken. Ontwikkelaars die machinaal leren in hun toepassingen willen toepassen, kunnen bijvoorbeeld de STM32Cube.AI-uitbreiding X-CUBE-AI gebruiken, die teams een gestroomlijnd kader biedt voor het converteren, valideren en uitvoeren van inferenties op de STM32. Ontwikkelaars kunnen bijvoorbeeld een model trainen met TensorFlow Lite en het model vervolgens in slechts enkele minuten omzetten naar C-code die op de microcontroller draait. Bovendien zijn er uitbreidingspakketten met kant-en-klare software, waaronder:

Bij elk IoT-apparaat moet rekening worden gehouden met de beveiliging, zelfs tijdens de fase van snelle prototyping. Het web van vandaag wemelt van de non-stop aanvallen, inbreuken op de beveiliging en exploitatie van bedrijfs- en klantgegevens. Daarom moet elk platform voor snelle prototyping de mogelijkheid hebben om efficiënt op te schalen naar een productiesysteem. Het ontdekkingsbord kan gebruik maken van de softwarestacks Secure Boot Secure Firmware Update (SBSFU) van STMicroelectronics om ontwikkelaars deze mogelijkheid te bieden. SBSFU is beschikbaar in het functiepakket X-CUBE-SBSFU, dat voorziet in:

  • Root-of-trust (RoT)-diensten
  • Diensten voor beveiligd sleutelbeheer
  • Cryptografische systemen
  • Beveiligde firmware-updatediensten

Het ecosysteem rond het B-L4S5I-IOT01A-ontdekkingsbord is rijk, met veel beschikbare functiepakketten en tools om de ontwikkelaar te helpen snel aan de slag te gaan. Veel IoT-ontwikkelaars zijn geïnteresseerd in het X-CUBE-AWS-pakket dat alles biedt wat nodig is om verbinding te maken met de cloud bij gebruik van AWS. Laten we eens kijken hoe een ontwikkelaar dit zou aanpakken.

Verbinding maken met de cloud

Om met de cloud aan de slag te gaan, moet een ontwikkelaar X-CUBE-AWS downloaden. Het softwarepakket wordt geleverd als een zip-bestand met verschillende projecten die ontworpen zijn om op de B-L4S5I-IOT01A te draaien, zoals:

  • Bootloader_KMS
  • Bootloader_STSAFE
  • Cloud

Deze projecten bevinden zich onder:

Projecten/B-L4S5I-IOT01A/Applications/

Met het AWS-cloudproject gevonden onder:

Cloud/aws_demos

Het cloudproject is beschikbaar voor STM32Cube IDE, Keil en IAR. Natuurlijk kan een ontwikkelaar deze overzetten naar andere IDE's, maar deze drie worden algemeen gebruikt in de industrie.

Een ontwikkelaar hoeft niet zelfstandig uit te zoeken hoe hij het project aan de praat krijgt. Er zijn verschillende waardevolle documenten die hen kunnen helpen snel aan de slag te gaan. Ten eerste, in de hoofd project directory, is er een Release_Notes.html bestand. Dit dossier bevat algemene informatie over het project, alsook beperkingen en waardevolle referenties.

Vervolgens is er een aan de slag gids die beschrijft hoe verbinding te maken met AWS met behulp van het project. Dit document beschrijft hoe u verbinding maakt met AWS, samen met stack- en software-informatie (Afbeelding 3). Het document geeft ook een gedetailleerde beschrijving van de softwarestacks, wat een ontwikkelaar kan helpen begrijpen hoe het is georganiseerd en welke veranderingen nodig zijn om het toestel op de cloud aan te sluiten.

Schema van STMicroelectronics X-CUBE-AWS biedt firmware en toepassingsvoorbeeldenAfbeelding 3: X-CUBE-AWS biedt de firmware en applicatievoorbeelden die nodig zijn om verbinding te maken met AWS en een IoT-ding te ontwikkelen dat verbinding kan maken met AWS. (Bron afbeelding: STMicroelectronics)

De eenvoudigste manier om verbinding te maken met de cloud is het doorlopen van het aan de slag document en het volgen van de tutorial. Naast de handleiding zijn er verschillende aanvullende referentiebronnen die ontwikkelaars kunnen gebruiken om vertrouwd te raken met het softwarepakket, waaronder:

Met deze documenten kunnen ontwikkelaars snel aan de slag met een cloud-applicatie die kan worden gebruikt als basis voor hun eigen IoT-apparaattoepassing.

Tips en trucs voor het gebruik van het B-L4S5I-IOT01A-ontdekkingsbord

Het B-L4S5I-IOT01A-ontdekkingsbord heeft vele functies en mogelijkheden die ontwikkelaars kunnen gebruiken om snel een prototype van hun embedded product te ontwikkelen. Hieronder staan enkele "tips en trucs" die ontwikkelaars in gedachten moeten houden en die hun ontwikkeling kunnen vereenvoudigen en versnellen, zoals:

  • Profiteer optimaal van de X-CUBE-AWS om eenvoudig verbinding te maken met AWS. Het softwarepakket wordt geleverd met FreeRTOS dat reeds naar het ontwikkelbord is geport; ontwikkelaars moeten enkel het apparaat voorzien om verbinding te maken met de cloud.
  • Lees de aan de slag documentatie zorgvuldig door. De documentatie bevat de stappen die nodig zijn om een firmware-update uit te voeren en verbinding te maken met AWS.
  • Experimenteer met de voorbeeld over-the-air (OTA) update mogelijkheden. De noodzaak om IoT-apparaten in het veld te patchen en bij te werken is van cruciaal belang. Ontwikkelaars moeten op de hoogte zijn van de mogelijkheden en eventuele beperkingen van veilige firmware-updates.
  • Voorkom dat u vanaf nul moet beginnen door gebruik te maken van de functiepakketten van STMicroelectronic, waarmee ontwikkelaars een vliegende start kunnen maken met mogelijkheden en apparaatfunctionaliteit. Deze functiepakketten kunnen de ontwikkeling drastisch versnellen.
  • Neem de tijd om de STSAFE-documentatie door te lezen en te begrijpen hoe veilige elementen de beveiliging van apparaten kunnen verbeteren. Beveiliging moet vanaf het begin in een apparaat worden ingebouwd, dus tijdens de fase van rapid prototyping is dit een must.

Ontwikkelaars die deze "tips en trucs" volgen, zullen merken dat ze heel wat tijd en verdriet kunnen besparen bij het prototypen van hun toepassing.

Conclusie

De ontwikkeling van een met het IoT verbonden apparaat vanaf nul kent nog steeds veel obstakels en valkuilen die de planning kunnen vertragen en tot kostenoverschrijdingen kunnen leiden. Om deze problemen te voorkomen, kunnen ontwikkelaars gebruik maken van het B-L4S5I-IOT01A-ontdekkingsbord om snel prototypes te maken van hun aangesloten toepassingen. De softwarestacks, uitbreidingspakketten en het ecosysteem van STMicroelectronics bieden ontwikkelaars een one-stop-shop om software gemakkelijk te integreren en de implementatie te versnellen. De B-L4S5I-IOT01A is ook volledig geschikt voor moderne apparaatbehoeften, zoals cloud-connectiviteit, veilig opstarten van firmware met OTA, en zelfs het uitvoeren van basis machine learning toepassingen.

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.

Achtergrondinformatie over deze auteur

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo is een embedded software consultant. Hij heeft meer dan 200 artikelen over embedded software ontwikkelingstechnieken gepubliceerd, is een veelgevraagde spreker en technische trainer en heeft drie universitaire graden, waaronder een Masters of Engineering bij de University of Michigan.

Over deze uitgever

De Noord-Amerikaanse redacteurs van DigiKey