Разширяване на софтуера за сензори и алгоритъми за движение ST X-CUBE-MEMS1

РЪКОВОДСТВО ЗА ПОТРЕБИТЕЛ

МОДЕЛ: UM2350

The MotionPW library expands the functionality of the X-CUBE-MEMS1 software by acquiring data from the accelerometer to provide information about the number of steps and cadence performed with the wearable device.

Въведение

The MotionPW middleware library is part of the X-CUBE-MEMS1 software and runs on STM32 Nucleo. It provides real-time information about the number of steps and cadence which the user just performed with the wearable device (e.g. a smart watch).

Тази библиотека е предназначена да работи само със ST MEMS.
The algorithm is provided in static library format and is designed to be used on STM32 microcontrollers based on the ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4, ARM® Cortex®-M7 architecture.

Той е изграден върху софтуерната технология STM32Cube, за да улесни преносимостта между различни STM32 микроконтролери.

Софтуерът идва с sample изпълнение, работещо на разширителна платка X-NUCLEO-IKS4A1 или X-NUCLEO-IKS01A3 на платка за разработка NUCLEO-F401RE, NUCLEO-U575ZI-Q или NUCLEO-L152RE.

1. Акроними и съкращения

Таблица 1. Списък на акроними

акроним Описание
API Интерфейс за програмиране на приложения
БСП Пакет за поддръжка на платка
GUI Графичен потребителски интерфейс
ХАЛ Слой за хардуерна абстракция
IDE Интегрирана среда за разработка

 

2. MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube

2.1 MotionPW overview

Библиотеката MotionPW разширява функционалността на софтуера X-CUBE-MEMS1.

Библиотеката получава данни от акселерометъра и предоставя информация за броя стъпки и каданса, които потребителят току-що е извършил с носимото устройство.
Библиотеката е предназначена само за ST MEMS. Функционалността и производителността при използване на други MEMS сензори не се анализират и могат значително да се различават от описаното в документа.
A sampТази имплементация е налична за разширителни платки X-NUCLEO-IKS4A1 и X-NUCLEO-IKS01A3, монтирани на развойна платка NUCLEO-F401RE, NUCLEO-U575ZI-Q или NUCLEO-L152RE.

2.2 MotionPW library

Technical information fully describing the functions and parameters of the MotionPW APIs can be found in the
MotionPW_Package.chm compiled HTML file намиращ се в папката Документация.

2.2.1 MotionPW library description

Библиотеката за крачкомер MotionPW управлява данните, получени от акселерометъра; тя включва:

  • възможност за откриване на броя стъпки, каданса и увереността
  • разпознаване въз основа само на данни от акселерометър
  • необходимите данни от акселерометъра sampлинг честота от 50 Hz
  • изисквания за ресурси:
    – Cortex-M3: 3.7 kB код и 1.8 kB памет за данни
    – Cortex-M33: 3.5 kB код и 1.8 kB памет за данни
    – Cortex-M4: 3.5 kB код и 1.8 kB памет за данни
    – Cortex-M7: 3.6 kB код и 1.8 kB памет за данни
  • Предлага се за архитектури ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 и ARM® Cortex®-M7

2.2.2 MotionPW APIs

API-тата на библиотеката MotionPW са:

  • uint8_t MotionPW_GetLibVersion(char *версия)
    – извлича версията на библиотеката
    – *version е указател към масив от 35 знака
    – връща броя знаци в низа на версията
  • невалидно MotionPW_Initialize(невалидно)
    – performs MotionPW library initialization and setup of the internal mechanism including the dynamic memory allocation

Забележка: Тази функция трябва да бъде извикана преди използване на библиотеката за фитнес дейности и CRC модулът в микроконтролера STM32 (в регистъра за активиране на периферния тактов сигнал на RCC) трябва да бъде активиран.

  •  невалидно MotionPW_Update(MPW_input_t *входни_данни, MPW_output_t *изходни_данни)
    – executes pedometer for wrist algorithm
    – *data_in параметър е указател към структура с входни данни
    – the parameters for the structure type MPW_input_t are:
    ◦ AccX е стойността на сензора на акселерометъра по оста X в g
    ◦ AccY е стойността на сензора на акселерометъра по оста Y в g
    ◦ AccZ е стойността на сензора на акселерометъра по оста Z в g
    – CurrentActivity is the enumerated input type MPW_activity_t with the following values:
    ◦ MPW_UNKNOWN_ACTIVITY = 0x00
    ◦ MPW_WALKING = 0x01
    ◦ MPW_FASTWALKING = 0x02
    ◦ MPW_JOGGING = 0x03
    – *data_out параметър е указател към структура с изходни данни
    – the parameters for the structure type MPW_output_t are:
    ◦ Nsteps is number of steps performed by user
    ◦ Cadence is the cadence of user steps
    ◦ Confidence is the confidence of calculated output parameter
  •  невалиден MotionPW_ResetPedometerLibrary(невалиден)
    – resets the library internal variables and mechanism into default values (including current step count)
  •  невалиден MotionPW_ResetStepCount(невалиден)
    – resets the current step count
  •  невалиден MotionPW_UpdateEnergyThreshold(float *energy_threshold)
    – updated energy threshold to fine tune step detection algorithm
    – *energy_threshold parameter is a pointer to energy threshold value

