Surprisingly, in 2019 we get targeted ads based on places we visit, yet wasting time in the queue is still a problem. We propose a solution to this.
There is currently no commonly used service providing real-time information about crowd density on inmportant places (restaurants, shops, sport events, ...)
What it does
Obtains real time data about crowd size at certain locations
How we built it
Every device connected to the WiFi periodically sends WiFi probe requests, so that the user can quickly switch routers if needed. We "sniff" these probe requests on our 3 Raspberry Pis in order to estimate crowd sizes.
There are 3 components to our project:
- We needed to set up the Raspberry Pi's so that they would sniff the WiFi probe requests and continuously send the acquired data to our database
- We set up a database on AWS that would receive the raw data in order to obtain a count of probe requests and send the properly formatted to the website.
- We set up a website that shows the live map of EPFL and the density of people.
Challenges we ran into
Setting up the Raspberry Pi's to detect the WiFi probe requests: The software for this is really poorly documented online.
Initially we also had communication problems as we all wanted to do everything perfectly -- we quickly learnt that in order to make progress we had to trust that everyone in the team would do their work.
Accomplishments that we are proud of
We are proud that, despite the many issues encountered during installations and setting up the raspberry-pi, we managed to pull through. While we all had different tasks, we helped each other out whenever someone encountered a bottleneck, and this team effort was key in getting a working prototype.
What we learned
Set monitor mode on raspberry to be able to sniff and use probe requests from any wifi device. From that, we estimate the crowd size at a certain place.
Use cloud services to collect raw data coming from IOT devices and process them to be able to display a nice crowd visualization on a frontend.
What's next for Sardines
Of course, the first goal is more raspberry-pi! And then, more raspberry-pi!
Joking aside, another idea we had is to use the crowd data to some get time-series on crowd (think of temperature data). This is also similar to what google does with location rates.