This was a project for the 3rd Year EE Embedded Systems Module.The final idea was to develop a smart mask that can also be used as a wearable. It is ideal for doctors who are our target customers, as well as people who live in very polluted areas, where air quality is extremely variable.
The product keeps track of their calories by measuring steps, heart rate through a PPG sensor, and also monitors the surrounding air quality using VOC and CO2 sensors. For the development of the product, we spoke to various doctors and engineers as well as conducting much of our own market research to prototype a product that could truly be used in the widespread commercial sector. Please refer to our marketing website to see the latest information about the mask and our marketing research. While the mask was not actually deployed commercially, the results and study data were developed into a research publication and published in a journal of electronics textiles as available here (https://www.mdpi.com/2673-4591/52/1/15). A video of the prototype project is available here.
compressed_embedded_systems.mp4
Project guide is available here: https://github.com/edstott/ES-CW1/blob/main/README.md
Marketing website: https://pmz7696.wixsite.com/opencare
A total of 4 development branches were used to build the frontend of the website as well as program the hardware. The final folders serverside and hardware_branch contain the complete and finished code that our group used to demonstrate the project. The presentation which we used in the demonstration is also uploaded here.
Please wire the 4 sensors according to documentation (with GPIO 23 and 24) used as the SCL and SDA pins for the CO2 sensor. Following this run these commands taken from the directory hardware_branch.
pip3 install requirements.txtpython3 main.py Visit folder containing manage.py -> serverside_branch/OpenCareMQTT2
To run server locally:
python3 manage.py runserverTo run server on specified port:
python3 manage.py runserver 8000 #port numberTo run server on local area network for raspberry communications:
python3 manage.py runserver 0.0.0.0:8000 #port number can be changed
#Then check your assigned ip to acess it using ipconfig, etc...
Our group had a primarily flat structure with each member focusing on specific section for development and deployment. This provides a very brief description of the roles and contributions for each of the members in this group.
Matthew Setiawan (Frontend), Omar Zeidan (Communications MQTT), James Ong (Hardware), Milan Paczai (Hardware)
- Mondays: 11:30 AM
- Wednesdays: 10AM - 12PM
- Friday: 10:00AM
- 23 Jan - Week 1: raspberry setup, idea finalised
- 30 Jan - Week 2: website setup, MVP in progress
- 6 Feb - Week 3: MVP Ready: Week 3 end 1 Feb (ie two weeks before deadline - confirm!), video produce
- 13 Feb - Week 4: Deadline: 15 Feb
- GitHub code that integrates sensor with platform and uploads data to servers
- Website that markets the product
- Video demonstrating the functioning of the product - script is available here: https://imperiallondon-my.sharepoint.com/:w:/g/personal/mzp20_ic_ac_uk/EfugM0uc02JAo0X8RFixDqABNL0SZZwlMIuWukn8jrV1zg?e=lh35id
- accelerometer
- ppg sensor
- co2 sensor
- temperature and humidity sensor
- Raspberry Pi Zero
- UART cable