UM2201
Uporabniški priročnik
NUCLEO-F401RE MotionGR knjižnica za prepoznavanje kretenj v realnem času
Začetek s knjižnico za prepoznavanje potez v realnem času MotionGR v razširitvi X-CUBEMEMS1 za STM32Cube
Uvod
MotionGR je del knjižnice vmesne programske opreme X-CUBE-MEMS1 programsko opremo in deluje na STM32. Zagotavlja informacije v realnem času
o potezi, ki jo je pravkar izvedel uporabnik z napravo, kot je mobilni telefon.
Sposoben je razlikovati naslednje kretnje: poberi, pogled, zbudi se.
Ta knjižnica je namenjena samo delovanju s ST MEMS.
Algoritem je na voljo v obliki statične knjižnice in je zasnovan za uporabo na mikrokrmilnikih STM32, ki temeljijo na arhitekturi ARM® Cortex® -M3, ARM® Cortex® -M33, ARM® Cortex® -M4 ali ARM® Cortex® -M7.
Zgrajena je na vrhu STM32Cube programska tehnologija, ki olajša prenosljivost med različnimi mikrokontrolerji STM32.
Programska oprema je priložena sample izvajanje teče naprej X-NUKLEO-IKS4A1 or X-NUKLEO-IKS01A3 razširitvena plošča na a NUCLEO-F401RE, NUCLEO-U575ZI-Q or NUCLEO-L152RE razvojna tabla.
Kratice in okrajšave
Tabela 1. Seznam akronimov
| akronim | Opis |
| API | Vmesnik za programiranje aplikacij |
| BSP | Paket podpore plošče |
| GUI | Grafični uporabniški vmesnik |
| HAL | Plast abstrakcije strojne opreme |
| IDE | Integrirano razvojno okolje |
Knjižnica vmesne programske opreme MotionGR v razširitvi programske opreme X-CUBE-MEMS1 za STM32Cube
2.1 MotionGR konecview
Knjižnica MotionGR razširja funkcionalnost X-CUBE-MEMS1 programsko opremo.
Knjižnica pridobi podatke iz merilnika pospeška in zagotovi informacije o kretnji, ki jo je pravkar izvedel uporabnik z napravo.
Knjižnica je zasnovana samo za ST MEMS. Funkcionalnost in zmogljivost pri uporabi drugih senzorjev MEMS nista analizirani in se lahko bistveno razlikujeta od opisanega v dokumentu.
Sample izvedba je na voljo za X-NUKLEO-IKS4A1 in X-NUKLEO-IKS01A3 razširitvene plošče, nameščene na a NUCLEO-F401RE, NUCLEO-U575ZI-Q or NUCLEO-L152RE razvojna tabla.
2.2 Knjižnica MotionGR
Tehnične informacije, ki v celoti opisujejo funkcije in parametre API-jev MotionGR, lahko najdete v prevedenem HTML-ju MotionGR_Package.chm file ki se nahaja v mapi Dokumentacija.
2.2.1 Opis knjižnice MotionGR
Knjižnica za prepoznavanje potez MotionGR upravlja podatke, pridobljene iz merilnika pospeška; ima:
- možnost razlikovanja med naslednjimi dejavnostmi: dvigniti, pogledati, zbuditi
- prepoznavanje le na podlagi podatkov merilnika pospeška
- potrebni podatki merilnika pospeška sampfrekvenca je 50 Hz
- zahteve glede sredstev:
– Cortex-M3: 10.0 kB kodnega in 4.4 kB podatkovnega pomnilnika
– Cortex-M33: 10.1 kB kodnega in 4.4 kB podatkovnega pomnilnika
– Cortex-M4: 10.2 kB kodnega in 4.4 kB podatkovnega pomnilnika
– Cortex-M7: 10.3 kB kodnega in 4.4 kB podatkovnega pomnilnika - na voljo za arhitekture ARM® Cortex®-M3, ARM® Cortex® -M33, ARM® Cortex® -M4 in ARM® Cortex® -M7
2.2.2 API-ji MotionGR
API-ji knjižnice MotionGR so:
- uint8_t MotionGR_GetLibVersion(char *različica)
– pridobi različico knjižnice
– *različica je kazalec na niz 35 znakov
– vrne število znakov v nizu različice - void MotionGR_Initialize(void)
– izvede inicializacijo knjižnice MotionGR in nastavitev notranjega mehanizma
Opomba: To funkcijo je treba poklicati pred uporabo knjižnice za prepoznavanje potez in omogočiti mora biti modul CRC v mikrokrmilniku STM32 (v registru za omogočanje periferne ure RCC).
- void MotionGR_Update(MGR_input_t *data_in, MGR_output_t *data_out)
– izvaja algoritem za prepoznavanje kretenj
– Parameter *data_in je kazalec na strukturo z vhodnimi podatki
– parametri za tip strukture MGR_input_t so:
◦ AccX je vrednost tipala merilnika pospeška na osi X v g
◦ AccY je vrednost tipala merilnika pospeška na osi Y v g
◦ AccZ je vrednost tipala merilnika pospeška na osi Z v g
– parameter *data_out je kazalec na enum z naslednjimi elementi:
◦ MGR_NOGESTURE = 0
◦ MGR_PICKUP = 1
◦ MGR_GLANCE = 2
◦ MGR_WAKEUP = 3 - void MotionGR_SetOrientation_Acc (const char *acc_orientation)
– ta funkcija se uporablja za nastavitev usmerjenosti podatkov merilnika pospeška
– konfiguracija se običajno izvede takoj po klicu funkcije MotionGR_Initialize
– Parameter *acc_orientation je kazalec na niz treh znakov, ki označuje smer vsake od pozitivnih usmeritev referenčnega okvira, ki se uporablja za izpis podatkov merilnika pospeška, v zaporedju x, y, z. Veljavne vrednosti so: n (sever) ali s (jug), w (zahod) ali e (vzhod), u (gor) ali d (dol).
– Kot je prikazano na spodnji sliki, ima senzor pospeška X-NUCLEO-IKS4A1 SEU (x – jug, y – vzhod, z – gor), zato je niz: »seu«.
Slika 1. Pramporientacije senzorjev
2.2.3 Diagram poteka API-ja
Slika 2. Logično zaporedje MotionGR API
2.2.4 Demo koda
Naslednja predstavitvena koda bere podatke s tipala merilnika pospeška in pridobi kodo poteze.

