https://github.com/hajjsalad/embedded-ai-for-predictive-maintenance
Industrial-grade data logger using STM32 and Zephyr RTOS for real-time sensor data collection and on-device anomaly detection with TensorFlow Lite for Microcontrollers.
https://github.com/hajjsalad/embedded-ai-for-predictive-maintenance
c dfu-util embedded factory-method-pattern predictive-maintenance stm32 tensorflow-lite zephyr
Last synced: about 1 year ago
JSON representation
Industrial-grade data logger using STM32 and Zephyr RTOS for real-time sensor data collection and on-device anomaly detection with TensorFlow Lite for Microcontrollers.
- Host: GitHub
- URL: https://github.com/hajjsalad/embedded-ai-for-predictive-maintenance
- Owner: HajjSalad
- Created: 2025-04-14T19:34:46.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-19T02:20:07.000Z (about 1 year ago)
- Last Synced: 2025-04-23T21:15:46.609Z (about 1 year ago)
- Topics: c, dfu-util, embedded, factory-method-pattern, predictive-maintenance, stm32, tensorflow-lite, zephyr
- Language: C++
- Homepage:
- Size: 192 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Embedded AI Data Logger for Predictive Maintenance
---
### 📌 Project Overview
---
### 🔧 Key Features
✅ **Modular & Scalable Design**
🔹 **Factory Design Pattern** in C++ for dynamic creation of Machines.
🔹 **Plug-and-play expandability**: Add more Machines for larger deployments.
✅ **Multi-Sensor Monitoring**
🔥**Air Compressor**: Temperature, Pressure, Vibration
💧**Steam Boiler**: Temperature, Pressure
♨️**Electric Motor**: Tempearture
*( )*
✅ **On-Device Detection**
---
### 🏗 System Architecture
```
[Sensors] →
```
### 🛠️ Tools and Software
𐂷 **Sensor Node**
⎔ **VS Code** - Code editor for STM32 firmware development
⎔ dfu-utils -
⎔ CMake -
---
### 📂 Project Code Structure
```
📁 Data-Logger-Predictive-Maintenance/
│── 📁 src/
│ ├── 📄 main.c (Entry point of the program)
│ ├── 📄 sensor.cpp / .h ()
│ ├── 📄 sensor_wrapper.cpp / .h ()
│ ├── 📄 tflite_wrapper.cpp / .h ()
│ ├── 📄 autoencoder_model.cc ()
│── 📁 CMakeLists.txt/
│── 📁 prj.conf/
│── 📁 sample.yaml/
│── 📁 tflite-micro/
│ ├── 📄 tensorflow/ ()
│ │ ├── 📄 lite ()
│── 📁 data/
│ ├── 📄 simulated_data.py (Python script to simulate sensor data)
│ ├── 📄 simulated_data.zip (Compressed simulated sensor data)
│ ├── 📄 autoencoder.tflite
│ ├── 📄 simulated_data
│ │ ├── 📄 machine_1 (Machine type 1: Air Compressor)
│ │ │ ├── 📄 machine_1_temp.csv (Temp sensor values)
│ │ │ ├── 📄 machine_1_pressure.csv (Pressure sensor values)
│ │ │ ├── 📄 machine_1_vibration.csv (Vibration sensor values)
│ │ ├── 📄 machine_2 (Machine type 2: Steam Boiler)
│ │ │ ├── 📄 machine_2_temp.csv (Temp sensor values)
│ │ │ ├── 📄 machine_2_pressure.csv (Pressure sensor values)
│ │ ├── 📄 machine_3 (Machine type 3: Electric Motor)
│ │ │ ├── 📄 machine_3_temp.csv (Temp sensor values)
│── 📄 README.md (Documentation)
```