IoT-prototyyppien nopea luonti B-L4S5I-IOT01A Discovery Kit IoT Nodella
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2021-09-22
Yhä enemmän laitteita yhdistetään esineiden internetiin (IoT) ja nollasta aloittavat kehittäjät huomaavat, että se ei tapahdu vieläkään niin suoraviivaisesti kuin he odottaisivat, varsinkin aikataulujen ollessa tiukkoja ja kustannusten rajallisia. Luotettavan, turvallisen ja hyvin tuetun kehitysympäristön valinnasta yhteensopivien ohjelmistojen ja laitteistojen valintaan asti on selvää, että IoT-laitteen suunnittelu ja luonti vaatii edelleen monenlaisia taitoja.
Kehittäjät tarvitsevat yhä enemmän valmiita turvallisia ratkaisuja, pilviyhteyskirjastoja, RTOS-käyttöjärjestelmää sekä yhteensopivaa laitteisto- ja ohjelmistokehitysalustaa, joka tarjoaa helposti integroitavia antureita – kaikki yhdessä skaalautuvassa paketissa.
Tässä artikkelissa käsitellään sitä, miten IoT-suunnittelijat voivat luoda nopeasti prototyyppejä tuotteistaan STMicroelectronics B-L4S5I-IOT01A Discovery Kit IoT Noden avulla. Siinä tarkastellaan kortilla oleva mikrokontrollerin ominaisuuksia, antureiden ja konfigurointivaihtoehtojen paljoutta sekä sitä, miten kortti voidaan yhdistää Amazon Web Services (AWS) -palveluun ja aloittaa prototyypin ja lopputuotteen nopea luonti.
B-L4S5I-IOT01A Discovery Kit IoT Noden esittely
B-L4S5I-IOT01A Discovery on yleiskäyttöinen kehitysalusta, jota voidaan käyttää lähes minkä tahansa sulautetun IoT-prototyypin luomiseen (kuva 1). Kortilla on niin paljon prosessointitehoa, antureita ja laajennettavuutta, että kuka tahansa sulautettujen järjestelmien kehittäjä alkaakin unelmoida sovelluksista, joita hän voisi rakentaa. B-L4S5I-IOT01A-kortti perustuu 120 megahertsin (MHz) nopeudella toimivaan, vähävirtaiseen STM32L4S5VIT6 Arm® Cortex®-M4 -prosessoriin ja se sisältää 2 megatavua flash-ohjelmamuistia ja 640 kilotavua SRAM-muistia. STM32L4S5VIT6 sisältää myös IoT-sovelluksiin ihanteellisesti soveltuvia ominaisuuksia, kuten:
- liukulukuyksikkö (FPU)
 - 14-kanavainen DMA-ohjain (Dynamic Memory Access)
 - laitteistokiihdytin AES- ja HASH-salausta varten
 - kehittyneet grafiikkaominaisuudet
 - 233 ULPMark CP Energy Benchmark -tulos.
 
