Slik gjør du rask prototyping av IoT-enheter ved hjelp av B-L4S5I-IOT01A Discovery Kit IoT Node

Av Jacob Beningo

Bidrag fra DigiKeys nordamerikanske redaktører

Etter hvert som enheter blir stadig mer tilkoblet til tingenes Internett (IoT), har utviklere som starter fra bunnen av begynt å innse at det fortsatt ikke er så enkelt som de hadde sett for seg, spesielt hvis tidsplanene er stramme og budsjettet er begrenset. Fra å velge et pålitelig, sikkert og godt støttet utviklingsmiljø, til å velge kompatibel programvare og maskinvare, viser det seg at det å utvikle og bygge en IoT-enhet fortsatt krever et bredt spekter av ferdigheter.

Det utviklere i økende grad trenger er lett tilgang til sikre løsninger, skytilkoblede biblioteker, en RTOS og en kompatibel utviklingsplattform for maskinvare og programvare som tilbyr lett integrerte sensorer, alt i én enkelt skalerbar pakke.

Denne artikkelen tar for seg hvordan IoT-utviklere kan gjøre hurtig prototyping av produktene sine ved hjelp av STMicroelectronics B-L4S5I-IOT01A Discovery Kit IoT Node. Den ser nærmere på mulighetene til den integrerte mikrokontrolleren, det store utvalget av sensor- og konfigurasjonsalternativer, og hvordan de kobler til Amazon Web Services (AWS) og raskt begynner å bygge prototypen og sluttproduktet.

Introduksjon til B-L4S5I-IOT01A Discovery Kit IoT Node

B-L4S5I-IOT01A Discovery-evalueringskortet er et one-stop-shop-utviklingskort som kan brukes til å gjøre prototyping av nesten alle slags integrerte IoT-enheter (figur 1). Kortet har nok prosessorkraft, sensorer og utvidelsesmuligheter til å få enhver integrasjonsutviklere til å dagdrømme om konstruksjonene de kan bygge. B-L4S5I-IOT01A-kortet er basert på STM32L4S5VIT6 Arm® Cortex®-M4-prosessoren med lavt energiforbruk, som kjører på 120 megahertz (MHz) og er støttet av 2 megabyte (Mbyte) programflash og 640 kilobyte (kbyte) SRAM. STM32L4S5VIT6 har også funksjoner som er ideelle for IoT-konstruksjoner som:

  • En flytetallsbrikke (FPU – floating-point unit)
  • En styring med 14-kanals dynamisk minnetilgang (DMA – dynamic memory access)
  • En maskinvareakselerator med AES- og HASH-kryptering
  • Avanserte grafikkfunksjoner
  • ULPMark CP energi-benchmarkscore på 233

Bilde av Texas Instruments B-L4S5I-IOT01A er basert på en Arm Cortex-M4-prosessorFigur 1: B-L4S5I-IOT01A er basert på en Arm Cortex-M4-prosessor som kjører på opptil 120 MHz med 2 Mbyte flashminne, 640 kbyte RAM, trådløs konnektivitet og flere sensorer. (Bildekilde: STMicroelectronics)

Prosessorkraft og energiyteevne alene er ikke nok til å gjøre en hurtig prototypeplattform utmerket. Discovery-evalueringskortet leveres også med trådløs konnektivitet i form av en 802.11b/g/n-kompatibel Wi-Fi-modul (ISM43362-M3G-L44) fra Inventek Systems og en Bluetooth 4.1-modul fra STMicroelectronics, samt en rekke sensorer. Disse inkluderer to MP34DT01 digitale rundtstrålende mikrofoner, en HTS221 kapasitiv digital sensor for relativ fuktighet og temperatur, og et LIS3MDL tre-akset magnetometer med høy ytelse.

Listen ovenfor er på ingen måte omfattende: Du finner en mer detaljert beskrivelse her. Deretter er det viktig å undersøke programvareverktøyene og stakkene som er tilgjengelige for å akselerere utviklingen.

Økosystemet STM32

Økosystemet rundt et hvilket som helst utviklingskort avgjør om et team er i stand til å lage en hurtig prototype eller ikke. For å gjøre prototyping av en IoT-enhet med B-L4S5I-IOT01A, trenger utviklere for eksempel tilgang til en kompilator, et integrert utviklingsmiljø (IDE – integrated development environment), driverbiblioteker, konfigurasjonsverktøy og programvare for fastvareoppdateringer. B-L4S5I-IOT01A Discovery-evalueringskortet støtter alle disse behovene.

