Manuale utente dell'espansione software dell'algoritmo di movimento e sensore ST X-CUBE-MEMS1

Espansione software per algoritmo di movimento e sensore X-CUBE-MEMS1

Informazioni sul prodotto

Specifiche

  • Nome prodotto: contapassi in tempo reale MotionPW
  • Compatibilità: espansione X-CUBE-MEMS1 per STM32Cube
  • Produttore: STMicroelectronics
  • Libreria: libreria middleware MotionPW
  • Acquisizione dati: accelerometro
  • SampFrequenza vocale: 50 Hz

Istruzioni per l'uso del prodotto

Sopraview

La libreria MotionPW espande le funzionalità del
Software X-CUBE-MEMS1 acquisendo dati dall'accelerometro per
fornire informazioni sul numero di passi e sulla cadenza eseguiti
con il dispositivo indossabile.

Compatibilità

La libreria è progettata solo per i sensori ST MEMS. Utilizzando altri
I sensori MEMS possono avere diverse funzionalità e
prestazione.

Implementazione

COMEampl'implementazione è disponibile per X-NUCLEO-IKS4A1 e
Schede di espansione X-NUCLEO-IKS01A3 montate su sviluppo specificato
tavole.

Informazioni tecniche

Per funzioni e parametri dettagliati delle API MotionPW,
fare riferimento al file HTML compilato MotionPW_Package.chm file situato nel
Cartella di documentazione.

API

  • MotionPW_GetLibVersion(char *versione)
  • MotionPW_Initialize(void)
  • MotionPW_Update(MPW_input_t *dati_in, MPW_output_t
    *data_out)
  • MotionPW_ResetPedometerLibrary(void)
  • MotionPW_ResetStepCount(vuoto)
  • MotionPW_UpdateEnergyThreshold(float *soglia_energia)

Domande frequenti (FAQ)

D: Posso utilizzare la libreria MotionPW con sensori MEMS non ST?

R: La libreria è progettata solo per i sensori ST MEMS.
La compatibilità con altri sensori MEMS non è garantita.

D: Quali sono i dati richiesti dall'accelerometro?ampmolva
frequenza?

A: La s richiestaampla frequenza di ling è di 50 Hz per una misurazione accurata
rilevamento dei passi e della cadenza.

D: Come inizializzo la libreria MotionPW?

A: Chiamare la funzione MotionPW_Initialize() prima di utilizzare
Libreria di attività di fitness. Assicurarsi che il modulo CRC sia presente nell'STM32.
il microcontrollore è abilitato.