2.2.3 Диаграма на API

Разширяване на софтуера за сензори и алгоритъми за движение ST X-CUBE-MEMS1

2.2.4 Демо код
The following demonstration code example чете данни от акселерометъра, получава текущата активност от библиотеката MotionAW и получава броя стъпки, каданса и увереността от библиотеката MotionPW.

Разширяване

 

Разширяване

2.2.5 Изпълнение на алгоритъма
The pedometer for wrist algorithm uses data from the accelerometer only and runs at a low frequency (50 Hz) to reduce power consumption.
When replicating fitness activity with the STM32 Nucleo board, ensure the board is oriented perpendicularly to the forearm, to simulate the wristband position.

Разширяване

Разширяване

2.3 Sampприложение

Мидълуерът на MotionPW може лесно да се манипулира за изграждане на потребителски приложения.
A sample application is provided in the Application folder. It is designed to run on a NUCLEO-F401RE, NUCLEOU575ZI- Q or NUCLEO-L152RE development board connected to an X-NUCLEO-IKS4A1 or X-NUCLEO-IKS01A3 expansion board.

Приложението разпознава стъпките, каданса и увереността в реално време. Данните могат да бъдат показани чрез графичен потребителски интерфейс.

Разширяване

Фигурата по-горе показва потребителския бутон B1 и трите светодиода на платката NUCLEO-F401RE. След като платката се захрани, LED LD3 (PWR) светва.
За наблюдение на данни в реално време е необходима USB кабелна връзка. Платката се захранва от компютъра чрез USB връзка. Този режим на работа позволява на потребителя да показва засечени стъпки, каданс и увереност, данни от акселерометъра, времеви интервали.amp и евентуално други данни от сензори, в реално време, с помощта на MEMS-Studio.

2.4 Приложение MEMS Studio

В sample приложението използва MEMS-Studio приложение, което може да бъде изтеглено от www.st.com.

Стъпка 1. Уверете се, че необходимите драйвери са инсталирани и платката STM32 Nucleo с подходяща разширителна платка е свързана към компютъра.

Стъпка 2. Стартирайте приложението MEMS-Studio, за да отворите главния прозорец на приложението.

Ако платка STM32 Nucleo с поддържан фърмуер е свързана към компютъра, тя се открива автоматично.
Press the [Connect] button to establish connection to the evaluation board

Разширяване

Стъпка 3. При свързване към платка STM32 Nucleo с поддържан фърмуер се отваря раздел [Оценка на библиотеката].

За да стартирате и спрете поточно предаване на данни, превключете съответния [Старт] СТАРТ  или [стоп] СПРИ бутон на външната вертикална лента с инструменти.

Данните, идващи от свързания сензор, могат да бъдат viewизберете раздела [Таблица с данни] във вътрешната вертикална лента с инструменти.

Разширяване

Стъпка 4. Click on the [Pedometer] to open the dedicated application window.

Разширяване

Стъпка 5. Щракнете върху [Запазване в File], за да отворите прозореца за конфигурация на регистрирането на данни. Изберете данните от сензора и крачкомера, които да се запазят в file. Можете да започнете или спрете записването, като щракнете върху съответния бутон.

Разширяване

Стъпка 6. Режимът за въвеждане на данни може да се използва за изпращане на получените преди това данни в библиотеката и получаване на резултата. Изберете раздела [Инжектиране на данни] на вертикалната лента с инструменти, за да отворите предназначения view за тази функционалност

Разширяване

Стъпка 7. Щракнете върху бутона [Преглед], за да изберете file с предварително заснетите данни в CSV формат.

Данните ще бъдат заредени в таблицата в текущия view.

Други бутони ще станат активни. Можете да кликнете върху:
– [Offline Mode] button to switch the firmware offline mode on/off (mode utilizing the previously captured data).
– Бутони [Старт]/[Стоп]/[Стъпка]/[Повторение] за управление на подаването на данни от MEMS-Studio към библиотеката.

3. Препратки