Mange utviklere bruker Eclipse- og GNU C-kompilatoren til sitt utviklingsmiljø. STMicroelectronics leverer et gratisverktøy, STM32CubeIDE (figur 2), som gjør det mulig for utviklere å skrive og bygge programvareprosjektene sine. STM32CubeIDE gir tilgang via ulike perspektiver til et programvareutviklingsmiljø, et konfigurasjonsverktøy for mikrokontrollere og et feilsøkingsmiljø.

Bilde av STM32CubeIDE for å opprette, konfigurere og administrere integrert IoT-programvare (klikk for å forstørre)Figur 2: STM32CubeIDE gir utviklere en IDE slik at de kan opprette, konfigurere og administrere IoT-enhetens integrerte programvare. (Bildekilde: Beningo Embedded Group)

STM32CubeIDE gir ikke bare en måte å opprette, bygge og administrere programvareprosjekter på, den har også et grensesnitt til STM32CubeMx. STM32CubeMx er et konfigurasjonsverktøy for mikrokontrollere som gjør det mulig for utviklere å konfigurere klokketrær (en type distribuert klokkesystem), periferiutstyr, sensorer og mellomvare. Utviklere konfigurerer innstillingene sine, og deretter genererer verktøykjeden driverne og konfigurasjonsfilene, noe som dramatisk reduserer utviklingstiden og bidrar til at utvikleren kan fokusere på applikasjonskoden sin og ikke standard infrastrukturkode.

I tillegg til å konfigurere og distribuere en kodebase, kommer STM32-økosystemet med flere nyttige verktøy for utviklere som jobber med de mest banebrytende ideene. Utviklere som ønsker å utnytte maskinlæring i applikasjonene sine kan for eksempel bruke STM32Cube.AI-utvidelsen X-CUBE-AI, som gir team et effektivt rammeverk for konvertering, validering og kjøring av logiske slutninger på STM32. For eksempel kan utviklere trene en modell ved å bruke TensorFlow Lite, og deretter, på bare noen få minutter, konvertere modellen til C-kode som kjører på mikrokontrolleren. Det er også utvidelsespakker tilgjengelig med kjøreklar programvare, som omfatter følgende applikasjoner:

Alle IoT-enheter bør ta hensyn til sikkerhet, selv under den hurtige prototypingsfasen. Dagens Internett kryr av uavbrutte angrep, sikkerhetsbrudd og rovdrift av forretnings- og kundedata. Derfor bør alle plattformer for hurtig prototyping ha kapasitet til å skalere inn i et produksjonssystem på en effektiv måte. Discovery-evalueringskortet kan dra nytte av STMicroelectronics sine programvarestakker Secure Boot Secure Firmware Update (SBSFU) for å gi utviklere denne muligheten. SBSFU er tilgjengelig i X-CUBE-SBSFU-funksjonspakken, som tilbyr:

  • Root-of-trust (RoT)-tjenester
  • Sikre nøkkelstyringstjenester
  • Kryptografiske systemer
  • Sikker fastvareoppdatering (SFU)

Økosystemet rundt B-L4S5I-IOT01A Discovery-evalueringskortet er rikholdig, med mange tilgjengelige funksjonspakker og verktøy som gjør det enklere for utvikleren å komme raskt i gang. Mange IoT-utviklere er interessert i X-CUBE-AWS-pakken, som tilbyr alt som trengs for å koble til skyen når AWS benyttes. La oss se på hvordan en utvikler kan gjøre dette.

Koble til skyen

En utvikler må laste ned X-CUBE-AWS for å komme i gang med skyen. Programvarepakken leveres som en zip-fil som inneholder flere prosjekter laget for å kjøre på B-L4S5I-IOT01A, for eksempel:

  • Bootloader_KMS
  • Bootloader_STSAFE
  • Cloud (nettsky)

Disse prosjektene er å finne under:

Projects/B-L4S5I-IOT01A/Applications/

AWS-skyprosjektet ligger under:

Cloud/aws_demos

Skyprosjektet er tilgjengelig for STM32Cube IDE, Keil og IAR. Selvfølgelig kan en utvikler portere disse til andre IDE-er, men disse tre blir mye brukt av bransjen.