2.2.5 Delovanje algoritma
Algoritem za prepoznavanje kretenj uporablja samo podatke iz merilnika pospeška in deluje pri nizki frekvenci (50 Hz), da zmanjša porabo energije.
Zaznava in zagotavlja informacije v realnem času o naslednjih uporabniških potezah:
- pick up: dvigovanje/dviganje deske z mize;
- pogled: vrtenje plošče za približno 30°, podobno kot pri vrtenju telefona, da bi ga pogledali;
- zbuditi se: tresenje.
Tabela 2. Čas preteka algoritma (µs) Cortex-M4, Cortex-M3
| Cortex-M4 STM32F401RE pri 84 MHz | Cortex-M3 STM32L152RE pri 32 MHz | ||||
| Min | Povpr | Maks | Min | Povpr | Maks |
| 136 | 240 | 341 | 473 | 870 | 1235 |
Tabela 3. Čas preteka algoritma (µs) Cortex-M33 in Cortex-M7
| Cortex- M33 STM32U575ZI-Q pri 160 MHz | Cortex-M7 STM32F767ZI pri 96 MHz | ||||
| Min | Povpr | Maks | Min | Povpr | Maks |
| 87 | 140 | 191 | 459 | 504 | 808 |
2.3 Sample aplikacija
Vmesno programsko opremo MotionGR je mogoče enostavno manipulirati za izdelavo uporabniških aplikacij; kotampAplikacija je na voljo v mapi Application.
Zasnovan je za delovanje na NUCLEO-F401RE, NUCLEO-U575ZI-Q or NUCLEO-L152RE razvojno ploščo, povezano z razširitveno ploščo X-NUCLEO-IKS4A1 ali X-NUCLEO-IKS01A3.
Aplikacija prepoznava izvedene poteze v realnem času.
Slika 3. STM32 Nucleo: LED, gumb, mostiček
Zgornja slika prikazuje uporabniški gumb B1 in tri LED diode plošče NUCLEO-F401RE. Ko se plošča napaja, LED LD3 (PWR) zasveti.
Za spremljanje podatkov v realnem času je potrebna povezava s kablom USB. Plošča se napaja iz računalnika preko USB povezave. Ta delovni način omogoča uporabniku, da prikaže zaznano potezo, podatke merilnika pospeška, čas stamp in sčasoma druge podatke senzorjev v realnem času z uporabo MEMS-Studio.
2.4 Aplikacija MEMS Studio
Sample aplikacija uporablja MEMS-Studio aplikacijo, ki jo lahko prenesete s www.st.com.
Korak 1. Prepričajte se, da so nameščeni potrebni gonilniki in STM32 Nucleo plošča z ustrezno razširitveno ploščo je priključena na osebni računalnik.
2. korak Zaženite MEMS-Studio aplikacijo, da odprete glavno okno aplikacije.
Če je plošča STM32 Nucleo s podprto vdelano programsko opremo povezana z računalnikom, se samodejno zazna.
Pritisnite gumb [Poveži], da vzpostavite povezavo z ocenjevalno ploščo.
Slika 4. MEMS-Studio – Connect
3. korak Pri povezavi s ploščo STM32 Nucleo s podprto vdelano programsko opremo se odpre zavihek [Library Evaluation].
Če želite začeti in ustaviti pretakanje podatkov, preklopite ustrezno [Start]
ali [Stop]
gumb na zunanji navpični orodni vrstici.
Podatki, ki prihajajo iz priključenega senzorja, so lahko viewizberite zavihek [Podatkovna tabela] v notranji navpični orodni vrstici.
Slika 5. MEMS-Studio – vrednotenje knjižnice – podatkovna tabela
4. korak Kliknite na [Gesture Recognition], da odprete namensko okno aplikacije.
Slika 6. MEMS-Studio – vrednotenje knjižnice – prepoznavanje kretenj
5. korak Kliknite na [Shrani v File], da odprete konfiguracijsko okno za beleženje podatkov. Izberite senzor in podatke za prepoznavanje potez, ki jih želite shraniti v file. Shranjevanje lahko začnete ali končate s klikom na ustrezen gumb.
Slika 7. MEMS-Studio – Ocena knjižnice – Shrani v File
6. korak Način vnosa podatkov lahko uporabite za pošiljanje predhodno pridobljenih podatkov v knjižnico in prejem rezultata. V navpični orodni vrstici izberite zavihek [Vstavljanje podatkov], da odprete namenski view za to funkcionalnost.
Slika 8. MEMS-Studio – vrednotenje knjižnice – vstavljanje podatkov
7. korak Kliknite gumb [Prebrskaj], da izberete file s predhodno zajetimi podatki v formatu CSV.
Podatki bodo naloženi v tabelo v trenutnem view.
Drugi gumbi bodo postali aktivni. Lahko kliknete na:
– Gumb [Način brez povezave] za vklop/izklop načina brez povezave vdelane programske opreme (način, ki uporablja predhodno zajete podatke).
– Gumbi [Start]/[Stop]/[Step]/[Repeat] za nadzor podajanja podatkov iz MEMS-Studio v knjižnico.
Reference
Vsi naslednji viri so prosto dostopni na www.st.com.
- UM1859: Začetek uporabe X-CUBE-MEMS1 gibanja MEMS in razširitev programske opreme senzorja okolja za STM32Cube
- UM1724: plošče STM32 Nucleo-64 (MB1136)
- UM3233: Uvod v MEMS-Studio
Zgodovina revizij
Tabela 4. Zgodovina revizij dokumenta
| Datum | Različica | Spremembe |
| 06. junij 2017 | 1 | Začetna izdaja. |
| 26. januarja 2018 | 2 | Dodane reference na razvojno ploščo NUCLEO-L152RE in Tabela 2. Algoritem pretečenega časa (μs). |
| 20-mar-2018 | 3 | Posodobljen uvod in razdelek 2.1 MotionGRview. |
| 21-2019.feb | 4 | Posodobljena slika 1. Nprample orientacije senzorjev, Tabela 2. Algoritem pretečenega časa (µs) in Slika 3. STM32 Nucleo: LED, gumb, mostiček. Dodane informacije o združljivosti razširitvene plošče X-NUCLEO-IKS01A3. |
| 24-mar-2020 | 5 | Posodobljen uvod, razdelek 2.2.1 Opis knjižnice MotionGR in razdelek 2.2.5 Zmogljivost algoritma. Dodane informacije o združljivosti arhitekture ARM Cortex-M7. |
| 17. september 2024 | 6 | Posodobljeno Oddelek Uvod, Razdelek 2.1: MotionGR konecview, Razdelek 2.2.1: Knjižnica MotionGR opis, Razdelek 2.2.2: API-ji MotionGR, Razdelek 2.2.5: Delovanje algoritma, Oddelek 2.3: Sample aplikacija, Razdelek 2.4: Aplikacija MEMS Studio |
POMEMBNO OBVESTILO – POZORNO PREBERITE
STMicroelectronics NV in njegove hčerinske družbe (»ST«) si pridržujejo pravico do sprememb, popravkov, izboljšav, modifikacij in izboljšav izdelkov ST in/ali tega dokumenta kadar koli brez predhodnega obvestila. Kupci morajo pred oddajo naročil pridobiti najnovejše ustrezne informacije o izdelkih ST. Izdelki ST se prodajajo v skladu s prodajnimi pogoji ST, ki veljajo v času potrditve naročila.
Kupci so izključno odgovorni za izbiro, izbiro in uporabo izdelkov ST in ST ne prevzema nobene odgovornosti za pomoč pri uporabi ali oblikovanje izdelkov kupcev.
ST v tem dokumentu ne podeljuje nobene licence, izrecne ali implicitne, za katero koli pravico do intelektualne lastnine.
Nadaljnja prodaja izdelkov ST z določbami, ki se razlikujejo od informacij, navedenih v tem dokumentu, razveljavi vsako garancijo, ki jo ST odobri za tak izdelek.
ST in logotip ST sta blagovni znamki ST. Za dodatne informacije o blagovnih znamkah ST glejte www.st.com/trademarks. Vsa druga imena izdelkov ali storitev so last njihovih lastnikov.
Informacije v tem dokumentu prevladajo in nadomeščajo informacije, ki so bile predhodno navedene v kateri koli prejšnji različici tega dokumenta.
© 2024 STMicroelectronics – Vse pravice pridržane
UM2201 – Rev 6 – september 2024
Za dodatne informacije se obrnite na lokalno službo
Prodajna pisarna STMicroelectronics.
www.st.com
Dokumenti / Viri
![]() |
ST NUCLEO-F401RE MotionGR knjižnica za prepoznavanje kretenj v realnem času [pdfUporabniški priročnik NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE, NUCLEO-F401RE MotionGR Real Time Gesture Recognition Library, NUCLEO-F401RE, MotionGR Real Time Gesture Recognition Library, Time Gesture Recognition Library, Gesture Recognition Library Knjižnica, Knjižnica priznanj |
