Skip to content

MossDog/FYP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Final Year Project (FYP)

Overview

This project is a comprehensive system designed to monitor and analyze vital signs and environmental data in real-time. It integrates hardware sensors, a backend server, and a frontend visualization tool to provide insights into user health and safety. The system is particularly focused on detecting anomalies such as falls or abnormal vital signs.

Features

  • Frontend Visualization: A Java-based graphical interface using Processing to display real-time data and trends.
  • Backend Server: A Python Flask server that processes data, performs analysis, and stores observations in a MariaDB database.
  • Hardware Integration: A Raspberry Pi client captures vital signs using sensors like MAX30105 (pulse oximeter) and MLX90614 (temperature sensor).
  • Database Management: Observations and room data are stored in a MariaDB database, managed via Docker.
  • Real-Time Alerts: The system detects falls and abnormal health conditions, categorizing them into green, orange, or red alert levels.

Project Structure

Frontend/
  java/
    src/
      DbDao.java          # Database access object for retrieving and storing data
      Main.java           # Entry point for the frontend application
      Observation.java    # Data model for observations
      Room.java           # Data model for room information
      VisualSetup.java    # Visualization logic using Processing
Server/
  Server.py               # Flask server for processing and storing data
  DbDao.py                # Database access object for the server
  ServerTests.py          # Unit tests for server functionality
  docker-compose.yml      # Docker configuration for MariaDB
PiClient/
  VitalCaptureClient.py   # Raspberry Pi client for capturing and sending data
  user_data.txt           # Stores user-specific data
  • Hardware: Raspberry Pi with MAX30105 and MLX90614 sensors
  • Software:
    • Java Development Kit (JDK)
    • Python 3.8+
    • Docker and Docker Compose
    • MariaDB

Setup

  1. Database:

    • Use the docker-compose.yml file to set up the MariaDB database:
      docker-compose up -d
    • The database credentials are pre-configured in the docker-compose.yml file.
  2. Server:

    • Install the required Python packages:
      pip install flask numpy opencv-python mysql-connector-python
    • Run the server:
      python Server/Server.py
  3. Frontend:

    • Compile and run the Java application in Frontend/java/src/Main.java.
  4. Raspberry Pi Client:

    • Install the required Python packages:
      pip install max30105 smbus2 mlx90614
    • Run the client:
      python PiClient/VitalCaptureClient.py

Usage

  1. Start the database and server.
  2. Launch the frontend application to visualize data.
  3. Run the Raspberry Pi client to capture and send data to the server.
  4. Monitor the frontend for real-time updates and alerts.

Testing

  • Unit tests for the server are located in ServerTests.py. Run them using:
    python -m unittest Server/ServerTests.py

Author

  • Luke Moss Hughes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors