Jak rychle prototypovat zařízení IoT pomocí uzlu IoT Discovery Kit B-L4S5I-IOT01A

By Jacob Beningo

Contributed By Digi-Key's North American Editors

S tím, jak se zařízení čím dál více připojují k internetu věcí (IoT), vývojáři začínající od nuly si uvědomují, že to stále není tak jednoduché, jak očekávali, zvláště pokud jsou plány a rozpočet omezené. Od výběru důvěryhodného, zabezpečeného a dobře podporovaného vývojového prostředí až po výběr kompatibilního softwaru a hardwaru se ukazuje, že navrhování a budování zařízení IoT stále vyžaduje širokou škálu dovedností.

To, co vývojáři potřebují čím dál více, je pohotový přístup k zabezpečeným řešením, knihovny cloudového připojení, systém RTOS a kompatibilní platformu pro vývoj hardwaru a softwaru, která poskytuje snadno integrované senzory, to vše v jednom škálovatelném balíčku.

V tomto článku se pojednává o tom, jak mohou konstruktéři IoT rychle prototypovat své produkty pomocí uzlu IoT Discovery Kit B-L4S5I-IOT01A společnosti STMicroelectronics. V článku prozkoumáme funkce integrovaného mikrokontroléru, nepřeberného množství senzorů a možností konfigurace a to, jak se připojit k Amazon Web Services (AWS) a rychle začít sestavovat vlastní prototyp a konečný produkt.

Úvod k uzlu IoT Discovery Kit B-L4S5I-IOT01A

Deska Discovery B-L4S5I-IOT01A je vývojová deska vše v jednom, kterou lze použít k prototypování téměř jakéhokoli vestavěného zařízení IoT (obrázek 1). Deska má dostatečný výpočetní výkon, senzory a rozšiřitelnost, aby si každý vývojář vestavěných zařízení mohl s absolutní svobodou vymyslet vlastní aplikace, které by mohl sestavit. Deska B-L4S5I-IOT01A je založena na procesoru Arm® Cortex®-M4 mikrokontroléru STM32L4S5VIT6 s nízkou spotřebou energie běžícím při 120 MHz a podporovaným 2 MB programové flash paměti a 640 kB paměti SRAM. Deska STM32L4S5VIT6 má také funkce, které jsou ideálně vhodné pro aplikace IoT, jako například:

  • jednotka s plovoucí desetinnou čárkou (FPU),
  • 14kanálový řadič DMA (pro přímý přístup k paměti),
  • hardwarový akcelerátor šifrování AES a HASH,
  • pokročilé grafické funkce,
  • srovnávací skóre 233 ULPMark CP týkající se energií.

Obrázek – deska B-L4S5I-IOT01A společnosti Texas Instruments je založena na procesoru Arm Cortex-M4.Obrázek 1: Deska B-L4S5I-IOT01A je založena na procesoru Arm Cortex-M4 běžícím při až 120 MHz se 2 MB flash paměti, 640 kB paměti RAM, bezdrátovým připojením a několika senzory. (Zdroj obrázku: společnost STMicroelectronics)

Procesní výkon a energetická účinnost samy o sobě vynikající platformu pro rychlé prototypování nedělají. Deska Discovery přichází také s bezdrátovým připojením ve formě modulu Wi-Fi kompatibilního se standardem 802.11b/g/n (ISM43362-M3G-L44) od společnosti Inventek Systems a modulem Bluetooth 4.1 od společnosti STMicroelectronics stejně jako s řadou senzorů. Patří mezi ně dva digitální všesměrové mikrofony MP34DT01, jeden kapacitní digitální senzor relativní vlhkosti a teploty HTS221 a jeden vysoce výkonný tříosý magnetometr LIS3MDL.

Výše uvedený seznam není v žádném případě úplný, podrobnější popis lze nalézt zde. Dále je důležité prozkoumat softwarové nástroje a sady dostupné k urychlení vývoje.

Ekosystém STM32

Ekosystém kolem jakékoli vývojové desky určuje, zda může tým vytvořit rychlý prototyp nebo ne. Například k prototypování zařízení IoT s deskou B-L4S5I-IOT01A potřebují vývojáři přístup ke kompilátoru, integrovanému vývojovému prostředí (IDE), knihovnám řadičů, konfiguračním nástrojům a softwaru pro aktualizaci firmwaru. Deska Discovery B-L4S5I-IOT01A všechny tyto potřeby podporuje.

