Hur man snabbt skapar prototypkonstruktioner av IoT-enheter med hjälp av utvärderingssatsen för IoT-noden B-L4S5I-IOT01A

Av Jacob Beningo

Bidraget med av DigiKeys nordamerikanska redaktörer

I takt med att enheter blir alltmer anslutna till sakernas internet (IoT) inser utvecklare som börjar från början att det fortfarande inte är så enkelt som de skulle kunna förvänta sig, särskilt om tidsplanen är snäv och kostnaderna begränsade. Det visar sig att det fortfarande krävs många olika färdigheter för att konstruera och tillverka en IoT-enhet, från att välja en tillförlitlig, säker utvecklingsmiljö med bra stöd till att välja kompatibel mjuk- och hårdvara.

Vad utvecklarna i allt högre grad behöver är snabb tillgång till säkra lösningar, bibliotek för molnanslutning, ett RTOS och en kompatibel plattform för utveckling av hård- och mjukvara som innehåller färdigintegrerade givare, i ett enda skalbart paket.

Artikeln diskuterar hur IoT-konstruktörer snabbt kan skapa prototypkonstruktioner av sina produkter med hjälp av utvärderingssatsen för IoT-noden B-L4S5I-IOT01A från STMicroelectronics. Den undersöker den inbyggda mikrokontrollerns kapacitet, den stora mängden givare och konfigurationsalternativ samt hur man ansluter till Amazon Web Services (AWS) och snabbt börjar bygga sin prototyp och slutprodukt.

Introduktion till utvärderingssatsen för IoT-noden B-L4S5I-IOT01A

Kortet B-L4S5I-IOT01A Discovery är ett utvecklingskort som kan användas för att ta fram prototyper av nästan alla inbäddade IoT-enheter (figur 1). Kortet har tillräckligt med processorkraft, givare och utökningsmöjligheter för att få alla utvecklare av inbyggda system att drömma om vilka tillämpningar de skulle kunna bygga. Kortet B-L4S5I-IOT01A är baserat på den strömsnåla Arm® Cortex®-M4 processorn STM32L4S5VIT6 med 120 MHz, ett flash-minne för program på 2 Mb, och 640 Kb SRAM. STM32L4S5VIT6 har även funktioner som är perfekta för IoT-tillämpningar, som exempelvis:

  • En flyttalsprocessor (FPU)
  • En DMA-styrenhet (Dynamic Memory Access) med 14 kanaler
  • En hårdvaruaccelerator för AES- och HASH-kryptering
  • Avancerade grafikfunktioner
  • 233 poäng i ULPMark CP-benchmark för energiutvärdering

Bild på B-L4S5I-IOT01A från Texas Instruments som är baserad på en Arm Cortex-M4 processorFigur 1: B-L4S5I-IOT01A är baserad på en Arm Cortex-M4 processor med en hastighet på upp till 120 MHz, 2 Mb flashminne, 640 Kb RAM-minne, trådlös anslutning och flera givare. (Bildkälla: STMicroelectronics)

Enbart bearbetningskraft och energieffektivitet räcker inte för att skapa en utmärkt plattform för snabba prototyper. Utvärderingskortet har även en trådlös anslutning i form av en 802.11b/g/n-kompatibel WiFi-modul(ISM43362-M3G-L44) från Inventek Systems och en Bluetooth 4.1-modul från STMicroelectronics, samt en mängd givare. Dessa inkluderar två MP34DT01 digitala rundstrålande mikrofoner, en HTS221 kapacitiv digital givare för relativ fuktighet och temperatur och en LIS3MDL högeffektiv magnetometer med tre axlar.

Listan ovan är inte på något vis heltäckande: en mer detaljerad beskrivning finns här. Därefter är det viktigt att undersöka vilka programverktyg och stackar som finns tillgängliga för att påskynda utvecklingen.

Ekosystemet STM32

Ekosystemet kring ett utvecklingskort avgör om ett team kan skapa en snabb prototyp eller inte. För att till exempel skapa en prototyp av en IoT-enhet med B-L4S5I-IOT01A behöver utvecklare tillgång till en kompilator, en integrerad utvecklingsmiljö (IDE), ett drivrutinsbibliotek, konfigurationsverktyg och program för uppdatering av firmware. Utvärderingskortet B-L4S5I-IOT01A har stöd för alla dessa behov.