En utvikler trenger ikke finne ut hvordan man får prosjektet i gang på egen hånd. Det finnes flere verdifulle dokumenter som kan hjelpe dem med å komme raskt i gang. Gå først til hovedprosjektkatalogen. Der ligger det en fil som heter Release_Notes.html. I denne filen finner du generell informasjon om prosjektet samt begrensninger og verdifulle referanser.

Deretter er det en kom-i-gang-guide som beskriver hvordan AWS kan kobles til ved å bruke prosjektet. Dokumentet beskriver hvordan AWS kan kobles til, i tillegg til informasjon om stakk og programvare (figur 3). Dokumentet beskriver også programvarestakkene i detalj, noe som kan gjøre det enklere for en utvikler å forstå hvordan disse er organisert og hvilke endringer som vil være nødvendige for å koble enheten til skyen.

Skjema over STMicroelectronics X-CUBE-AWS gir fastvare- og applikasjonseksemplerFigur 3: X-CUBE-AWS tilbyr fastvare- og applikasjonseksemplene som trengs for å koble til AWS og utvikle en IoT-ting som er i stand til å koble seg til AWS. (Bildekilde: STMicroelectronics)

Den enkleste måten å koble til skyen på, er å gå gjennom Kom i gang-dokumentet og følge opplæringen. I tillegg til opplæringen, er det flere tilleggsreferansekilder som utviklere kan bruke for å holde seg oppdatert om programvarepakken, deriblant:

Med disse dokumentene kan utviklere raskt komme i gang med en skyapplikasjon, som kan brukes som grunnlaget i deres egen IoT-enhetsapplikasjon.

Tips og triks for bruk av B-L4S5I-IOT01A Discovery-evalueringskortet

B-L4S5I-IOT01A Discovery-evalueringskortet har mange funksjoner og muligheter som utviklere kan dra nytte av for å raskt lage prototyper av det integrerte produkt sitt. Nedenfor kan du se flere «tips og triks» som utviklere bør være oppmerksomme på slik at utviklingen kan forenkles og fremskyndes, for eksempel:

  • Dra full nytte av X-CUBE-AWS for å enkelt koble til AWS. Programvarepakken leveres med FreeRTOS, som allerede er portert til utviklingskortet. Utviklere trenger bare å ha enheten tilgjengelig for å koble til skyen.
  • Les nøye gjennom dokumentasjonen for å komme i gang. Dokumentasjonen inneholder trinnene som trengs for å utføre en fastvareoppdatering og koble til AWS.
  • Eksperimenter med eksempelet for OTA-oppdateringsfunksjonene (OTA – over-the-air). Behovet for å korrigere og oppdatere IoT-enheter ute i felten, er kritisk. Utviklere bør være oppmerksomme på mulighetene og eventuelle begrensninger relatert til sikre fastvareoppdateringer.
  • Unngå å starte fra bunnen av ved å dra nytte av STMicroelectronics sine funksjonspakker, som gir utviklere starthjelp når det kommer til muligheter og enhetsfunksjonalitet. Disse funksjonspakkene kan dramatisk akselerere utviklingen.
  • Bruk tid på å lese gjennom STSAFE-dokumentasjonen og forstå hvordan sikre elementer (secure elements) kan forbedre sikkerheten til enheter. Sikkerhet må integreres i en enhet fra starten av, derfor er det et must å gjøre dette under prototypingsfasen.

Utviklere som følger disse «tipsene og triksene» vil oppdage at de kan spare ganske mye tid og stress når de utfører prototyping på applikasjonen sin.

Konklusjon

Det å utvikle en IoT-tilkoblet enhet fra bunnen av har fortsatt mange hindringer og fallgruver som kan forsinke tidsplaner og føre til kostnadsoverskridelser. For å unngå disse problemene kan utviklere bruke B-L4S5I-IOT01A Discovery-evalueringskortet til å raskt lage prototyper av de tilkoblede applikasjonene sine. STMicroelectronics sine programvarestakker, ekspansjonspakker og økosystem gir utviklere en one-stop-shop for å gi enkel integrering av programvare og akselerere implementering. B-L4S5I-IOT01A er også godt egnet til å håndtere moderne enhetsbehov, for eksempel skykonnektivitet, sikker oppstart av fastvare med OTA og til og med kjøre grunnleggende maskinlæringsapplikasjoner.

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 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.

Om denne utgiveren

DigiKeys nordamerikanske redaktører