Mnoho vývojářů používá pro své vývojové prostředí platformu Eclipse a kompilátor GNU C. Společnost STMicroelectronics poskytuje bezplatný nástroj STM32CubeIDE (obrázek 2), který vývojářům umožňuje psát a sestavovat jejich softwarové projekty. Nástroj STM32CubeIDE umožňuje přístup z různých perspektiv k vývojovému prostředí softwaru, nástroji pro konfiguraci mikrokontroléru a ladicímu prostředí.

Obrázek – IDE STM32CubeIDE k vytváření, konfiguraci a správě vestavěného softwaru IoT (kliknutím zvětšíte)Obrázek 2: Nástroj STM32CubeIDE poskytuje vývojářům IDE k vytváření, konfiguraci a správě vestavěného softwaru jejich zařízení IoT. (Zdroj obrázku: společnost Beningo Embedded Group)

Nástroj STM32CubeIDE poskytuje nejen způsob, jak vytvářet, sestavovat a spravovat softwarové projekty, ale také rozhraní pro nástroj STM32CubeMx. STM32CubeMx je nástroj pro konfiguraci mikrokontroléru, který vývojářům umožňuje konfigurovat stromové struktury hodin, periferie, senzory a middleware. Vývojáři konfigurují svá nastavení a nástrojová řada poté generuje řadiče a konfigurační soubory, což výrazně zkracuje dobu vývoje a pomáhá vývojáři soustředit se na kód aplikace a nikoli na kód standardní infrastruktury.

Kromě konfigurace a nasazení kódové základny přichází ekosystém STM32 s několika užitečnými nástroji pro vývojáře pracující na špičkové úrovni. Například vývojáři, kteří chtějí ve svých aplikacích využít strojové učení, mohou využít rozšíření X-CUBE-AI STM32Cube.AI, které týmům poskytuje efektivnější rámec pro převod, ověřování a spouštění inferencí na STM32. Vývojáři mohou například trénovat model pomocí TensorFlow Lite a poté ho během několika minut převést na kód C, který běží na mikrokontroléru. Navíc jsou k dispozici rozšiřující balíčky se softwarem připraveným ke spuštění, který obsahuje:

V každém zařízení IoT by se mělo zvažovat zabezpečení, a to i během fáze rychlého prototypování. Na webu dochází v současnosti k nepřetržitým útokům, narušením zabezpečení a ke zneužívání firemních a zákaznických údajů. Všechny platformy pro rychlé prototypování by proto měly mít možnost efektivně škálovat do produkčního systému. Deska Discovery může využít softwarové sady Secure Boot Secure Firmware Update (SBSFU) společnosti STMicroelectronics, která vývojářům tuto možnost nabízí. Sada SBSFU je k dispozici v balíčku funkcí X-CUBE-SBSFU, který poskytuje:

  • služby zabezpečení Root-of-trust (RoT),
  • služby správy zabezpečovacích klíčů,
  • kryptografická schémata,
  • zabezpečené služby aktualizace firmwaru.

Ekosystém kolem desky Discovery B-L4S5I-IOT01A je bohatý a obsahuje mnoho dostupných balíčků funkcí a nástrojů, které vývojáři pomohou rychle začít. Mnoho vývojářů IoT zajímá o balíček X-CUBE-AWS, který poskytuje vše potřebné pro připojení ke cloudu při využívání služby AWS. Podívejme se, jak by vývojář postupoval.

Připojení ke cloudu

K tomu, aby vývojář mohl s cloudem začít, si musí stáhnout balíček X-CUBE-AWS. Softwarový balíček se dodává jako soubor zip s několika projekty určenými ke spuštění na desce B-L4S5I-IOT01A, například:

  • Bootloader_KMS,
  • Bootloader_STSAFE,
  • Cloud.

Tyto projekty se nacházejí v adresáři:

Projects/B-L4S5I-IOT01A/Applications/

Cloudový projekt AWS najdete zde:

Cloud/aws_demos

Cloudový projekt je k dispozici pro IDE STM32Cube, Keil a IAR. Vývojář by je samozřejmě mohl přenést na jiná IDE, ale tyto tři se v oboru běžně používají.

