Logo STUM2201
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 senzoruST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase – Přample orientace senzoru

2.2.3 Vývojový diagram API

Obrázek 2. Logická sekvence MotionGR APIST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase - vývojový diagram 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.

ST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase – ukázkový kód

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, propojkaST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase – propojka tlačítek LED

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 – ConnectST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase – 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] ST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase – ikona 1 nebo [Stop] ST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase – ikona 2 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 datST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase - 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í gestST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase – 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 FileST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase – 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 InjectionST NUCLEO F401RE MotionGR Knihovna rozpoznávání gest v reálném čase - Vyhodnocení knihovny - Vkládání dat

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.

  1. UM1859: Začínáme s rozšířením softwaru X-CUBE-MEMS1 motion MEMS a senzoru prostředí pro STM32Cube
  2. UM1724: Desky STM32 Nucleo-64 (MB1136)
  3. 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

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *