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

Rozšíření softwaru pro senzory a algoritmy pohybu ST X-CUBE-MEMS1

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.

Rozšíření

 

Rozšíření

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.

Rozšíření

Rozšíření

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

Rozšíření

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

Rozšíření

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] START  nebo [Stop] ZASTÁVKA 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ě.

Rozšíření

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

Rozšíření

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.

Rozšíření

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

Rozšíření

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

Reference

Zanechte komentář

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