Základním kamenem u stavby IoT zařízení je volba hardwarové a softwarové platformy, která obsahuje příslušnou konektivitu ke cloudovým službám a také široké portfolio senzorů. Ideální volbou je IoT Node Discovery Kit B-L4S5I-IOT01A od STMicroelectronics, který obsahuje výkonný mikrokontroler, nepřeberné množství senzorů a konektivitu k Amazon Web Services (AWS).
Discovery IoT node B-L4S5I-IOT01A kit
Kit B-L4S5I-IOT01A Discovery je univerzální vývojová deska, kterou lze použít k vytvoření prototypu téměř jakéhokoli zařízení IoT (obrázek 1). Deska má dostatečný výpočetní výkon a obsahuje senzory a konektory pro rozšíření. B-L4S5I-IOT01A je založena na mikrokontroleru STM32L4S5VIT6 s nízkou spotřebou a jádrem ARM Cortex-M4 běžící na 120 MHz. K dispozici je 2 MB Flash paměť a 640 kByte SRAM paměť. STM32L4S5VIT6 disponuje funkcemi, které se ideálně hodí pro aplikace IoT:
- Jednotka s plovoucí desetinnou čárkou (FPU)
- 14kanálový řadič DMA
- Hardwarový akcelerátor šifrování AES a HASH
- Pokročilé grafické funkce
- 233 ULPMark CP skóre
Obrázek 1: B-L4S5I-IOT01A je založena na mikrokontroleru Arm Cortex-M4 běžící na frekvenci 120 MHz s 2 MB flash paměti, 640 kB RAM, bezdrátovým připojením a mnoha senzory. (Zdroj obrázku: STMicroelectronics)
Deska Discovery IoT node B-L4S5I-IOT01A je dodávána s bezdrátovou konektivitou ve formě modulu Wi-Fi 802.11b/g/n (ISM43362-M3G-L44) od Inventek Systems a modulu Bluetooth 4.1 od STMicroelectronics a s řadou senzorů. Mezi senzory patří dva všesměrové digitální mikrofony MP34DT01, jeden kapacitní digitální snímač relativní vlhkosti a teploty HTS221 a jeden tříosý magnetometr LIS3MDL. To není samozřejmě vše, podrobnější popis naleznete na https://www.digikey.cz/en/product-highlight/s/stmicroelectronics/b-l4s5i-iot01a-discovery-kit-for-iot-node
Ekosystém STM32
Ekosystém, do ktreré patří vývojová deska určuje, zda lze rychle vytvořit prototyp nebo ne. Pro desku B-L4S5I-IOT01A je k dispozici kompilátor, integrované vývojové prostředí (IDE), knihovny ovladačů, konfigurační nástroje a software pro aktualizaci firmware. Mnoho vývojářů používá Eclipse a kompilátor GNU C pro své vývojové prostředí. STMicroelectronics poskytuje bezplatný nástroj STM32CubeIDE (obrázek 2), který umožňuje psát a budovat softwarové projekty. STM32CubeIDE umožňuje vývoj software, konfiguraci mikrokontroleru a v neposlední řadě ladění.
Obrázek 2: STM32CubeIDE poskytuje vytváření, konfiguraci a správu embeded software. (Zdroj obrázku: Beningo Embedded Group)
STM32CubeIDE není jen vývojový nástroj, ale obsahuje konfigurační nástroj STM32CubeMx, který umožňuje konfigurovat hodiny, periferie, senzory a middleware. Po nakonfigurování příslušného nastavení toolchain software vygeneruje ovladače a konfigurační soubory, a to výrazně zkrátí dobu vývoje a vývojáři se mohou soustředit na aplikační kód.
Pro strojové učení je k dispozici rozšíření STM32Cube.AI X-CUBE-AI. Díky tomu lze „trénovat“ model pomocí TensorFlow Lite a poté jej během několika minut převést do kódu C, který běží na mikrokontroleru. K dispozici jsou i další rozšiřující balíčky:
- FP-AI-FACEREC pro aplikace rozpoznávání obličeje
- FP-AI-NANOEDG1 pro aplikace monitorování stavu
- FP-AI-VISION1 pro aplikace zpracování obrazu
- FP-AI-SENSING1 pro aplikace zpracování zvuku
Bezpečnost na prvním místě. Dnešní internetový svět je plný útoků, narušení bezpečnosti a zneužívání obchodních a zákaznických dat. Proto každá platforma musí být schopna zajistit bezpečnost celého systému. K dispozici je softwarová sada Secure Boot Secure Firmware Update (SBSFU) od STMicroelectronics, která poskytuje:
- Služby root-of-trust (RoT).
- Zabezpečené služby správy klíčů
- Kryptografická schémata
- Zabezpečené služby pro aktualizaci firmwaru
Ekosystém obklopující desku B-L4S5I-IOT01A obsahuje mnoho dostupných funkčních balíčků a nástrojů, které pomohou rychle začít stavět prototyp k obrazu svému. Jedním z nich je balíček X-CUBE-AWS, který poskytuje vše potřebné pro připojení ke cloudu AWS.
Připojení ke cloudu
První co je potřeba udělat, je stáhnutí X-CUBE-AWS. Tento softwarový balíček je dodáván jako soubor zip s několika projekty navrženými pro B-L4S5I-IOT01A:
- Bootloader_KMS
- Bootloader_STSAFE
- Cloud
Cloudový projekt je k dispozici pro STM32Cube IDE, Keil a IAR. Projekty lze samozřejmě přenést i na jiná IDE, ale tyto tři jsou nejčastěji používané. Zprovoznění projektu je jednoduché, jelikož je vše dobře zdokumentované. V hlavním adresáři projektu je soubor Release_Notes.html, který obsahuje cenné informace o projektu. Dále je k dispozici příručka Začínáme, která popisuje, jak se připojit k AWS (obrázek 3).
Obrázek 3: X-CUBE-AWS poskytuje příklady nezbytné pro připojení k AWS. (Zdroj obrázku: STMicroelectronics)
Nejjednodušší způsob, jak se připojit ke cloudu, je projít si výše zmíněný dokument a postupovat podle něj. Kromě tohoto dokumentu existuje několik dalších referenčních zdrojů:
- Další kroky FreeRTOS
- Uživatelská příručka aktualizace OTA
- Nastavení základního účtu IoT a přihlašovacích údajů
Tipy a triky pro B-L4S5I-IOT01A Discovery Board
Deska B-L4S5I-IOT01A má mnoho funkcí, které lze využít k rychlému vytvoření prototypu. Níže je několik doporučení, které ještě více urychlí vývoj prototypu:
- Využijte naplno výhody X-CUBE-AWS pro snadné připojení k AWS. Softwarový balíček je dodáván s FreeRTOS portovaným na vývojovou desku.
- Pečlivě si přečtěte úvodní dokumentaci. Dokumentace obsahuje kroky potřebné k provedení aktualizace firmware a připojení k AWS.
- Experimentujte s ukázkovými příklady pro aktualizaci OTA (over-the-air). Aktualizace zařízení v terénu je velmi výhodnou vlastností.
- Používejte balíčky STMicroelectronic, které výrazně urychlí vývoj.
- Udělejte si čas na prostudování dokumentace STSAFE a pochopte, jak mohou bezpečnostní prvky zlepšit zabezpečení zařízení. Zabezpečení musí být zabudováno do zařízení od samého začátku čili i ve fázi vývoje prototypu.
Závěr
Vývoj zařízení připojeného k internetu má stále mnoho překážek a úskalí, které mohou zdržovat plány a mohou vést k překročení nákladů. Abychom se těmto problémům vyhnuli, je vhodné použít B-L4S5I-IOT01A Discovery Board. Softwarové balíčky a ekosystém STMicroelectronics poskytují veškerý komfort pro rychlý vývoj. B-L4S5I-IOT01A umožňuje připojení ke cloudovým službám a vytvořit tak výkonné IoT zařízení, které je schopno spolehlivě provádět i aplikace strojového učení.
Článek vyšel v originále na webu DigiKey.com, autorem je Jacob Beningo.