Kuva 1: B-L4S5I-IOT01A perustuu Arm Cortex-M4 -prosessoriin, joka toimii jopa 120 MHz:n taajuudella. Se tarjoaa 2 megatavua flash-muistia, 640 kilotavua RAM-muistia, langattoman yhteyden ja useita antureita. (Kuvan lähde: STMicroelectronics)
Pelkkä prosessointiteho ja energiatehokkuus eivät yksinään riitä erinomaisen ja nopean prototyyppialustan luontiin. Discovery Board tarjoaa myös langattomat yhteydet 802.11b/g/n-yhteensopivan Inventek Systems (ISM43362-M3G-L44) Wi-Fi-moduulin ja STMicroelectronicsin Bluetooth 4.1 -moduulin avulla sekä erilaisia antureita. Näihin kuuluvat kaksi digitaalista suuntauksetonta mikrofonia MP34DT01, yksi kapasitiivinen digitaalinen anturi HTS221 suhteellista kosteutta ja lämpötilaa varten sekä yksi huipputehokas kolmiakselinen magnetometri LIS3MDL.
Yllä oleva luettelo ei ole millään tavalla kattava: yksityiskohtaisempi kuvaus löytyy täältä. Seuraavaksi on tärkeää tutustua siihen mitä ohjelmistotyökaluja ja -pinoja on saatavana kehitystyön nopeuttamiseksi.
STM32-ekosysteemi
Kehitysalustaan liittyvä ekosysteemi määrittää, voiko tiimi luoda prototyypin nopeasti vai ei. Esimerkiksi IoT-prototyypin luomiseksi B-L4S5I-IOT01A-kortilla kehittäjät tarvitsevat käyttöönsä kääntäjän, integroidun kehitysympäristön (IDE), ohjainkirjastoja, konfigurointityökaluja ja ohjelmistoja laiteohjelmistopäivityksiä varten. B-L4S5I-IOT01A Discovery -kortti tarjoaa kaiken tämän.
Monet kehittäjät käyttävät kehitysympäristönä Eclipseä ja GNU C -kääntäjää. STMicroelectronics tarjoaa ilmaisen työkalun, STM32CubeIDE (kuva 2), jonka avulla kehittäjät voivat kirjoittaa ja rakentaa ohjelmistoprojektejaan. STM32CubeIDE tarjoaa eri näkymien kautta käyttöön ohjelmistokehitysympäristön, mikrokontrollerin konfigurointityökalun ja debuggausympäristön.
Kuva 2: STM32CubeIDE tarjoaa kehittäjille IDE-ympäristön IoT-laitteen sulautetun ohjelmiston luontia, konfigurointia ja hallintaa varten. (Kuvan lähde: Beningo Embedded Group)
STM32CubeIDE ei tarjoa ainoastaan tapaa luoda, rakentaa ja hallita ohjelmistoprojekteja, vaan se sisältää myös käyttöliittymän STM32CubeMx-työkaluun. STM32CubeMx on mikrokontrollerin konfigurointityökalu, jonka avulla kehittäjät voivat konfiguroida kellopuita, oheislaitteita, antureita ja väliohjelmistoja. Kehittäjät konfiguroivat asetukset, minkä jälkeen työkaluketju luo ohjaimet ja konfigurointitiedostot, mikä lyhentää merkittävästi kehitysaikaa ja auttaa kehittäjää keskittymään sovelluskoodiinsa normaalin infrastruktuurikoodin sijasta.
Koodiperustan konfiguroinnin ja käyttöönoton lisäksi STM32-ekosysteemi sisältää useita hyödyllisiä työkaluja huipputason kehittäjille. Kehittäjät, jotka haluavat hyödyntää sovelluksissaan koneoppimista, voivat hyödyntää esimerkiksi STM32Cube.AI-laajennusta X-CUBE-AI, joka tarjoaa tiimeille optimoidun alustan päättelyketjujen muuntamiseen, validointiin ja suorittamiseen STM32-prosessorilla. Kehittäjät voivat esimerkiksi kouluttaa mallin TensorFlow Lite -ohjelmalla ja muuntaa sen muutamassa minuutissa mikrokontrollerissa toimivaksi C-koodiksi. Lisäksi saatavana on valmiilla ohjelmistoilla varustettuja laajennuspaketteja, muun muassa:
- FP-AI-FACEREC kasvojentunnistussovelluksia varten
 - FP-AI-NANOEDG1 kunnonvalvontasovelluksiin
 - FP-AI-VISION1 kuvien luokittelusovelluksia varten
 - FP-AI-SENSING1 ääni- ja maisemaluokittelusovelluksiin.
 
Jokaisessa IoT-laitteessa on otettava huomioon tietoturva jo prototyyppien nopean luontivaiheen aikana. Nykypäivän verkko vilisee jatkuvia hyökkäyksiä, tietoturvaloukkauksia ja liiketoiminta- ja asiakastietojen hyväksikäyttöä. Siksi minkä tahansa prototyyppien nopean luontialustan pitäisi olla tehokkaasti skaalattavissa tuotantojärjestelmäksi. Discovery Board voi hyödyntää STMicroelectronicsin Secure Boot Secure Firmware Update (SBSFU) -ohjelmistopinoja tarjotakseen kehittäjille tämän valmiuden. SBSFU on saatavana X-CUBE-SBSFU-toimintopaketissa, joka sisältää:
- Root-of-trust (RoT) -palvelut
 - turvalliset avaintenhallintapalvelut
 - salausjärjestelmät
 - suojatut laiteohjelmistojen päivityspalvelut.
 
B-L4S5I-IOT01A Discovery Board -alustaa ympäröivä ekosysteemi on monipuolinen ja sisältää monia toimintopaketteja ja työkaluja, joiden avulla kehittäjä pääsee nopeasti alkuun. Monet IoT-kehittäjät ovat kiinnostuneita X-CUBE-AWS-paketista, joka tarjoaa kaiken tarvittavan yhteyden muodostamiseen pilveen AWS-palveluita käytettäessä. Tarkastellaanpa, miten kehittäjä toimisi.
Yhteyden muodostaminen pilveen
Aloittaakseen pilvipalvelun käytön kehittäjän on ladattava X-CUBE-AWS. Ohjelmistopaketti toimitetaan zip-tiedostona, joka sisältää useita B-L4S5I-IOT01A-alustalla suoritettavaksi suunniteltuja projekteja, kuten:
- Bootloader_KMS
 - Bootloader_STSAFE
 - Cloud.
 
