Internet of Things Foosball – Part 2
…continuing from Internet of Things Foosball – Part 1
We got a team of four undergraduates who applied for this project. They immediately recognize that this Final Project was not some ordinary project. This project would both mean a grade deal for the people in the company and also would this project challenge their techincal skills to their highest level.
They would have to come familiar with a raspberry and its sensors. Build up a knowledge with SAP HANA and its endless possibilities and to evaluate if the SAPUI5 was applicable as a web app. As much as the enthusiasm drove the team to get this started on both hardware and software they first had to go through some learning material.
When all members of the team had gone through the basics(ie blogs and tutorials from Thomas Jung ) it was now time for business. At this time they could more understand the roles of each object and finalized the architectural view of the whole project. The architectural mockup looked like this.
They soon finalized a solution in the raspberry. The raspberry had a simple role which was simply to capture the goal events and sends a HTTP POST via api to SAP HANA. The api’s where created with the SAP HANA XS application framework.
The api was build upon a simple db model.
Although this model was quite simple it was enough from our original specifications. Now it was time for the imagination to start building up and find out what kind of statistical data we wanted to get from the data created with this model. We decided to do the following:
- Most wins
- Most played games
- Most scored/conceded goals
- Highest/Lowest win percentage
- Quickest/Slowest goals
- Winning/Loosing streak
- Greatest comback
- Wall of Shame
- Best partner, Worst partner. Easiest opponent, Toughest opponent etc.
It was almost impossible to recognize at the beginning that this was all possible with a simple data model and the power of SAP HANA.
However this list of statistical data did not show which player was ranked the highest. Therefore the team implement an ELO score algorithm which was a brilliant idea. Not only did they implement a statical ELO score but also a ELO historical view.
As the time got passed and the delivery date got closer the team decided not use SAPUI5. Instead they would build the UI using AngularJS as they where more familiar with it. And also this decission was made because of the requirements to use WebSocket for an immedied score update.
The landing page whould show an ongoing game and the routes to the player/team selection, statistics view etc.
It is an understatment to say that the final outcome was much more than we hoped for.
It can be seen from this video