Många utvecklare använder Eclipse och GNU C-kompilatorn som sin utvecklingsmiljö. STMicroelectronics tillhandahåller ett gratis verktyg, STM32CubeIDE (figur 2), som gör det möjligt för utvecklare att skriva och bygga sina programprojekt. STM32CubeIDE ger via olika perspektiv tillgång till en miljö för programutveckling, ett konfigurationsverktyg för mikrokontroller och en felsökningsmiljö.

Bild på utvecklingsmiljön STM32CubeIDE för att skapa, konfigurera och hantera inbyggd IoT-programvara (klicka för att förstora)Figur 2: STM32CubeIDE förser utvecklare med ett IDE för att skapa, konfigurera och hantera IoT-enhetens inbyggda program. (Bildkälla: Beningo Embedded Group)

STM32CubeIDE tillhandahåller inte bara ett sätt att skapa, bygga och hantera programprojekt, utan har även ett gränssnitt för STM32CubeMx. STM32CubeMx är ett konfigurationsverktyg för mikrokontroller som gör det möjligt för utvecklare att konfigurera klockträd, kringutrustning, sensorer och mellanprogram. Utvecklarna konfigurerar sina inställningar och sedan genererar verktygskedjan drivrutinerna och konfigurationsfilerna, vilket minskar utvecklingstiden dramatiskt och hjälper utvecklaren att fokusera på programkoden och inte på standardkoden för infrastrukturen.

Förutom att konfigurera och distribuera en kodbas, innehåller ekosystemet STM32 flera användbara verktyg för utvecklare som arbetar i framkanten av utvecklingen. Utvecklare kan exempelvis dra nytta av maskininlärning i sina tillämpningar med hjälp av tillägget XCUBE-AI för STM32Cube.AI, som ger teamet ett smidigt ramverk för att konvertera, validera och dra slutsatser med STM32. Utvecklare kan till exempel träna en modell med TensorFlow Lite och sedan konvertera modellen till C-kod som körs på mikrokontrollern på bara några minuter. Det finns dessutom tilläggspaket med färdiga program som inkluderar:

Respektive IoT-enhet måste ta hänsyn till säkerheten, även under den snabba prototypkonstruktionsfasen. Dagens webb kryllar av oavbrutna attacker, säkerhetsöverträdelser och exploatering av information från företag och kunder. Därför bör alla plattformar för framställning av snabba prototypkonstruktioner ha möjlighet att skalas upp till ett produktionssystem på ett effektivt sätt. Utvärderingskortet kan dra nytta av Secure Boot Secure Firmware Update (SBSFU) från STMicroelectronics för att förse utvecklare med denna möjlighet. SBSFU finns i funktionspaketet X-CUBE-SBSFU, som innehåller:

  • Root-of-trust-tjänster (RoT)
  • Tjänster för säker nyckelhantering
  • Kryptografiska scheman
  • Säkra uppdateringstjänster för firmware

Ekosystemet kring utvärderingskortet B-L4S5I-IOT01A är stort, med många tillgängliga funktionspaket och verktyg som hjälper utvecklaren att komma igång snabbt. Många IoT-utvecklare är intresserade av paketet X-CUBE-AWS som innehåller allt som behövs för att ansluta till molnet vid användning av AWS. Låt oss undersöka hur en utvecklare skulle göra det.

Anslutning till molnet

För att komma igång med molnet måste en utvecklare ladda ner X-CUBE-AWS. Programpaketet levereras som en zip-fil med flera projekt som är utformade för att köras på B-L4S5I-IOT01A, såsom exempelvis:

  • Bootloader_KMS
  • Bootloader_STSAFE
  • Cloud

Projekten finns under:

Projects/B-L4S5I-IOT01A/Applications/

Med molnprojetet för AWS som finns under:

Cloud/aws_demos

Molnprojektet är tillgängligt för STM32Cube IDE, Keil och IAR. En utvecklare kan givetvis anpassa dessa till andra IDE:er, men dessa tre är de vanligaste i branschen.