“`

UM2350
Manuale d'uso
Introduzione al contapassi in tempo reale MotionPW per la libreria da polso nell'espansione X-CUBEMEMS1 per STM32Cube
Introduzione
La libreria middleware MotionPW fa parte del software X-CUBE-MEMS1 e funziona su STM32 Nucleo. Fornisce informazioni in tempo reale sul numero di passi e sulla cadenza appena eseguiti dall'utente con il dispositivo indossabile (ad esempio uno smartwatch). Questa libreria è progettata per funzionare esclusivamente con ST MEMS. L'algoritmo è fornito in formato libreria statica ed è progettato per essere utilizzato su microcontrollori STM32 basati sulle architetture ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4 e ARM® Cortex®-M7. È basato sulla tecnologia software STM32Cube per facilitarne la portabilità tra diversi microcontrollori STM32. Il software è incluso.ampimplementazione le in esecuzione sulla scheda di espansione X-NUCLEO-IKS4A1 o X-NUCLEO-IKS01A3 su una scheda di sviluppo NUCLEO-F401RE, NUCLEO-U575ZI-Q o NUCLEO-L152RE.

UM2350 – Rev 4 – Maggio 2025 Per ulteriori informazioni, contattare l'ufficio vendite STMicroelectronics locale.

www.st.com

UM2350
Acronimi e Abbreviazioni

1

Acronimi e Abbreviazioni

Acronimo API BSP GUI HAL IDE

Tabella 1. Elenco degli acronimi

Interfaccia di programmazione dell'applicazione Pacchetto di supporto della scheda Interfaccia utente grafica Livello di astrazione hardware Ambiente di sviluppo integrato

Descrizione

UM2350 – Rev. 4

pagina 2/16

2
2.1 2.2
2.2.1
2.2.2
Nota:

UM2350
Libreria middleware MotionPW nell'espansione software X-CUBE-MEMS1 per STM32Cube

Libreria middleware MotionPW nell'espansione software X-CUBE-MEMS1 per STM32Cube

MotionPW è finitoview
La libreria MotionPW amplia le funzionalità del software X-CUBE-MEMS1.
La libreria acquisisce dati dall'accelerometro e fornisce informazioni sul numero di passi e sulla cadenza appena eseguiti dall'utente con il dispositivo indossabile.
La libreria è progettata solo per ST MEMS. Funzionalità e prestazioni quando si utilizzano altri sensori MEMS non vengono analizzate e possono essere significativamente diverse da quanto descritto nel documento.
COMEampL'implementazione le è disponibile per le schede di espansione X-NUCLEO-IKS4A1 e X-NUCLEO-IKS01A3, montate su una scheda di sviluppo NUCLEO-F401RE, NUCLEO-U575ZI-Q o NUCLEO-L152RE.

Libreria MotionPW
Le informazioni tecniche che descrivono in modo completo le funzioni e i parametri delle API MotionPW sono disponibili nel file HTML compilato MotionPW_Package.chm file situato nella cartella Documentazione.

Descrizione della libreria MotionPW

La libreria del contapassi MotionPW gestisce i dati acquisiti dall'accelerometro; include:

·

possibilità di rilevare il numero di passi, la cadenza e la confidenza

·

riconoscimento basato solo sui dati dell'accelerometro

·

dati accelerometro richiesti sampfrequenza ling di 50 Hz

·

requisiti di risorse:

Cortex-M3: 3.7 kB di codice e 1.8 kB di memoria dati

Cortex-M33: 3.5 kB di codice e 1.8 kB di memoria dati

Cortex-M4: 3.5 kB di codice e 1.8 kB di memoria dati

Cortex-M7: 3.6 kB di codice e 1.8 kB di memoria dati

·

disponibile per ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 e ARM® Cortex®-M7

architetture

API MotionPW

Le API della libreria MotionPW sono:

·

uint8_t MotionPW_GetLibVersion(char *versione)

recupera la versione della libreria

*version è un puntatore a un array di 35 caratteri

restituisce il numero di caratteri nella stringa della versione

·

void MotionPW_Initialize(void)

esegue l'inizializzazione della libreria MotionPW e la configurazione del meccanismo interno, inclusa l'allocazione dinamica della memoria

Questa funzione deve essere chiamata prima di utilizzare la libreria di attività fitness e il modulo CRC nel microcontrollore STM32 (nel registro di abilitazione dell'orologio periferico RCC) deve essere abilitato.

UM2350 – Rev. 4

pagina 3/16

UM2350
Libreria middleware MotionPW nell'espansione software X-CUBE-MEMS1 per STM32Cube

·

void MotionPW_Update(MPW_input_t *dati_in, MPW_output_t *dati_out)

esegue l'algoritmo del contapassi per il polso

Il parametro *data_in è un puntatore a una struttura con dati di input

i parametri per il tipo di struttura MPW_input_t sono:

AccX è il valore del sensore dell'accelerometro sull'asse X in g

AccY è il valore del sensore dell'accelerometro sull'asse Y in g

AccZ è il valore del sensore dell'accelerometro sull'asse Z in g

CurrentActivity è il tipo di input enumerato MPW_activity_t con i seguenti valori:

MPW_ATTIVITÀ_SCONOSCIUTA = 0x00

MPW_CAMMINANDO = 0x01

MPW_CAMMINATA VELOCE = 0x02

MPW_JOGGING = 0x03

Il parametro *data_out è un puntatore a una struttura con dati di output

i parametri per il tipo di struttura MPW_output_t sono:

Nsteps è il numero di passaggi eseguiti dall'utente

La cadenza è la cadenza dei passaggi dell'utente

La fiducia è la fiducia del parametro di output calcolato

·

void MotionPW_ResetPedometerLibrary(void)

ripristina le variabili interne della libreria e il meccanismo ai valori predefiniti (incluso il conteggio dei passi corrente)

·

void MotionPW_ResetStepCount(void)

azzera il conteggio dei passi corrente

·

void MotionPW_UpdateEnergyThreshold(float *soglia_energia)

soglia energetica aggiornata per perfezionare l'algoritmo di rilevamento dei passi

Il parametro *energy_threshold è un puntatore al valore della soglia energetica

UM2350 – Rev. 4

pagina 4/16

2.2.3

Diagramma di flusso dell'API

UM2350
Libreria middleware MotionPW nell'espansione software X-CUBE-MEMS1 per STM32Cube
Figura 1. Sequenza logica dell'API MotionPW
Inizio
Inizializzare
OttieniVersioneLib
Attendi scadenza timer dati lettura interrupt

Leggi l'aggiornamento dei dati dell'accelerometro
Ottieni output

2.2.4

Codice demo Il seguente codice dimostrativo èamplegge i dati dal sensore dell'accelerometro, ottiene l'attività corrente dalla libreria MotionAW e ottiene il numero di passi, la cadenza e la confidenza dalla libreria MotionPW.
[…] #define VERSION_STR_LENG 35 […] /* Inizializzazione */ char lib_version[VERSION_STR_LENG];
/* Funzione di inizializzazione dell'API del contapassi */ MotionPW_Initialize();
/* Funzione di inizializzazione dell'API per il riconoscimento delle attività */ MotionAW_Initialize();
/* Facoltativo: Ottieni la versione */ MotionPW_GetLibVersion(lib_version);
[…] /* Utilizzo del contapassi per l'algoritmo del polso */ Timer_OR_DataRate_Interrupt_Handler() {
MPW_input_t MPW_data_in; MPW_output_t MPW_data_out;

UM2350 – Rev. 4

pagina 5/16

2.2.5

UM2350
Libreria middleware MotionPW nell'espansione software X-CUBE-MEMS1 per STM32Cube
MAW_input_t MAW_data_in; MAW_output_t MAW_data_out;
/* Ottieni l'accelerazione X/Y/Z in g */ MEMS_Read_AccValue(&MAW_data_in.Acc_X, &MAW_data_in.Acc_Y, &MAW_data_in.Acc_Z);
/* Ottieni l'attività corrente */ MotionAW_Update(&MAW_data_in, &MAW_data_out, Timestamp);
Italiano: MPW_data_in.Acc_X = MAW_data_in.Acc_X; MPW_data_in.Acc_Y = MAW_data_in.Acc_Y; MPW_data_in.Acc_Z = MAW_data_in.Acc_Z;
se (MAW_data_out.current_activity == MAW_WALKING) {
MPW_data_in.currentActivity = MPW_WALKING; } altrimenti se (MAW_data_out.current_activity == MAW_FASTWALKING) {
MPW_data_in.currentActivity = MPW_FASTWALKING; } altrimenti se (MAW_data_out.current_activity == MAW_JOGGING) {
MPW_data_in.currentActivity = MPW_JOGGING; } altrimenti {
MPW_data_in.currentActivity = MPW_UNKNOWN_ACTIVITY; }
/* Esegui l'algoritmo del contapassi per il polso */ MotionPW_Update(&MPW_data_in, &MPW_data_out); }
Prestazioni dell'algoritmo: l'algoritmo del contapassi da polso utilizza solo i dati dell'accelerometro e funziona a bassa frequenza (50 Hz) per ridurre il consumo energetico. Quando si riproduce un'attività fisica con la scheda STM32 Nucleo, assicurarsi che la scheda sia orientata perpendicolarmente all'avambraccio, per simulare la posizione del cinturino.
Figura 2. Sistema di orientamento per dispositivi da polso

Tabella 2. Tempo trascorso dell'algoritmo (µs) Cortex-M4, Cortex-M3

Cortex-M4 STM32F401RE a 84 MHz

Minimo

Media

Massimo

38

49

616

Cortex-M3 STM32L152RE a 32 MHz

Minimo

Media

Massimo

296

390

3314

UM2350 – Rev. 4

pagina 6/16

UM2350
Libreria middleware MotionPW nell'espansione software X-CUBE-MEMS1 per STM32Cube

Tabella 3. Tempo trascorso dell'algoritmo (µs) Cortex-M33 e Cortex-M7

Cortex-M33 STM32U575ZI-Q a 160 MHz

Minimo

Media

Massimo

57

63

359

Cortex-M7 STM32F767ZI a 96 MHz

Minimo

Media

Massimo

61

88

1301

2.3

Sampl'applicazione

Il middleware MotionPW può essere facilmente manipolato per creare applicazioni utente.

COMEampL'applicazione è disponibile nella cartella Applicazioni. È progettata per funzionare su una scheda di sviluppo NUCLEO-F401RE, NUCLEOU575ZI-Q o NUCLEO-L152RE collegata a una scheda di espansione X-NUCLEO-IKS4A1 o X-NUCLEO-IKS01A3.

L'applicazione riconosce i passi, la cadenza e la sicurezza in tempo reale. I dati possono essere visualizzati tramite un'interfaccia utente grafica.

Figura 3. STM32 Nucleo: LED, pulsante, ponticello

La figura sopra mostra il pulsante utente B1 e i tre LED della scheda NUCLEO-F401RE. Una volta alimentata la scheda, il LED LD3 (PWR) si accende.
È necessaria una connessione tramite cavo USB per monitorare i dati in tempo reale. La scheda è alimentata dal PC tramite connessione USB. Questa modalità di funzionamento consente all'utente di visualizzare i passi rilevati, la cadenza e la confidenza, i dati dell'accelerometro e il tempo trascorso.amp ed eventualmente altri dati dei sensori, in tempo reale, utilizzando MEMS-Studio.

2.4

Applicazione MEMS Studio

Le sampL'applicazione utilizza l'applicazione MEMS-Studio, che può essere scaricata da www.st.com.

Passaggio 1. Assicurarsi che i driver necessari siano installati e che la scheda STM32 Nucleo con la scheda di espansione appropriata sia collegata al PC.

UM2350 – Rev. 4

pagina 7/16

UM2350
Libreria middleware MotionPW nell'espansione software X-CUBE-MEMS1 per STM32Cube

Fase 2.

Avviare l'applicazione MEMS-Studio per aprire la finestra principale dell'applicazione.
Se una scheda STM32 Nucleo con firmware supportato è collegata al PC, viene rilevata automaticamente. Premere il pulsante [Connect] per stabilire la connessione alla scheda di valutazione.

Figura 4. MEMS-Studio – Connetti

Passaggio 3. Quando si è connessi a una scheda STM32 Nucleo con firmware supportato, si apre la scheda [Valutazione libreria].

Per avviare e interrompere lo streaming di dati, attivare la barra degli strumenti verticale [Avvia] appropriata.

o il pulsante [Stop] sul lato esterno

I dati provenienti dal sensore collegato possono essere viewed selezionando la scheda [Tabella dati] sulla barra degli strumenti verticale interna.

Figura 5. MEMS-Studio – Valutazione della biblioteca – Tabella dati

UM2350 – Rev. 4

pagina 8/16

UM2350
Libreria middleware MotionPW nell'espansione software X-CUBE-MEMS1 per STM32Cube
Passaggio 4. Fare clic su [Contapassi] per aprire la finestra dell'applicazione dedicata. Figura 6. MEMS-Studio – Valutazione della libreria – Contapassi

Fase 5.

Fare clic su [Salva in File] per aprire la finestra di configurazione del datalogging. Selezionare i dati del sensore e del contapassi da salvare nel filePuoi avviare o interrompere il salvataggio cliccando sul pulsante corrispondente
pulsante.

Figura 7. MEMS-Studio – Valutazione della libreria – Salva in File

UM2350 – Rev. 4

pagina 9/16

UM2350
Libreria middleware MotionPW nell'espansione software X-CUBE-MEMS1 per STM32Cube

Fase 6.

La modalità di iniezione dei dati può essere utilizzata per inviare i dati acquisiti in precedenza alla libreria e ricevere i dati
risultato. Selezionare la scheda [Iniezione dati] sulla barra degli strumenti verticale per aprire la finestra dedicata view per questa funzionalità.

Figura 8. MEMS-Studio – Valutazione della libreria – Iniezione di dati

Fase 7.

Fare clic sul pulsante [Sfoglia] per selezionare file con i dati precedentemente acquisiti in formato CSV. I dati verranno caricati nella tabella nel formato corrente view. Altri pulsanti diventeranno attivi. Puoi cliccare su:
Pulsante [Modalità offline] per attivare/disattivare la modalità offline del firmware (modalità che utilizza i dati acquisiti in precedenza).
Pulsanti [Avvia]/[Arresta]/[Passo]/[Ripeti] per controllare il flusso di dati da MEMS-Studio alla libreria.

UM2350 – Rev. 4

pagina 10/16

UM2350
Riferimenti

3

Riferimenti

Tutte le seguenti risorse sono disponibili gratuitamente su www.st.com. 1. UM1859: Introduzione al software per sensori ambientali e MEMS di movimento X-CUBE-MEMS1
espansione per STM32Cube 2. UM1724: Schede STM32 Nucleo-64 (MB1136) 3. UM3233: Introduzione a MEMS-Studio

UM2350 – Rev. 4

pagina 11/16

UM2350

Cronologia delle revisioni

Tabella 4. Cronologia delle revisioni del documento

Data

Modifiche alla versione

24-gen-2018 1 Versione iniziale.

21-Mar-2018 2 Aggiornata Introduzione e Sezione 2.1 MotionPW suviewAggiornata la Sezione 2.2.5: Prestazioni dell'algoritmo e Figura 3. STM32 Nucleo: LED, pulsante, jumper.
20-feb-2019 3 Aggiunte informazioni sulla compatibilità della scheda di espansione X-NUCLEO-IKS01A3.

Sezione Introduzione aggiornata, Sezione 2.1: MotionPW suview, Sezione 2.2.1: Libreria MotionPW 20-mag-2025 4 descrizione, Sezione 2.2.2: API MotionPW, Sezione 2.2.4: Codice demo, Sezione 2.2.5: Algoritmo
prestazione, Sezione 2.3: Sampapplicazione, Sezione 2.4: applicazione MEMS Studio

UM2350 – Rev. 4

pagina 12/16

UM2350
Contenuto
Contenuto
1 Acronimi e abbreviazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Libreria middleware MotionPW nell'espansione software X-CUBE-MEMS1 per
STM32Cube . ...view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Libreria MotionPW . ... . . . . . . 3
2.2.1 Descrizione della libreria MotionPW. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2.2 API di MotionPW. ... 3 2.2.3 Diagramma di flusso dell'API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.4 Codice demo . ... . . . . . . . 5 2.2.5 Prestazioni dell'algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Sampapplicazione le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Applicazione MEMS Studio . ... . . 7
3 Riferimenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Cronologia delle revisioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

UM2350 – Rev. 4

pagina 13/16

UM2350
Elenco delle tabelle

Elenco delle tabelle

Tabella 1. Tabella 2. Tabella 3. Tabella 4.

Elenco degli acronimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Tempo trascorso dall'algoritmo (µs) Cortex-M4, Cortex-M3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Tempo trascorso dall'algoritmo (µs) Cortex-M33 e Cortex-M7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Cronologia delle revisioni del documento . ... . . 12

UM2350 – Rev. 4

pagina 14/16

UM2350
Elenco delle figure

Elenco delle figure

Figura 1. Figura 2. Figura 3. Figura 4. Figura 5. Figura 6. Figura 7. Figura 8.

Sequenza logica dell'API MotionPW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Sistema di orientamento per dispositivi da polso . ... 6 STM32 Nucleo: LED, pulsante, jumper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 MEMS-Studio – Connect . ... . . . 8 MEMS-Studio – Valutazione della libreria – Tabella dati. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 MEMS-Studio – Valutazione della libreria – Contapassi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MEMS-Studio – Valutazione della libreria – Salva in File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MEMS-Studio – Valutazione della libreria – Iniezione dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

UM2350 – Rev. 4

pagina 15/16

UM2350
AVVISO IMPORTANTE LEGGERE ATTENTAMENTE STMicroelectronics NV e le sue controllate ("ST") si riservano il diritto di apportare modifiche, correzioni, miglioramenti, modifiche e miglioramenti ai prodotti ST e/o al presente documento in qualsiasi momento senza preavviso. Gli acquirenti devono ottenere le ultime informazioni rilevanti sui prodotti ST prima di effettuare ordini. I prodotti ST sono venduti secondo i termini e le condizioni di vendita ST in vigore al momento della conferma dell'ordine. Gli acquirenti sono gli unici responsabili della scelta, selezione e utilizzo dei prodotti ST e ST non si assume alcuna responsabilità per l'assistenza applicativa o la progettazione dei prodotti degli acquirenti. Nessuna licenza, esplicita o implicita, su alcun diritto di proprietà intellettuale è concessa da ST nel presente documento. La rivendita di prodotti ST con disposizioni diverse dalle informazioni qui stabilite invaliderà qualsiasi garanzia concessa da ST per tale prodotto. ST e il logo ST sono marchi di fabbrica di ST. Per ulteriori informazioni sui marchi ST, fare riferimento a www.st.com/trademarks. Tutti gli altri nomi di prodotti o servizi sono di proprietà dei rispettivi proprietari. Le informazioni contenute in questo documento sostituiscono e sostituiscono le informazioni precedentemente fornite in qualsiasi versione precedente di questo documento.
© 2025 STMicroelectronics Tutti i diritti riservati

UM2350 – Rev. 4

pagina 16/16

Documenti / Risorse

Espansione software per algoritmo di movimento e sensore ST X-CUBE-MEMS1 [pdf] Manuale d'uso
STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, Espansione software per algoritmo di movimento e sensore X-CUBE-MEMS1, Espansione software per algoritmo di movimento e sensore X-CUBE-MEMS1, Espansione software per algoritmo di movimento, Espansione software per algoritmo, Espansione software

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *