Skip to content

Latest commit

 

History

History
27 lines (21 loc) · 3.01 KB

README.md

File metadata and controls

27 lines (21 loc) · 3.01 KB
miosixlogo 1024px-STMicroelectronics svg keras image Influxdb_logo svg

Predicting Atmospheric Pressure using LSTM Neural Network on STM32-NucleoF401RE and Miosix RTOS

The goal of this project is to embed an LSTM Neural Network produced by MXCubeAI tool of STMicroelectronics within an RTOS for microcontroller. As a use-case for the project it has been considered the prediction of atmosferic pressure trained with a dataset taken from a certified weather station (http://meteovalmorea.it/). After the deployment, to get the prediction from the neural network, it is considered pressure data taken from LPS22HB pressure sensor installed on IKS01A2 MEMS sensors board. For LSTM neural network implementation details consider this link. For a more precise presentation of the project please refer to this paper.

Tools

  • NetbeansIDE: used for modifying and compiling the Miosix Kernel;
  • PyCharm: used for the neural network implementation and training;
  • Miosix RTOS: OS used for thread implementation and synchronization which runs on the considered board;
  • X-CUBE-AI: tool used to convert the .h5 file obtained from Keras to a STM32-optimized library.

Main solution design

sequence

System test performance

es_performance valmo es-influxdb

For debugging using NetBeansIDE

  • install gdbserver plugin for NetBeansIDE
  • paste the following configuration file to the following location: miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f401re_nucleo/
  • run: openocd -f miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f401re_nucleo/stm32f401re_nucleo.cfg
  • within NetBeansIDE: Debug, Attach Debug : select "gdbserver" and as target "ext :3333", OK