IoT-eszközök prototípusainak gyors elkészítése a B-L4S5I-IOT01A Discovery Kit IoT Node segítségével
Contributed By DigiKey's North American Editors
2021-09-22
Ahogyan az eszközök egyre inkább kapcsolódnak a dolgok internetéhez (IoT), az ilyen termékeket létrehozni kívánó, de a semmiből induló fejlesztők számára gyorsan nyilvánvalóvá válik, hogy ennek megvalósítása még mindig nem olyan egyszerű, mint ahogyan azt várnák, különösen szoros ütemtervek és korlátozott költségvetések mellett. Egy megbízható, biztonságos és jól támogatott fejlesztési környezet megválasztásától kezdve a kompatibilis szoftverek és hardverek kiválasztásáig kiderül, hogy egy IoT-eszköz tervezése és megépítése még mindig sokféle tudást igényel.
A fejlesztőknek egyre inkább biztonságos megoldásokra, felhőcsatlakozási könyvtárakra, egy RTOS-re van szükségük, valamint egyszerű hozzáférésre egy kompatibilis hardver- és szoftverfejlesztési platformhoz, amely könnyen integrálható érzékelőket biztosít, mindezt egyetlen skálázható csomagban.
Ez a cikk azt tárgyalja, hogy az IoT-eszközök tervezői hogyan készíthetik el termékeik prototípusait az STMicroelectronics B-L4S5I-IOT01A Discovery Kit IoT Node nevű demonstrációs eszközének segítségével. Megvizsgálja az áramköri kártyára integrált mikrovezérlő képességeit, az érzékelők és konfigurációs lehetőségek sokaságát, valamint azt, hogyan csatlakozhatnak az Amazon Web Services (AWS) szolgáltatáshoz, és hogyan foghatnak hozzá prototípusuk és végtermékük gyors megépítéséhez.
A B-L4S5I-IOT01A Discovery Kit IoT Node bemutatása
A B-L4S5I-IOT01A Discovery egy olyan minden az egyben fejlesztői kártya, amely szinte bármilyen beágyazott IoT-eszköz prototípusának elkészítésére felhasználható (1. ábra). A kártya elegendő feldolgozási teljesítménnyel rendelkezik, illetve elegendő számú érzékelőt és bővítési lehetőséget tartalmaz ahhoz, hogy bármelyik beágyazott rendszer fejlesztőjének beinduljon a fantáziája a lehetséges alkalmazásokról. A B-L4S5I-IOT01A kártya az STM32L4S5VIT6 alacsony fogyasztású Arm® Cortex®-M4 processzoron alapul, amely 120 MHz sebességgel működik, valamint 2 MByte programozási flash és 640 Kbyte SRAM memóriával rendelkezik. Az STM32L4S5VIT6-nak ezeken kívül olyan funkciói is vannak, amelyek ideálisak az IoT-alkalmazásokhoz, például:
- egy lebegőpontos egység (FPU);
- egy 14 csatornás DMA (dynamic memory access) vezérlő;
- egy AES és HASH titkosítási hardveres gyorsító
- korszerű grafikai funkciók;
- 233-as pontszám az energiahatékonyságot mérő ULPMark CP benchmark teszt alapján.
1. ábra: A B-L4S5I-IOT01A egy 120 MHz-en futó Arm Cortex-M4 processzorra épül, 2 Mbájt flashmemóriával, 640 Kbájt RAM-mal, vezeték nélküli csatlakozási lehetőségekkel és több érzékelővel rendelkezik. (Kép: STMicroelectronics)
Önmagában egy jó feldolgozási teljesítménytől és energiahatékonyságtól még nem válik valami egy gyors prototípusfejlesztésre alkalmas kiváló platformmá. Ez a fejlesztői kártya azonban vezeték nélküli csatlakozási lehetőségekkel is rendelkezik az Inventek Systems 802.11b/g/n szabványnak megfelelő Wi-Fi modulja (ISM43362-M3G-L44) és az STMicroelectronics Bluetooth 4.1 modulja, valamint számos érzékelő formájában. Ezen utóbbiak közé tartozik két digitális mindenirányú mikrofon (MP34DT01), egy kapacitív digitális érzékelő (HTS221) a relatív páratartalom és hőmérséklet mérésére, valamint egy nagy teljesítményű háromtengelyes mágnestér-érzékelő (LIS3MDL).
A fenti lista korántsem teljes: részletesebb leírás itt található. Ezután fontos megvizsgálni a fejlesztés felgyorsítására rendelkezésre álló szoftvereszközöket és megoldáscsomagokat.
Az STM32 fejlesztői környezete
Minden esetben egy-egy adott fejlesztői kártya ökoszisztémája határozza meg azt, hogy egy csapat számára adott-e a lehetőség a prototípusok gyors létrehozására vagy sem. Például ahhoz, hogy a fejlesztők elkészíthessék egy IoT-eszköz prototípusát a B-L4S5I-IOT01A segítségével, hozzáférésre van szükségük egy fordítóprogramhoz, egy integrált fejlesztőkörnyezethez (IDE), illesztőprogram-könyvtárakhoz, konfigurációs eszközökhöz és a firmware-frissítésekhez szükséges szoftverhez. A B-L4S5I-IOT01A Discovery kártya esetében mindezen igények támogatottak.
Sok fejlesztő az Eclipse-t és a GNU C fordítót használja fejlesztőkörnyezetként. Az STMicroelectronics egy ingyenes eszközt biztosít erre, az STM32CubeIDE-t (2. ábra), amely lehetővé teszi a fejlesztők számára, hogy szoftverprojektjeiket megírják és elkészítsék. Az STM32CubeIDE különböző módszerekkel hozzáférést biztosít egy szoftverfejlesztési környezethez, egy mikrokontroller-konfiguráló eszközhöz és egy hibakeresési környezethez.
2. ábra: Az STM32CubeIDE egy integrált fejlesztői környezetet biztosít a fejlesztők számára az IoT-eszközök beágyazott szoftvereinek létrehozására, konfigurálására és kezelésére. (Kép: Beningo Embedded Group)
Az STM32CubeIDE nemcsak a szoftverprojektek létrehozására, építésére és kezelésére nyújt lehetőséget, hanem kapcsolódási felülettel is rendelkezik az STM32CubeMx felé. Az STM32CubeMx egy mikrokontroller-konfiguráló eszköz, amely lehetővé teszi a fejlesztők számára az órajel elosztó hálózatok, a perifériák, az érzékelők és a middleware konfigurálását. Miután a fejlesztők megadják a beállításokat, az eszközlánc létrehozza az illesztőprogramokat és a konfigurációs fájlokat, jelentősen lecsökkentve ezzel a fejlesztési időt, és segít abban, hogy a fejlesztők a saját alkalmazásuk programkódjára, ne pedig a szabványos infrastruktúra programkódjára koncentrálhassanak.
Egy kódbázis konfigurálásán és telepítésén túl az STM32 fejlesztői környezete számos hasznos eszközt kínál az élvonalbeli fejlesztők számára. Például azok a fejlesztők, aki hasznosítani kívánják a gépi tanulást alkalmazásaikban, használhatják az STM32Cube.AI X-CUBE-AI bővítményt, amely a csapatok számára egyszerűsített keretet biztosít a következtetések átalakításához, érvényesítéséhez és futtatásához az STM32-n. A fejlesztők például a TensorFlow Lite segítségével betaníthatnak egy modellt, majd a modellt néhány perc alatt átkonvertálhatják a mikrokontrolleren futtatható C kóddá. Ezen kívül vannak futtatásra kész szoftvereket tartalmazó bővítménycsomagok, amelyek a következőket tartalmazzák:
- FP-AI-FACEREC arcfelismerő alkalmazásokhoz;
- FP-AI-NANOEDG1 állapotfelügyeleti alkalmazásokhoz;
- FP-AI-VISION1 képosztályozási alkalmazásokhoz;
- FP-AI-SENSING1 hang- és helyszínosztályozási alkalmazásokhoz.
Minden IoT-eszköz esetén figyelembe kell venni a biztonságot, még a gyors prototípus-készítési fázisban is. Napjainkban a világháló hemzseg a megállás nélküli támadásoktól, valamint a biztonsági rések és az üzleti és ügyféladatok kihasználásától. Ezért minden gyors prototípusgyártó platformnak képesnek kell lennie arra, hogy hatékonyan beágyazódható legyen a termelési rendszerekbe. A demókártya az STMicroelectronics Secure Boot Secure Firmware Update (SBSFU) szoftvercsomagjával tudja biztosítani a fejlesztők számára ezt a képességet. Az SBSFU az X-CUBE-SBSFU funkciócsomagban érhető el, amely a következőket tartalmazza:
- Root of Trust (RoT) szolgáltatások;
- biztonságos kulcskezelési szolgáltatások;
- kriptográfiai rendszerek;
- biztonságos firmware-frissítési szolgáltatások.
A B-L4S5I-IOT01A demókártyát támogató fejlesztői környezet gazdag, és számos olyan elérhető funkciócsomagot és eszközt tartalmaz, amelyek segítik a fejlesztők gyors elindulását. Sok IoT-fejlesztő számára érdekes az X-CUBE-AWS csomag, amely az AWS használata esetén mindent biztosít, ami a felhőhöz való csatlakozáshoz kell. Vizsgáljuk meg, hogy mit kell tennie a fejlesztőknek mindehhez.
Csatlakozás a felhőhöz
A felhő használatának megkezdéséhez a fejlesztőnek le kell töltenie az X-CUBE-AWS-t. A szoftvercsomag egy zip fájlban érkezik, amely számos, a B-L4S5I-IOT01A-n futtatható projektet tartalmaz, mint például:
- Bootloader_KMS
- Bootloader_STSAFE
- Cloud
Ezek a projektek a következő útvonalon találhatók:
Projects/B-L4S5I-IOT01A/Applications/
MÍg az AWS felhőprojekt a következő helyen található:
Cloud/aws_demos
A felhőprojekt az STM32Cube IDE, a Keil és az IAR környezetekkel használható. Természetesen a fejlesztő ezeket más IDE-kre is átültetheti, de az iparágon belül ezt a hármat használják a leggyakrabban.
A fejlesztőnek nem kell önállóan kitalálnia, hogyan hozza működésbe a projektet. Számos hasznos dokumentum segíthet neki a gyors elindulásban. Először is, a fő projektkönyvtárban van egy Release_Notes.html fájl. Ez a fájl általános információkat tartalmaz a projektről, a korlátozásokkal és a hasznos hivatkozásokkal együtt.
Ezen kívül van egy bevezető útmutató, amely leírja, hogyan lehet a projekt segítségével csatlakozni az AWS-hez. Ez a dokumentum az AWS-hez való csatlakozás módját, valamint a szoftvercsomagokra és a szoftverre vonatkozó információkat ismerteti (3. ábra). A dokumentum részletesen leírja a szoftvercsomagokat is, ami segíthet a fejlesztőnek megérteni azok rendszerét, és milyen változtatásokra lesz szükség, hogy az eszköz csatlakozni tudjon a felhőhöz.
3. ábra: Az X-CUBE-AWS csomagban megtalálhatók az AWS-hez való csatlakozáshoz, valamint az ehhez a webszolgáltatáshoz csatlakozni képes IoT-eszközök kifejlesztéséhez szükséges firmware-k és alkalmazási példák. (Kép: STMicroelectronics)
A felhőhöz való csatlakozáshoz a legegyszerűbb gyorsan átolvasni a bevezető útmutatót, és követni az útmutatásokat. Az oktatóanyagon kívül számos további referenciaforrás is a fejlesztők rendelkezésére áll, amelyek segítenek a szoftvercsomaggal való ismerkedéssel, többek között:
- FreeRTOS Next Steps (FreeRTOS haladóknak)
- OTA Update Users Guide (Felhasználói útmutató OTA frissítésekhez)
- Setting Up IoT Core Account and Credentials (IoT Core fiók létrehozása és hitelesítő adatok beállítása)
Ezen dokumentumok segítségével a fejlesztők gyorsan beindíthatnak egy olyan felhőalkalmazást, amely alapját képezheti a saját IoT-eszközalkalmazásuknak.
Tippek és trükkök a B-L4S5I-IOT01A demókártya használatához
A B-L4S5I-IOT01A demonstrációs kártya számos olyan funkcióval és képességgel rendelkezik, amelyeket a fejlesztők kihasználhatnak egy beágyazott termék gyors prototípusának elkészítéséhez. Az alábbiakban néhány olyan „tippet és trükköt” sorolunk fel, amelyeket érdemes szem előtt tartaniuk a fejlesztőknek, ha szeretnék leegyszerűsíteni és felgyorsítani a fejlesztést:
- Az AWS-hez való egyszerű csatlakozáshoz érdemes kihasználni teljes mértékben az X-CUBE-AWS által nyújtott előnyöket. A szoftvercsomag már a fejlesztői kártyára ültetve tartalmazza a FreeRTOS-t. A fejlesztőknek csak az eszközt kell a felhőhöz való csatlakozáshoz biztosítaniuk.
- Érdemes elolvasni figyelmesen a bevezető dokumentációt, amely tartalmazza a firmware-frissítés elvégzéséhez és az AWS-hez való csatlakozáshoz szükséges lépéseket.
- Hasznos kísérletezni a példaként megadott OTA (over-the-air) frissítés lehetőségeivel. A terepen lévő IoT-eszközök javítása és időnkénti frissítése kritikus fontosságú, ezért a fejlesztőknek tisztában kell lenniük a biztonságos firmware-frissítések képességeivel és esetleges korlátaival.
- Az STMicroelectronic funkciócsomagjainak kihasználásával a nulláról való indulás elkerülhető, mivel ezek segítségével a fejlesztők már a kezdetektől fogva megismerhetik a képességeket és az eszköz funkcionalitását. Ezek a funkciócsomagok rendkívüli mértékben felgyorsíthatják a fejlesztést.
- Fontos időt szánni az STSAFE dokumentáció átolvasására, és annak megértésére, hogyan javíthatják a biztonsági elemek az eszköz biztonságát. A biztonságot a kezdetektől fogva be kell építeni egy eszközbe, ezért azt már a gyors prototípuskészítési fázisban mindenképpen meg kell valósítani.
Ezen „tippeket és trükköket” megfogadó fejlesztők sok időt meg fognak takarítani, és sokkal kevesebb keserűségben lesz részük prototípusaik kifejlesztésekor.
Összegzés
Egy IoT-kompatibilis eszköz nulláról történő kifejlesztése még mindig számos akadályt és buktatót rejt magában, amelyek késleltethetik az ütemterveket és a költségvetési keretek túllépéséhez vezethetnek. E problémák elkerülése érdekében a fejlesztők a B-L4S5I-IOT01A demonstrációs kártya segítségével gyorsan elkészíthetik felhőcsatlakozásra képes alkalmazásaik prototípusait. Az STMicroelectronics szoftvercsomagjai, bővítőcsomagjai és fejlesztői környezete minden az egyben megoldást kínálnak a fejlesztőknek a szoftverek egyszerű integrálásához és a megvalósítás felgyorsításához. A B-L4S5I-IOT01A teljes mértékben alkalmas az eszközökkel szemben támasztott olyan modern igények kielégítésére is, mint a felhőcsatlakozás, a távolról végezhető (over-the air, OTA) biztonságos firmware-indítás, sőt még az alapvető gépi tanulási alkalmazások futtatása is.
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.




