Inspiration

Today's technology is becoming more complicated, faster, more uncertain and unpredictable. So it was no surprise that Siemens is also facing this challenge - but with rail networks right on a very large scale. After the initial informations and the workshops, we could barely wait to get started and finally debug Siemens rail tracks with the Big Data they provided. Choo-choo, please get in! 🚄🚃🚃 👾

What it does & How we built it

Right from the start, our plan was to develop a solution that was as complete and production-ready as possible. We decided to not only load the provided data into our databases and use it as historical data, but to be able to load and process data in real time. Where possible, we have containerized our software to make deployment simpler and to increase scalability. 🐳

To capture data from the sensors we decided on running a MQTT broker. The required client for this can be implemented in a very resource-efficient way and should run without any problems on the existing hardware of the trains. From the MQTT broker the data is automatically loaded by the server agent Telegraf into the time series database InfluxDB. First calculations, aggregations and the generation of alarms take place in the database itself. Asynchronously we run calculations using ML/AI modules for the detection of anomalies and prediction of errors. A REST API encapsulates the query of data sets and enables the simple execution of further static analyses, as well as correlations with weather data provided by OpenWeather. 💪💻

Our modern dashboards visualize the data in a clean and intuitive way. Live tracking of trains is possible due to the geolocation data provided and of course you can select the time range you want to focus on dynamically. 🗺

Challenges we ran into

Our team is very diverse and uses different programming languages and frameworks. Setting up CI with GitHub was thus a bit more difficult than usual. Unfortunately, onboarding with Azure did not work too well either, which is why we did not manage to deploy the Docker containers in the cloud as time coming to an end. 🤔

Accomplishments that we're proud of

We've built a production-ready data pipeline, can debug trains in real time and even access weather data, and the visualization looks really cool too. What more could you ask for?! A whole lot of things we are really really proud of! 😀

What we learned

Collaborating with different areas (Front-/Backend, DevOps, ML/AI, ...) has shown us how diverse the lines of code on our computers can be and expanded our perspectives. We had many good and long discussions - and this in an international team across different time zones. No matter how experienced, each of us leaves HackZurich stronger and with a lot of new knowledge. 📖✌

What's next for stAItion

stAItion is a prototype of an environment that can improve the quality of train tracks (and in principle other systems) in a sustainable and efficient way. We would like to develop it further and improve our analytics and ML/AI models as well as to deploy our software in the cloud. ⛅😋

Built With

Share this project:

Updates