Nämä projektit sijaitsevat kansiossa:
Projects/B-L4S5I-IOT01A/Applications/
AWS-pilviprojekti löytyy kansiosta:
Cloud/aws_demos
Pilviprojekti on saatavilla STM32Cube IDE-, Keil- ja IAR-ympäristöihin. Kehittäjä voi luonnollisestikin portata nämä myös muihin IDE-ympäristöihin, mutta nämä kolme ovat alalla yleisesti käytössä.
Kehittäjän ei tarvitse itse selvittää miten saada projekti ajoon kortilla. On paljon hyödyllisiä dokumentteja, jotka auttavat kehittäjiä pääsemään nopeasti alkuun. Sellainen on ensinnäkin projektin päähakemistosta löytyvä Release_Notes.html-tiedosto. Tämä tiedosto sisältää yleistä tietoa projektista ja sen rajoituksista sekä hyödyllisiä lisätietoja.
Lisäksi aloitusopaskuvaa miten projektissa muodostetaan yhteys AWS-palveluihin. Tässä dokumentissa kuvataan miten muodostaa yhteys AWS-palveluihin. Se sisältää myös tiedot pinosta ja ohjelmistoista (kuva 3). Dokumentissa kuvataan myös ohjelmistopinoja yksityiskohtaisesti. Tämä auttaa kehittäjää ymmärtämään, miten se on järjestetty ja mitä muutoksia tarvitaan laitteen yhdistämiseksi pilveen.
Kuva 3: X-CUBE-AWS tarjoaa laiteohjelmiston ja sovellusesimerkkejä, jotka tarvitaan yhteyden muodostamiseen AWS-palveluihin sekä sellaisen IoT Thingin kehittämiseen, joka voidaan yhdistää AWS-palveluihin. (Kuvan lähde: STMicroelectronics)
Helpoin tapa muodostaa yhteys pilveen on käydä läpi aloitusopas ja seurata tutoriaalia. Tutoriaalin lisäksi on useita muita referenssilähteitä, joiden avulla kehittäjät voivat perehtyä ohjelmistopakettiin, esimerkiksi:
Näiden dokumenttien avulla kehittäjät voivat luoda nopeasti pilvisovelluksen, jota voidaan käyttää heidän oman IoT-laitesovelluksensa perustana.
Vinkkejä ja niksejä B-L4S5I-IOT01A Discovery Boardin käyttöön
B-L4S5I-IOT01A Discovery Board -kortti tarjoaa paljon ominaisuuksia, joita kehittäjät voivat hyödyntää sulautetun tuotteen prototyyppien luomiseksi nopeasti. Alla on useita ”vinkkejä ja niksejä”, jotka kehittäjien on hyvä pitää mielessä ja jotka voivat yksinkertaistaa ja nopeuttaa kehitystä, kuten:
- Hyödynnä X-CUBE-AWS-pakettia täysin määrin helpottamaan yhteyden muodostamista AWS-palveluihin. Ohjelmistopakettiin sisältyy FreeRTOS, joka on jo portattu kehitysalustalle. Kehittäjien tarvitsee vain valmistella laite pilvipalveluun yhdistämistä varten.
 - Lue huolellisesti läpi aloitusoppaan dokumentaatio. Dokumentaatio sisältää vaiheet, jotka tarvitaan laiteohjelmiston päivitykseen ja yhteyden muodostamiseen AWS-palveluihin.
 - Kokeile esimerkin avulla OTA (over-the-air) -päivitysominaisuuksia. On kriittisen tärkeää pystyä korjaamaan ja päivittämään IoT-laitteita kentällä. Kehittäjien tulisi tuntea turvallisten laiteohjelmistopäivitysten mahdollisuudet ja rajoitukset.
 - Vältä nollasta aloittaminen hyödyntämällä STMicroelectronicsin toimintopaketteja, jotka tarjoavat kehittäjille aloitusapua ominaisuuksien ja laitteen toimintojen kanssa. Nämä toimintopaketit voivat nopeuttaa kehitystä merkittävästi.
 - Varaa aikaa STSAFE-dokumentaation lukemiseen ja sen ymmärtämiseen, miten suojatuilla elementeillä voidaan parantaa laitteen turvallisuutta. Turvallisuus on integroitava laitteeseen alusta alkaen, joten se on tehtävä nopean prototyyppivaiheen aikana.
 
Kehittäjät, jotka noudattavat näitä ”vinkkejä ja niksejä”, huomaavat säästävänsä melkoisesti aikaa ja vaivaa sovelluksen prototyyppien suunnittelussa.
Yhteenveto
Yhdistettävän IoT-laitteen kehittämisessä nollasta on edelleen monia esteitä ja sudenkuoppia, jotka voivat viivästyttää aikatauluja ja aiheuttaa kustannusten ylittymisen. Kehittäjät voivat välttää nämä ongelmat käyttämällä B-L4S5I-IOT01A Discovery Board -kehitysalustaa verkotetun sovelluksen prototyypin nopeaan luontiin. STMicroelectronicsin ohjelmistopinot, laajennuspaketit ja ekosysteemi tarjoavat kehittäjille yleiskäyttöisen ratkaisun, joka helpottaa ohjelmistojen integrointia ja nopeuttaa toteutusta. B-L4S5I-IOT01A pystyy myös vastaamaan täysin nykyaikaisten laitteiden tarpeisiin, esimerkkinä pilviyhteydet, laiteohjelmiston turvallinen käynnistys OTA-päivityksessä ja jopa koneoppimisen perussovellusten suorittaminen.
            
        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.




