Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/labatata101/oximeter-monitor

Oximeter monitor project using the ESP32 microcontroller and the MAX30100 sensor
https://github.com/labatata101/oximeter-monitor

bot c cpp esp32 fastapi max30100 microcontroller oximeter python rest-api telegram-bot

Last synced: 22 days ago
JSON representation

Oximeter monitor project using the ESP32 microcontroller and the MAX30100 sensor

Awesome Lists containing this project

README

        

# Oximeter Monitor
Project made for my Microcontrollers class, the goal of this project is to collect the heartrate and oxygen saturation data using the ESP32 microcontroller
and the MAX30100 sensor. The whole project is divided into 3 parts/repositories: the [microcontroller firmware](https://github.com/LaBatata101/oximeter-esp32-firmware), the [REST Api](https://github.com/LaBatata101/oximeter-rest-api) for the data management and the [Telegram bot](https://github.com/LaBatata101/oximeter-telegram-bot) for real time data visualization.

An overview of how all the parts works together. When the user puts the finger in the MAX30100 sensor the ESP32 starts reading the data coming from the
sensor every second and then sends the data to the REST Api, for later consumption by clients of the Api. There is two ways to visualize this data in real time,
the first one, the ESP32 hosts a web page that can be accessed with the `http://oximetro.local` URL (the mDNS protocol which is used here for the `oximetro.local` domain name doesn't work on android devices). The second way is through the Telegram Bot, after starting a conversation with the bot
you can type the command `/monitorar` to start monitoring the data from the sensor every second or so (the ESP32 can take up to 5 seconds to send the data to REST Api so some of the data shown by the bot may be repeated), this data is fetched from the REST Api by the bot, to stop monitoring just type the command `/parar`.

The REST Api is a basic CRUD, offering 5 routes to manipulate the data, more information can be found in the REST Api repository.

The installation and running instructions can be found on the repositories mentioned above.

## Circuit Diagram
![image](https://user-images.githubusercontent.com/20308796/185767820-c568fc87-07f3-4737-a4bf-cee4043f3049.png)

## Visualization of the collected data with the web page hosted in the ESP32:

![image](https://user-images.githubusercontent.com/20308796/185768137-be24fe47-a4ee-4b36-8247-a15a35b8b853.png)