Volcano App — The Story Behind the Python Reference App and SDK
This post was originally published on the Predix Developer Network Blog August 30, 2017.
pip install predix
If that isn’t working for you I highly recommend The Hitchiker’s Guide to Properly Installing Python. Tutorials and sample code are being rolled out but in the mean time, let me start from the beginning…
A Link to the Past
Frank A. Perret was hired by Thomas Edison to develop a safe and reliable battery. Shortly after, Perret started his own company, the Elektron Manufacturing Company, that produced small high-torque motors that could be used in elevators.
The story goes that at age 35 he was suffering from burnout and overwork as an engineer. His doctor advised rest and a change of scenery. His questionable choice for spring break was Vesuvius where he spent the following 15 years studying that volcano.
An early adopter of IoT (minus the Internet), Perret used sensors he developed for the existence of harmonic tremors and set them up for the 1906 eruption of Mount Vesuvius and began collecting data while writing The Vesuvius Eruption of 1906, recognized as “the most graphic and complete account ever published on any volcanic eruption and its aftermath.” Shortly after Vesuvius there were earthquakes around the world in San Francisco, Hawaii, and Formosa highlighting the global impact of volcanoes.
Lava Lake to Data Lake
Inspired by stories like this, GE launched an expedition with Sam Cossman and his team from Qwake to develop a proof of concept for Remote Monitoring and Diagnostics in the most extreme conditions anybody could think of — a volcano.
The Digital Volcano story walks through the history of the project, showcases the background of the location and the team, while giving insights into some of the data science done on the data collected. It’s a fun and fascinating read involving Lava Guns, Zip Lines, and a 3D model of the crater so that you can see where the sensors were installed.
You can get to the main site at: https://www.ge.com/digitalvolcano/
Source Code from an Active Volcano
- Architecture: I’ll explain which services were used and what the purpose is of each to solve the challenges of the Internet of Volcanoes.
- Service Development: We’ll look at the development of a Flask Application and API designs when working with Predix Cloud services.
- Python SDK: I’ll give samples of how to use the Python SDK that can interact with Predix Cloud services and how they can be used together for data analysis.
- User Interface: The simple app provides a helpful getting started reference point for Python developers to build Predix UI dashboards.
- DevOps: Preparing for deploying this app involved logging, monitoring, and maintenance in a Cloud Foundry environment.
- Predix Studio: Providing an example for how a low-code development environment like Predix Studio can aid with data exploration and integration for somebody like a volcanologist that may not have full-stack developer experience.
Since this application is not for commercial purposes, we can share the details — open source, open data, available for you to use in your own Industrial IoT Application development projects.