Vývojář nemusí vymýšlet sám, jak projekt udělat a zprovoznit. Existuje několik cenných dokumentů, které mu mohou pomoci rychle začít. Zaprvé je v hlavním adresáři projektu soubor Release_Notes.html. Tento soubor obsahuje obecné informace o projektu spolu s omezeními a cennými referencemi.

Dále je zde příručka Začínáme, ve které je popsáno, jak se pomocí projektu připojit k AWS. Tento dokument popisuje, jak se připojit k AWS, a uvádí informace o sadě a softwaru (obrázek 3). Dokument také podrobně popisuje softwarové sady, což může vývojáři pomoci porozumět tomu, jak jsou organizovány, a změnám, které budou nutné k připojení zařízení ke cloudu.

Schéma – balíček X-CUBE-AWS společnosti STMicroelectronics poskytuje příklady firmwaru a aplikací.Obrázek 3: Balíček X-CUBE-AWS poskytuje příklady firmwaru a aplikací potřebné k připojení k AWS a vývoji věci IoT schopné připojení k AWS. (Zdroj obrázku: společnost STMicroelectronics)

Nejjednodušší způsob, jak se připojit ke cloudu, je si projít dokument Začínáme a postupovat podle pokynů. Kromě těchto pokynů existuje několik dalších referenčních zdrojů, které mohou vývojáři použít k rychlejší práci se softwarovým balíčkem, včetně:

S těmito dokumenty mohou vývojáři rychle vytvořit a zprovoznit cloudovou aplikaci, kterou lze použít jako základ pro vlastní aplikaci zařízení IoT.

Tipy a triky pro použití desky Discovery B-L4S5I-IOT01A

Deska Discovery B-L4S5I-IOT01A má mnoho funkcí a možností, které mohou vývojáři využít k rychlému prototypování svého vestavěného produktu. Níže uvádíme několik „tipů a triků“, které by vývojáři měli mít na paměti, aby byl vývoj co nejjednodušší a nejrychlejší, například:

  • Ke snadnému připojení k AWS naplno využijte balíček X-CUBE-AWS. Softwarový balíček se dodává se systémem FreeRTOS již přeneseným na vývojovou desku, vývojářům stačí pouze zřídit pro zařízení připojení ke cloudu.
  • Pečlivě si přečtěte dokumentaci Začínáme. Dokumentace obsahuje kroky nutné k provedení aktualizace firmwaru a k připojení k AWS.
  • Experimentujte s ukázkovými možnostmi aktualizace vzduchem (OTA). Nutností je možnost opravit a aktualizovat zařízení IoT v terénu. Vývojáři by si měli být vědomi možností a veškerých omezení souvisejících se zabezpečenými aktualizacemi firmwaru.
  • Vyhněte se tomu, abyste začínali od nuly, a využijte balíčky funkcí od společnosti STMicroelectronic, které vývojářům pomáhají začít s možnostmi a funkcemi zařízení. Tyto balíčky funkcí mohou vývoj dramaticky urychlit.
  • Udělejte si čas na přečtení dokumentace STSAFE, abyste pochopili, jak mohou zabezpečené prvky zlepšit zabezpečení zařízení. Zabezpečení musí být v zařízení integrováno od samého začátku, takže jeho provádění během fáze rychlého prototypování je nutností.

Vývojáři, kteří se budou těchto „tipů a triků“ držet, zjistí, že při prototypování své aplikace ušetří poměrně dost času a nervů.

Závěr

Vývoj zařízení připojeného k internetu věcí zcela od nuly má stále mnoho překážek a nástrah, které mohou zpozdit plány a vést k překročení nákladů. Aby se vývojáři těmto problémům vyhnuli, mohou k rychlému prototypování svých připojených aplikací využít desku Discovery B-L4S5I-IOT01A. Softwarové sady, rozšiřující balíčky a ekosystém společnosti STMicroelectronics poskytují vývojářům řešení vše v jednom pro snadnou integraci softwaru a urychlení implementace. Deska B-L4S5I-IOT01A také zcela plní moderní potřeby zařízení, jako je cloudové připojení, zabezpečené spouštění firmwaru pomocí OTA, a dokonce i spouštění základních aplikací strojového učení.

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 Digi-Key Electronics or official policies of Digi-Key Electronics.

About this author

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.

About this publisher

Digi-Key's North American Editors