Всички изброени по-долу ресурси са свободно достъпни на www.st.com.

1. UM1859: Getting started with the X-CUBE-MEMS1 motion MEMS and environmental sensor software expansion for STM32Cube
2. UM1724: STM32 Nucleo-64 boards (MB1136)
3. UM3233: Getting started with MEMS-Studio

История на ревизиите

Таблица 4. История на ревизиите на документа

Дата  Версия  Промени
24-януари-18 1 Първоначално издание.
21-Мар-18 2 Updated Introduction and Section 2.1 MotionPW overview.
20-фев-19 3 Updated Section 2.2.5: Algorithm performance and Figure 3. STM32 Nucleo: LEDs, button, jumper.
Добавена е информация за съвместимост на разширителната платка X-NUCLEO-IKS01A3.
20 май 25 г 4 Актуализирано въведение в раздела, раздел 2.1: MotionPW надview, Section 2.2.1: MotionPW library description, Section 2.2.2: MotionPW APIs, Section 2.2.4: Demo code, Section 2.2.5: Algorithm performance, Section 2.3: Sample application, Section 2.4: MEMS Studio applica

 

ВАЖНО СЪОБЩЕНИЕ – ПРОЧЕТЕТЕ ВНИМАТЕЛНО

STMicroelectronics NV и нейните дъщерни дружества („ST“) си запазват правото да правят промени, корекции, подобрения, модификации и подобрения на ST продуктите и/или на този документ по всяко време без предизвестие. Купувачите трябва да получат най-новата подходяща информация за продуктите на ST, преди да направят поръчки. Продуктите на ST се продават в съответствие с правилата и условията за продажба на ST в момента на потвърждаване на поръчката.
Купувачите са изцяло отговорни за избора, подбора и използването на продуктите на ST и ST не поема отговорност за помощ при прилагането или дизайна на продуктите на купувачите.

Никакъв лиценз, изричен или подразбиращ се, за права върху интелектуална собственост не се предоставя от ST тук.
Препродажбата на продукти на ST с условия, различни от информацията, посочена тук, анулира всяка гаранция, предоставена от ST за такъв продукт.
ST и логото на ST са търговски марки на ST. За допълнителна информация относно търговските марки ST вижте www.st.com/trademarks. Всички други имена на продукти или услуги са собственост на съответните им собственици.

Информацията в този документ отменя и заменя информацията, предоставена преди това в предишни версии на този документ.

© 2025 STMicroelectronics – Всички права запазени

Внедряване

A sample implementation is available for X-NUCLEO-IKS4A1 and X-NUCLEO-IKS01A3 expansion boards mounted on specified development boards.

Техническа информация

For detailed functions and parameters of the MotionPW APIs, refer to the MotionPW_Package.chm compiled HTML file намиращ се в папката Документация.

API

  • MotionPW_GetLibVersion(char *версия)
  • MotionPW_Initialize(невалиден)
  • MotionPW_Update(MPW_input_t *data_in, MPW_output_t *data_out)
  • MotionPW_ResetPedometerLibrary (невалиден)
  • MotionPW_ResetStepCount(невалиден)
  • MotionPW_UpdateEnergyThreshold(число_с_поплавък *праг_на_енергията)

Спецификации

  • Име на продукта: MotionPW крачкомер в реално време
  • Съвместимост: X-CUBE-MEMS1 разширение за STM32Cube
  • Производител: STMicroelectronics
  • Библиотека: Библиотека за мидълуер MotionPW
  • Събиране на данни: Акселерометър
  • Sampлинг Честота: 50 Hz

Често задавани въпроси (FAQ)

В: Мога ли да използвам библиотеката MotionPW с MEMS сензори, които не са ST?

A: Библиотеката е предназначена само за ST MEMS сензори.
Съвместимостта с други MEMS сензори не е гарантирана.

Въпрос: Какви са необходимите данни от акселерометъраampчестота на линг?

О: Необходимите sampling frequency is 50 Hz for accurate detection of steps and cadence.

В: Как да инициализирам библиотеката MotionPW?

A: Call the MotionPW_Initialize() function before using the fitness activity library. Ensure the CRC module in the STM32 microcontroller is enabled.

Документи / Ресурси

Разширяване на софтуера за сензори и алгоритъми за движение ST X-CUBE-MEMS1 [pdf] Ръководство за потребителя
STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, X-CUBE-MEMS1 Разширение на софтуера за сензори и алгоритъм за движение, X-CUBE-MEMS1, Разширение на софтуера за сензори и алгоритъм за движение, Разширение на софтуера за алгоритъм за движение, Разширение на софтуера за алгоритъм, Разширение на софтуера

Референции

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са маркирани *