Rozšíření softwaru pro senzory a algoritmy pohybu ST X-CUBE-MEMS1
UŽIVATELSKÁ PŘÍRUČKA
Model: UM2350
Knihovna MotionPW rozšiřuje funkčnost softwaru X-CUBE-MEMS1 získáváním dat z akcelerometru, která poskytují informace o počtu kroků a kadenci provedených s nositelným zařízením.
Zavedení
Middleware knihovna MotionPW je součástí softwaru X-CUBE-MEMS1 a běží na STM32 Nucleo. Poskytuje informace v reálném čase o počtu kroků a kadenci, které uživatel právě provedl s nositelným zařízením (např. chytrými hodinkami).
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 architekturách ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4 a ARM® Cortex®-M7.
Je postaven na softwarové technologii STM32Cube, která usnadňuje přenositelnost mezi různými mikrokontroléry STM32.
Software je dodáván s sampImplementace běžící na rozšiřující desce X-NUCLEO-IKS4A1 nebo X-NUCLEO-IKS01A3 na vývojové desce NUCLEO-F401RE, NUCLEO-U575ZI-Q nebo NUCLEO-L152RE.
1. 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í |
2. Knihovna middlewaru MotionPW v softwarovém rozšíření X-CUBE-MEMS1 pro STM32Cube
2.1 MotionPW přesview
Knihovna MotionPW rozšiřuje funkcionalitu softwaru X-CUBE-MEMS1.
Knihovna získává data z akcelerometru a poskytuje informace o počtu kroků a kadenci, které uživatel právě provedl s nositelným zařízením.
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.
A sampImplementace je k dispozici pro rozšiřující desky X-NUCLEO-IKS4A1 a X-NUCLEO-IKS01A3, namontované na vývojové desce NUCLEO-F401RE, NUCLEO-U575ZI-Q nebo NUCLEO-L152RE.
2.2 Knihovna MotionPW
Technické informace plně popisující funkce a parametry rozhraní MotionPW API naleznete v
MotionPW_Package.chm zkompilovaný HTML soubor file umístěné ve složce Dokumentace.
2.2.1 Popis knihovny MotionPW
Knihovna krokoměrů MotionPW spravuje data získaná z akcelerometru; obsahuje:
- možnost detekce počtu kroků, kadence a jistoty
- rozpoznávání pouze na základě údajů akcelerometru
- požadované údaje z akcelerometru sampfrekvence 50 Hz
- požadavky na zdroje:
– Cortex-M3: 3.7 kB kódu a 1.8 kB datové paměti
– Cortex-M33: 3.5 kB kódu a 1.8 kB datové paměti
– Cortex-M4: 3.5 kB kódu a 1.8 kB datové paměti
– Cortex-M7: 3.6 kB kódu a 1.8 kB datové paměti - dostupné pro architektury ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 a ARM® Cortex®-M7
2.2.2 Rozhraní API MotionPW
API knihovny MotionPW jsou:
- uint8_t MotionPW_GetLibVersion(char *verze)
– načte verzi knihovny
– *verze je ukazatel na pole 35 znaků
– vrátí počet znaků v řetězci verze - void MotionPW_Initialize(void)
– provádí inicializaci knihovny MotionPW a nastavení interního mechanismu včetně dynamické alokace paměti
Poznámka: Tato funkce musí být volána před použitím knihovny fitness aktivit a modul CRC v mikrokontroléru STM32 (v registru pro povolení periferních hodin RCC) musí být povolen.
- void MotionPW_Update(MPW_input_t *vstup_dat, MPW_output_t *výstup_dat)
– spouští krokoměr pro algoritmus zápěstí
– Parametr *data_in je ukazatel na strukturu se vstupními daty
– parametry pro typ struktury MPW_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
– CurrentActivity je výčtový vstupní typ MPW_activity_t s následujícími hodnotami:
◦ MPW_UNKNOWN_ACTIVITY = 0x00
◦ MPW_WALKING = 0x01
◦ MPW_FASTWALKING = 0x02
◦ MPW_JOGGING = 0x03
– Parametr *data_out je ukazatel na strukturu s výstupními daty
– parametry pro typ struktury MPW_output_t jsou:
◦ Nsteps je počet kroků provedených uživatelem
◦ Kadence je kadence kroků uživatele
◦ Důvěra je spolehlivost vypočítaného výstupního parametru - void MotionPW_ResetPedometerLibrary(void)
– resetuje interní proměnné a mechanismus knihovny na výchozí hodnoty (včetně aktuálního počtu kroků) - void Počet kroků_obnovení_motionPW(void)
– vynuluje aktuální počet kroků - void MotionPW_UpdateEnergyThreshold(float *energy_threshold)
– aktualizovaný energetický práh pro jemné doladění algoritmu detekce kroků
– *parametr energy_threshold je ukazatel na prahovou hodnotu energie
2.2.3 Vývojový diagram API

2.2.4 Demo kód
Následující demonstrační kód např.ampProgram le čte data z akcelerometru, získává aktuální aktivitu z knihovny MotionAW a počet kroků, kadenci a spolehlivost z knihovny MotionPW.


2.2.5 Výkonnost algoritmu
Algoritmus krokoměru pro zápěstí využívá pouze data z akcelerometru a běží na nízké frekvenci (50 Hz), aby se snížila spotřeba energie.
Při replikaci fitness aktivity s deskou STM32 Nucleo se ujistěte, že je deska orientována kolmo k předloktí, aby simulovala polohu náramku.


