UM2201
Uživatelská příručka
NUCLEO-F401RE MotionGR Knihovna rozpoznávání gest v reálném čase
Začínáme s knihovnou MotionGR pro rozpoznávání gest v reálném čase v rozšíření X-CUBEMEMS1 pro STM32Cube
Zavedení
MotionGR je součástí knihovny middlewaru X-CUBE-MEMS1 software a běží na STM32. Poskytuje informace v reálném čase
o gestu, které uživatel právě provedl se zařízením, například mobilním telefonem.
Dokáže rozlišit následující gesta: zvednout, pohled, probuzení.
Tato knihovna je určena pouze pro práci s ST MEMS.
Algoritmus je poskytován ve formátu statické knihovny a je navržen pro použití na mikrokontrolérech STM32 založených na architektuře ARM® Cortex® -M3, ARM® Cortex® -M33, ARM® Cortex® -M4 nebo ARM® Cortex® -M7.
Je postaven na vrcholu STM32Cube softwarová technologie, která usnadňuje přenositelnost mezi různými mikrokontroléry STM32.
Software je dodáván s sample implementace běží dál X-NUCLEO-IKS4A1 or X-NUCLEO-IKS01A3 rozšiřující deska na a NUCLEO-F401RE, NUCLEO-U575ZI-Q or NUCLEO-L152RE rozvojová rada.
Zkratky a zkratky
Tabulka 1. Seznam zkratek
Akronym | Popis |
API | Aplikační programovací rozhraní |
BSP | Balíček podpory desky |
GUI | Grafické uživatelské rozhraní |
HAL | Vrstva abstrakce hardwaru |
IDE | Integrované vývojové prostředí |
Knihovna middlewaru MotionGR v softwarovém rozšíření X-CUBE-MEMS1 pro STM32Cube
2.1 MotionGR přesview
Knihovna MotionGR rozšiřuje funkčnost X-CUBE-MEMS1 software.
Knihovna získává data z akcelerometru a poskytuje informace o gestu, které uživatel se zařízením právě provedl.
Knihovna je určena pouze pro ST MEMS. Funkčnost a výkon při použití jiných MEMS senzorů nejsou analyzovány a mohou se výrazně lišit od toho, co je popsáno v dokumentu.
Sample implementace je k dispozici pro X-NUCLEO-IKS4A1 a X-NUCLEO-IKS01A3 dilatační desky, namontované na a NUCLEO-F401RE, NUCLEO-U575ZI-Q or NUCLEO-L152RE rozvojová rada.
2.2 Knihovna MotionGR
Technické informace plně popisující funkce a parametry MotionGR API lze nalézt v MotionGR_Package.chm zkompilovaném HTML file umístěné ve složce Dokumentace.
2.2.1 Popis knihovny MotionGR
Knihovna rozpoznávání gest MotionGR spravuje data získaná z akcelerometru; má:
- možnost rozlišovat mezi těmito činnostmi: zvednutí, pohled, probuzení
- rozpoznávání pouze na základě údajů akcelerometru
- požadované údaje z akcelerometru sampfrekvence je 50 Hz
- požadavky na zdroje:
– Cortex-M3: 10.0 kB kódu a 4.4 kB datové paměti
– Cortex-M33: 10.1 kB kódu a 4.4 kB datové paměti
– Cortex-M4: 10.2 kB kódu a 4.4 kB datové paměti
– Cortex-M7: 10.3 kB kódu a 4.4 kB datové paměti - k dispozici pro architektury ARM® Cortex®-M3, ARM® Cortex® -M33, ARM® Cortex® -M4 a ARM® Cortex® -M7
2.2.2 MotionGR API
Rozhraní API knihovny MotionGR jsou:
- uint8_t MotionGR_GetLibVersion(char *verze)
– načte verzi knihovny
– *verze je ukazatel na pole 35 znaků
– vrátí počet znaků v řetězci verze - void MotionGR_Initialize(void)
– provádí inicializaci knihovny MotionGR a nastavení vnitřního mechanismu
Poznámka: Tato funkce musí být vyvolána před použitím knihovny rozpoznávání gest a musí být povolen modul CRC v mikrokontroléru STM32 (v registru povolení periferních hodin RCC).
- void MotionGR_Update(MGR_input_t *data_in, MGR_output_t *data_out)
– spustí algoritmus rozpoznávání gest
– Parametr *data_in je ukazatel na strukturu se vstupními daty
– parametry pro typ struktury MGR_input_t jsou:
◦ AccX je hodnota senzoru akcelerometru na ose X vg
◦ AccY je hodnota senzoru akcelerometru v ose Y vg
◦ AccZ je hodnota senzoru akcelerometru v ose Z vg
– Parametr *data_out je ukazatel na výčet s následujícími položkami:
◦ MGR_NOGESTURE = 0
◦ MGR_PICKUP = 1
◦ MGR_GLANCE = 2
◦ MGR_WAKEUP = 3 - void MotionGR_SetOrientation_Acc (const char *acc_orientation)
– tato funkce se používá k nastavení orientace dat akcelerometru
– konfigurace se obvykle provádí ihned po volání funkce MotionGR_Initialize
– Parametr *acc_orientation je ukazatel na řetězec tří znaků označující směr každé z kladných orientací referenčního snímku použitého pro výstup dat akcelerometru v sekvenci x, y, z. Platné hodnoty jsou: n (sever) nebo s (jih), w (západ) nebo e (východ), u (nahoru) nebo d (dolů).
– Jak je znázorněno na obrázku níže, senzor akcelerometru X-NUCLEO-IKS4A1 má SEU (x – jih, y – východ, z – nahoru), takže řetězec je: „seu“.
Obrázek 1. Přample orientace senzoru
2.2.3 Vývojový diagram API
Obrázek 2. Logická sekvence MotionGR API
2.2.4 Demo kód
Následující demonstrační kód čte data ze senzoru akcelerometru a získává kód gesta.
2.2.5 Výkonnost algoritmu
Algoritmus rozpoznávání gest využívá pouze data z akcelerometru a běží na nízké frekvenci (50 Hz), aby se snížila spotřeba energie.
Detekuje a poskytuje informace v reálném čase o následujících uživatelských gestech:
- vyzvednutí: zvedání/zvedání desky ze stolu;
- pohled: otočení desky přibližně o 30°, podobné gestu otočení telefonu, abyste se na něj podívali;
- probudit se: třesoucí se akce.
Tabulka 2. Uplynulý čas algoritmu (µs) Cortex-M4, Cortex-M3
Cortex-M4 STM32F401RE na 84 MHz | Cortex-M3 STM32L152RE na 32 MHz | ||||
Min | Prům | Max | Min | Prům | Max |
136 | 240 | 341 | 473 | 870 | 1235 |
Tabulka 3. Uplynulý čas algoritmu (µs) Cortex-M33 a Cortex-M7
Cortex-M33 STM32U575ZI-Q na 160 MHz | Cortex-M7 STM32F767ZI na 96 MHz | ||||
Min | Prům | Max | Min | Prům | Max |
87 | 140 | 191 | 459 | 504 | 808 |
2.3 Sample aplikace
Middleware MotionGR lze snadno manipulovat za účelem vytváření uživatelských aplikací; jakoampaplikace je k dispozici ve složce Aplikace.
Je navržen pro provoz na a NUCLEO-F401RE, NUCLEO-U575ZI-Q or NUCLEO-L152RE vývojová deska připojená k rozšiřující desce X-NUCLEO-IKS4A1 nebo X-NUCLEO-IKS01A3.
Aplikace rozpoznává provedená gesta v reálném čase.
Obrázek 3. STM32 Nucleo: LED diody, tlačítko, propojka
Výše uvedený obrázek ukazuje uživatelské tlačítko B1 a tři LED na desce NUCLEO-F401RE. Jakmile je deska napájena, LED LD3 (PWR) se rozsvítí.
Pro sledování dat v reálném čase je vyžadováno připojení USB kabelem. Deska je napájena z PC přes USB připojení. Tento pracovní režim umožňuje uživateli zobrazit detekované gesto, data akcelerometru, čas stamp a případně další data ze senzorů v reálném čase pomocí MEMS-Studio.
2.4 Aplikace MEMS Studio
Sample aplikace používá MEMS-Studio aplikace, kterou si můžete stáhnout www.st.com.
Krok 1. Ujistěte se, že jsou nainstalovány potřebné ovladače a STM32 Nucleo deska s příslušnou rozšiřující deskou je připojena k PC.
Krok 2. Spusťte MEMS-Studio aplikaci pro otevření hlavního okna aplikace.
Pokud je k PC připojena deska STM32 Nucleo s podporovaným firmwarem, je automaticky detekována.
Stiskněte tlačítko [Connect] pro navázání spojení s vyhodnocovací deskou.
Obrázek 4. MEMS-Studio – Connect
Krok 3. Po připojení k desce STM32 Nucleo s podporovaným firmwarem se otevře karta [Library Evaluation].
Chcete-li spustit a zastavit streamování dat, přepněte příslušné [Start] nebo [Stop]
tlačítko na vnějším svislém panelu nástrojů.
Data pocházející z připojeného senzoru mohou být viewed výběrem záložky [Tabulka dat] na vnitřní svislé nástrojové liště.
Obrázek 5. MEMS-Studio – Vyhodnocení knihovny – Tabulka dat
Krok 4. Kliknutím na [Rozpoznávání gest] otevřete okno vyhrazené aplikace.
Obrázek 6. MEMS-Studio – Vyhodnocení knihovny – Rozpoznávání gest
Krok 5. Klikněte na [Uložit do File] pro otevření okna konfigurace záznamu dat. Vyberte data senzoru a rozpoznávání gest, která chcete uložit do file. Ukládání můžete spustit nebo zastavit kliknutím na příslušné tlačítko.
Obrázek 7. MEMS-Studio – Vyhodnocení knihovny – Uložit do File
Krok 6. Režim vkládání dat lze použít k odeslání dříve získaných dat do knihovny a přijetí výsledku. Výběrem karty [Data Injection] na svislém panelu nástrojů otevřete vyhrazené view pro tuto funkci.
Obrázek 8. MEMS-Studio – Library Evaluation – Data Injection
Krok 7. Klepnutím na tlačítko [Procházet] vyberte file s dříve zachycenými daty ve formátu CSV.
Data budou načtena do tabulky v aktuálním view.
Ostatní tlačítka budou aktivní. Můžete kliknout na:
– Tlačítko [Offline Mode] pro zapnutí/vypnutí offline režimu firmwaru (režim využívající dříve zaznamenaná data).
– Tlačítka [Start]/[Stop]/[Step]/[Repeat] pro ovládání přenosu dat z MEMS-Studia do knihovny.
Reference
Všechny následující zdroje jsou volně dostupné na www.st.com.
- UM1859: Začínáme s rozšířením softwaru X-CUBE-MEMS1 motion MEMS a senzoru prostředí pro STM32Cube
- UM1724: Desky STM32 Nucleo-64 (MB1136)
- UM3233: Začínáme s MEMS-Studio
Historie revizí
Tabulka 4. Historie revizí dokumentu
Datum | Verze | Změny |
06. června 2017 | 1 | Počáteční vydání. |
26. ledna 2018 | 2 | Přidány odkazy na vývojovou desku NUCLEO-L152RE a tabulku 2. Algoritmus uplynulého času (μs). |
20-března-2018 | 3 | Aktualizovaný úvod a oddíl 2.1 MotionGR skončilview. |
21. února 2019 | 4 | Aktualizovaný obrázek 1. Přamporientace senzoru, Tabulka 2. Algoritmus uplynulého času (µs) a Obrázek 3. STM32 Nucleo: LED diody, tlačítko, propojka. Přidány informace o kompatibilitě rozšiřující desky X-NUCLEO-IKS01A3. |
24-března-2020 | 5 | Aktualizovaný úvod, část 2.2.1 Popis knihovny MotionGR a část 2.2.5 Výkon algoritmu. Přidány informace o kompatibilitě architektury ARM Cortex-M7. |
17. září - 2024 | 6 | Aktualizováno Sekce Úvod, Část 2.1: Konec MotionGRview, Sekce 2.2.1: Knihovna MotionGR popis, Část 2.2.2: MotionGR API, Část 2.2.5: Výkon algoritmu, Část 2.3: Sample aplikace, Část 2.4: Aplikace MEMS Studio |
DŮLEŽITÉ UPOZORNĚNÍ – ČTĚTE POZORNĚ
STMicroelectronics NV a její dceřiné společnosti (“ST”) si vyhrazují právo provádět změny, opravy, vylepšení, úpravy a vylepšení produktů ST a/nebo tohoto dokumentu kdykoli bez upozornění. Kupující by měli před zadáním objednávky získat nejnovější relevantní informace o produktech ST. Produkty ST jsou prodávány v souladu s prodejními podmínkami ST platnými v době potvrzení objednávky.
Kupující jsou výhradně odpovědní za výběr, výběr a použití produktů ST a ST nepřebírá žádnou odpovědnost za pomoc s aplikací nebo design produktů kupujících.
Společnost ST zde neuděluje žádnou výslovnou ani předpokládanou licenci k právu duševního vlastnictví.
Další prodej produktů ST s ustanoveními odlišnými od informací uvedených v tomto dokumentu ruší jakoukoli záruku poskytnutou společností ST na takový produkt.
ST a logo ST jsou ochranné známky společnosti ST. Další informace o ochranných známkách ST viz www.st.com/trademarks. Všechny ostatní názvy produktů nebo služeb jsou majetkem jejich příslušných vlastníků.
Informace v tomto dokumentu nahrazují a nahrazují informace dříve uvedené v předchozích verzích tohoto dokumentu.
© 2024 STMicroelectronics – Všechna práva vyhrazena
UM2201 – Rev 6 – září 2024
Pro další informace kontaktujte svého místního
Prodejní kancelář STMicroelectronics.
www.st.com
Dokumenty / zdroje
![]() |
ST NUCLEO-F401RE MotionGR Knihovna rozpoznávání gest v reálném čase [pdfUživatelská příručka NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE, NUCLEO-F401RE MotionGR Knihovna rozpoznávání gest v reálném čase, NUCLEO-F401RE, Knihovna rozpoznávání gest v reálném čase MotionGR, Knihovna rozpoznávání gest v čase, Knihovna rozpoznávání gest, Rozpoznávání gest |