En utvecklare behöver inte själv ta reda på hur han eller hon ska få igång projektet. Det finns flera värdefulla dokument som kan hjälpa dem att komma igång snabbt. Först och främst, har vi huvudkatalogen för projektet, där filen Release_Notes.html finns. Filen innehåller allmän information om projektet samt begränsningar och värdefulla referenser.

Därefter finns det en guide för att komma igång som beskriver hur du ansluter till AWS med hjälp av projektet. Det här dokumentet beskriver hur du ansluter till AWS tillsammans med information om stacken och programmet (figur 3). I dokumentet beskrivs även programmets stackar i detalj, vilket kan hjälpa en utvecklare att förstå hur de är organiserade och vilka ändringar som krävs för att ansluta enheten till molnet.

Diagram över X-CUBE-AWS från STMicroelectronics som tillhandahåller firmware och exempel på tillämpningarFigur 3: X-CUBE-AWS tillhandahåller den firmware och exempel på tillämpningar som krävs för att ansluta till AWS och utveckla en IoT Thing-produkt som kan ansluta till AWS. (Bildkälla: STMicroelectronics)

Det enklaste sättet att ansluta till molnet är att gå igenom dokumentet Komma igång och följa handledningen. Förutom handledningen finns det flera andra referenskällor som utvecklare kan använda för att komma igång med programpaketet, inklusive:

Med hjälp av dessa dokument kan utvecklare snabbt komma igång med en molntillämpning som kan användas som bas för en egen tillämpning med IoT-enheter.

Tips och tricks för att använda utvärderingskortet B-L4S5I-IOT01A

Utvärderingskortet B-L4S5I-IOT01A har många funktioner och egenskaper som utvecklare kan dra nytta av för att snabbt ta fram prototyper av sina inbyggda produkter. Nedan följer flera "tips och tricks" som utvecklare bör ha i åtanke för att förenkla och påskynda utvecklingen, som exempelvis:

  • Att dra full nytta av X-CUBE-AWS för att enkelt ansluta till AWS. Programvarupaketet levereras med FreeRTOS som redan är anpassat för utvecklingskortet, och utvecklarna behöver bara konfigurera enheten för att ansluta till molnet.
  • Läs igenom dokumentationen noga för att komma igång. Dokumentationen innehåller de steg som krävs för att utföra en uppdatering av firmware och ansluta till AWS.
  • Experimentera med exemplen på uppdateringsförmåga via luften (OTA). Behovet av att patcha och uppdatera IoT-enheter på fältet är kritiskt. Utvecklare bör vara medvetna om förmågan och eventuella begränsningar för säkra uppdateringar av firmware.
  • Undvik att börja från början genom att utnyttja STMicroelectronics funktionspaket, som hjälper utvecklare att snabbt komma igång med funktioner och enhetens funktionalitet. Funktionspaketen kan påskynda utvecklingen dramatiskt.
  • Ta dig tid att läsa igenom STSAFE-dokumentationen och förstå hur säkra element kan förbättra enhetens säkerhet. Säkerheten måste byggas in i en enhet från början, så det är ett måste att göra det under den snabba prototyptillverkningsfasen.

Utvecklare som följer dessa "tips och tricks" kommer att upptäcka att de sparar en hel del tid och frustration när de utvecklar en prototyp av sin tillämpning.

Sammanfattning

Att utveckla en IoT-ansluten enhet från grunden innebär fortfarande många hinder och fallgropar som kan fördröja tidsplaner och leda till att kostnader överskrids. För att undvika dessa problem kan utvecklare använda utvärderingskortet B-L4S5I-IOT01A för att snabbt ta fram prototypkonstruktioner av sina uppkopplade applikationer. STMicroelectronics mjukvarupaket, expansionspaket och ekosystem ger utvecklare ett enda ställe för att enkelt integrera mjukvara och påskynda implementeringen. B-L4S5I-IOT01A är också fullt kapabel att tillgodose moderna enheters behov, såsom exempelvis molnanslutning, säker start av firmware med OTA , samt även grundläggande program för maskininlärning.

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.

Om skribenten

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo är konsult inom inbäddad programvara. Han har publicerat över 200 artiklar om utveckling av inbäddad programvara, och är en eftertraktad talare och teknisk utbildare med tre examina, däribland en master i teknik från University of Michigan.

Om utgivaren

DigiKeys nordamerikanska redaktörer