2.3 Sample aplikace
Middleware MotionPW lze snadno manipulovat pro vytváření uživatelských aplikací.
A sampAplikace se nachází ve složce Application. Je navržena pro spuštění na vývojové desce NUCLEO-F401RE, NUCLEOOU575ZI-Q nebo NUCLEO-L152RE připojené k rozšiřující desce X-NUCLEO-IKS4A1 nebo X-NUCLEO-IKS01A3.
Aplikace rozpoznává kroky, kadenci a jistotu v reálném čase. Data lze zobrazit pomocí grafického rozhraní.

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í kabelem USB. Deska je napájena z počítače přes USB připojení. Tento pracovní režim umožňuje uživateli zobrazit detekované kroky, kadenci a jistotu, data z akcelerometru, časové intervaly a další.amp a případně další data ze senzorů v reálném čase pomocí MEMS-Studio.
2.4 Aplikace MEMS Studio
SampTato aplikace používá aplikaci MEMS-Studio, kterou lze stáhnout www.st.com.
Krok 1. Ujistěte se, že jsou nainstalovány potřebné ovladače a že je k PC připojena deska STM32 Nucleo s příslušnou rozšiřující deskou.
Krok 2. Spuštěním aplikace MEMS-Studio otevřete hlavní okno aplikace.
Pokud je k PC připojena deska STM32 Nucleo s podporovaným firmwarem, je automaticky detekována.
Stiskněte tlačítko [Připojit] pro navázání spojení s vyhodnocovací deskou

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ě.

Krok 4. Kliknutím na [Krokoměr] otevřete okno příslušné aplikace.

Krok 5. Klikněte na [Uložit do File] otevřete okno konfigurace záznamu dat. Vyberte data senzoru a krokoměru, která chcete uložit do file. Ukládání můžete spustit nebo zastavit kliknutím na příslušné tlačítko.

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

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 režim] 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.
3. 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 pro pohybové MEMS a environmentální senzory STM32Cube
2. UM1724: Desky STM32 Nucleo-64 (MB1136)
3. UM3233: Začínáme s MEMS-Studiem
Historie revizí
Tabulka 4. Historie revizí dokumentu
| Datum | Verze | Změny |
| 24. ledna 18 | 1 | Počáteční vydání. |
| 21-března-18 | 2 | Aktualizovaný úvod a kapitola 2.1 MotionPWview. |
| 20. února 19 | 3 | Aktualizována kapitola 2.2.5: Výkon algoritmu 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. |
| 20. května 25 | 4 | Aktualizovaný úvod do sekce, sekce 2.1: MotionPW nadview, Oddíl 2.2.1: Popis knihovny MotionPW, Oddíl 2.2.2: API MotionPW, Oddíl 2.2.4: Demo kód, Oddíl 2.2.5: Výkon algoritmu, Oddíl 2.3: Sampaplikace, oddíl 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 najdete na 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.
© 2025 STMicroelectronics – Všechna práva vyhrazena
Implementace
A sampImplementace je k dispozici pro rozšiřující desky X-NUCLEO-IKS4A1 a X-NUCLEO-IKS01A3 namontované na určených vývojových deskách.
Technické informace
Podrobné informace o funkcích a parametrech rozhraní MotionPW API naleznete v kompilovaném HTML souboru MotionPW_Package.chm. file umístěné ve složce Dokumentace.
API
- MotionPW_GetLibVersion(char *verze)
- MotionPW_Initialize(neplatné)
- MotionPW_Update(MPW_input_t *vstup_dat, MPW_output_t *výstup_dat)
- MotionPW_ResetPedometerLibrary(neplatné)
- Počet kroků_obnovení_motionPW(neplatné)
- MotionPW_UpdateEnergyThreshold(float *energy_threshold)
Specifikace
- Název produktu: MotionPW krokoměr v reálném čase
- Kompatibilita: rozšíření X-CUBE-MEMS1 pro STM32Cube
- Výrobce: STMicroelectronics
- Knihovna: Knihovna middlewaru MotionPW
- Sběr dat: Akcelerometr
- Sampling Frekvence: 50 Hz
Často kladené otázky (FAQ)
Otázka: Mohu použít knihovnu MotionPW s MEMS senzory, které nejsou od ST?
A: Knihovna je určena pouze pro senzory ST MEMS.
Kompatibilita s jinými MEMS senzory není zaručena.
Otázka: Jaká jsou požadovaná data akcelerometru?ampling frekvence?
A: Požadované sampFrekvence lingu je 50 Hz pro přesnou detekci kroků a kadence.
Otázka: Jak inicializuji knihovnu MotionPW?
A: Před použitím knihovny fitness aktivit zavolejte funkci MotionPW_Initialize(). Ujistěte se, že je v mikrokontroléru STM32 povolen modul CRC.
Dokumenty / zdroje
![]() |
Rozšíření softwaru pro senzory a algoritmy pohybu ST X-CUBE-MEMS1 [pdfUživatelská příručka STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, X-CUBE-MEMS1 Rozšíření softwaru pro senzory a pohybové algoritmy, X-CUBE-MEMS1, Rozšíření softwaru pro senzory a pohybové algoritmy, Rozšíření softwaru pro pohybové algoritmy, Rozšíření softwaru pro algoritmy, Rozšíření softwaru |




