This is an old revision of the document!
Author: Ana-Maria Cretan
Master: AAC
The goal of this project is to create a real-time pulse and oxygen level monitor platform using an ESP32 board and MAX30100 sensor. The data provided by the sensor will be displayed in the Adafuit IO interface and interpreted by two flag indicators. The indicators aim to translate the values of the pulse and oxygen level into a simple good(green)/bad(red) lamp indication. If the registered values are out of the normal range, an e-mail alert will be sent to the user/user`s contacts.
In the hardware diagram we used the following components:
The main functionality of the code is displayed by the following diagram. The setup() function is executed first and is used to enable the wi-fi connection, connect to the MQTT client, and config the pulse sensor.
In the setup section of the code, the Wi-Fi connection is established, followed by the MQTT connection for the web application and the configuration of the pulse sensor. During the loop section, the connection to the MQTT client is checked first along with the switch state from the application. The data published to the web display can we stopped at any time (while connected) by turning the switch block off.
The code is developed using Arduino IDE,and the following libraries:
Library | Description |
---|---|
stdint.h | for intermediary variables and calculus |
Wire.h | for the pulse sensor connection |
WiFi.h | to establish the WiFi connection of the ESP32 board |
Adafruit_MQTT.h | used for connection with the web interface |
Adafruit_MQTT_Client.h | to establish the client connection for data publish |
MAX30100_PulseOximeter.h | for interfering with the pulse sensor |
In this section, we will go over the main blocks of the diagram presented in the previous section:
<code c> this is ok </code c>