Skip to content

Latest commit

 

History

History
198 lines (156 loc) · 16.9 KB

README.md

File metadata and controls

198 lines (156 loc) · 16.9 KB

Pyrrha

License Slack

Prometeo Solutions S.L. created Prometeo as a Call for Code submission that won the top prize in the Global Challenge. In 2021, Pyrrha was contributed to the Linux Foundation as the open source core of Prometeo in order share the technology and provide a way for others to improve it for the benefit of all.

The Pyrrha mission is to help protect firefighters from the immediate and long-term health impacts from the smoke and toxins they inhale by providing real-time information on exposure and by calculating longer-term averages. The project uses custom sensors, smartphone and smartwatch apps, data science, and a dashboard to provide decision-making insight and information.

Improved by field tests in the Catalonia region of Spain and through the support of IBM Service Corps volunteers, our hope is that Pyrrha can also provide a powerful solution to assist wildlands firefighting teams around the world in their battle against more frequent and more devastating wildfires and bushfires.

Get started

Pyrrha v1 (Prometeo v4)

The first version of the Pyrrha project has been released as a Call for Code® with The Linux Foundation project. Pyrrha will carry on as a separate name distinct from the Prometeo Solutions trademark, the flame-colored haired daughter-in-law of Prometheus in Greek mythology.

The story

Watch this video to learn about the Pyrrha solution based on Prometeo's original Call for Code 2019 winning application:

Story-Video

Solution at a glance

prometeo:pyrrha diagram

  1. The firefighter logs into the ruggedized Samsung smartphone via IBM App ID. Devices are paired through Bluetooth.
  2. The device sensors capture toxin levels. The device sends stored readings to the phone at regular intervals.
  3. The mobile application relays data to the IBM IoT platform.
  4. The MQTT client service listens for incoming messages from the IBM IoT platform.
  5. The MQTT client stores the data in the MariaDB relational database.
  6. The MQTT client sends the data to the WebSocket server.
  7. The Rules-Decision service wakes up every minute to calculate the 10 mins, 30 mins, 60 mins, 4 hours, and 8 hours time-weighted averages for each gas.
  8. The dashboard queries the database to show the historical data.
  9. The dashboard connects to the WebSocket Server to show live data and alerts the user if the levels go above certain pre-determined thresholds.
  10. The command center can view the dashboard using the web browser on a laptop or tablet.
  11. The mobile application regularly requests status from the Rules-Decision service and emits the result via device LED and Samsung phone/watch vibrations.

Pyrrha projects

Name What it does
Pyrrha This repository, the main landing page for learning project details.
Dashboard The Carbon and React based dashboard that shows real-time readings and long-term averages.
Database The MariaDB database where real-time readings are stored and along with calculated averages.
Deployment-Configurations Various GitHub Actions, Helm Charts, and other deployment assets and configuration files.
Firmware The Arduino based sketch that connects the device to Bluetooth and stores sensor data.
Hardware The Arduino microcontroller, battery, and sensor configurations. Moving towards PCB.
Mobile-App The Android Java application that targets Samsung smartphones. Relays sensor data from the device.
MQTT-Client Consumes MQTT messages and stores them in the database for persistence and relays over WebSocket.
Rules-Decision Analyzes the raw sensor readings and performs calculations to determine exposure over time.
Sensor-Simulator Generates sample data that can simulate readings in the absense of a physical device.
Watch-App The Tizen Web App for Samsung Galaxy smartwatches that can display readings and vibrate alerts.
Website The Carbon and React based single page application for the pyrrha-platform.org site.
WebSocket-Server Relays messages in real time to the dashboard which can be monitored by the control center.

Built with

Quick start

The Pyrrha project consists of multiple microservices running in parallel. We have created a Docker Compose configuration to help you get started with a development environment. Docker Compose is a tool that enables running multiple containers on the same host using a lightweight configuration. The Compose file defines all the services along with the dependencies in the correct order. You can bring up the whole environment by using a single docker-compose up command. Follow the instructions in the DOCKER_COMPOSE.md file to develop Pyrrha.

Get involved

Please read GET_INVOLVED.md to understand how you can contribute to the Pyrrha Project.

We use Slack in the Call for Code workspace #prometeo-pyrrha channel for discussion.

Original Prometeo team

Name Title GitHub Slack
Marco Emilio Rodriguez Serrano Data scientist Marco @marco.rodriguez.serra
Salome Valero Cumplido PhD engineer Salome @salome.valero
Josep Ràfols Full stack developer Josep @joraco
Joan Herrera Firefighter --- ---
Vicenç Ferrés Nurse/EMT --- ---

Prometeo Platform S.L. team

Name Title Github Slack
Salome Valero Cumplido CEO Salome @salome.valero
Marco Emilio Rodriguez Serrano CTO Marco @marco.rodriguez.serra
Joan Herrera COO --- ---

IBM Call for Code team

Name Title GitHub Slack
Daniel Krook CTO Daniel @krook
Upkar Lidder Technical Lead Upkar @upkarlidder
Taeson Black Tech. Solution Specialist Intern Tae @tae.black
Alejandro Quijada Tech. Solution Specialist Intern Alejandro @alejandro.quijada
Charlie Evans Software Engineer Charlie @Charlie Evans

IBM Service Corps team

Name
Brandi Boatner
Dina Tawil
George Zacharakis-Jutz
John Segrave-Daly
Laura J Mokrzycki
Laura Visochek
Marisol Elizabeth Santillan
Nithya Renganathan
Samantha Davis
Upkar Lidder
Vince Siu

Technical Steering Committee

Per the The Pyrrha Technical Charter

Name Organization
Salome Valero Cumplido Prometeo Platform S.L.
Marco Emilio Rodriguez Serrano Prometeo Platform S.L.
Joan Herrera Prometeo Platform S.L.
Daniel Krook IBM
Upkar Lidder Independent

Public meetings

Wednesdays at 2:30pm US ET. Join us on Webex.

Minutes

Recordings

License

This project is licensed under the Apache 2 License - see the LICENSE file for details.