Final Project for WES237A class, UCSD WES Program, Winter 2023
- Measures Patient Heart Rate
- Measures Patient Respiratory Activity
- Measures Patient Temperature
- Detects Human Presence
- Detects Movement of Patient
- Detects Distance away from Patient
- Streams data values to AWS Cloud Server
- 60GHz Radar module relies on CWFM Doppler Analysis to determine small displacements associated with heart beats and breathing.
- Infrared Temperature Sensor measures light intensity for wavelengths associated with infrared heat signatures.
- ToF Distance Sensor emits infrared light pulses, records the time taken to detect reflections, and correlates time to distance value.
- PYNQ Z2 board joins sensor and networking functionality together to form a discrete health monitoring device
-
Create a functional contactless IoT health monitoring system using the Xilinx PYNQ Z2 board.
-
Support ability to measure cardio, respiratory, and temperature data at a distance from a patient and produce health metrics visualizations in near real-time.
-
Demonstrate and utilize concepts learned in WES 237A lab/lecture.
-
I/O: Uses PYNQ Microblaze for GPIO Digital Write controls for RGB LED Module
-
Multi-Tasking: Uses Python Multiprocessing library to run multiple concurrent data collection and socket connection routines for each sensor
-
Networking: Uses multiple UDP connections and TCP connections to send data to Server
-
Sensors/Actuators/IoT: Uses I2C communication protocol to obtain data from VL53L1XV2 ToF Distance and MLX90614ESF Temperature sensors
-
Xilinx PYNQ Z2 Board
-
Seeed Studio MR60BHA1 60 GHz mm Wave Sensor Onboard MCU processes radar signals and outputs UART messages containing cardio/respiratory health metrics
-
MLX90614 IR Temperature Sensor I2C and PWM compatible sensor Supports measurements taken at distances of ≤12cm
-
VL53L1X ToF Distance Sensor I2C compatible sensor Supports accurate distance measurements of up to 4 meters
- Seeed Studio MR60BHA1 60GHz mmWave Radar Sensor
Note: MR60BHA1 GP1 Pin IO Pin reports human presence detection via digital signal output (3.3V = Presence Detected / 0V = No Presence Detected)
-
USB to UART FTDI Adapter
-
Custom PCB - MR60BHA1-to-USB Adapter
2 Cores vCPU 16 GB EBS Storage
Services Hosted:
- NodeRed
- InfluxDB
- Grafana
NodeJS based Flow Process Manager Application that facilitates data flow and network communications using an assortment of node modules:
- Debug Nodes - output data payloads to debug console
- UDP and TCP Port Nodes - host port communications
- HTTP Endpoint Node - supports HTTP-POST requests
- JS Function Nodes - Parse Received Data
- Influxdb Nodes - Forward Data into Database
Open-source Timeseries Database optimized for IoT applications
- Manages Storage of data entries
- Hosts Retention Policy to maintain long-term data accumulation
- Incorporates Timestamp for each data entry
- Accessed by Grafana Service to support dashboard visualization
Data Visualization GUI and Dashboard Application Reads and displays sensor data from Influxdb Database
-
MLX90614 Temperature Sensor I2C Reading Errors ‘Errno 9 Socket Error Bad File Descriptor’ with multiprocess
-
VL53L1X ToF Distance Sensor Integration I2C Device Detection Problems
-
MR60BHA1 60GHz Radar Sensor Intermittent performance of presence detection pin Serial message querying problems
-
Spend more time troubleshooting I2C write/read steps on MLX90614 Temperature Sensor
-
Integrate bidirectional communications between AWS Server and PYNQ Board
-
Introduce improvements in data filtering to improve accuracy
-
Have PYNQ board facilitate Push Notifications/Alerts based on health anomaly detection
-
Integrate IP Camera stream into Health Monitoring System
1. Login with credentials:
Username : test
Password : test
2. Under Dashboards , click on:
WES237A-Final-Project