Everybody who goes dancing at the club wants to find the place where people are having the most fun. People don't like to be stuck at dead areas, you know.
What it does
One way to measure approximately how much fun someone is having is by monitoring their heart rate. Using a wearable sensor* and Estimote beacons placed throughout the venue, the iPhone app measures the wearer's heart rate and location. This information is sent every two seconds to a local server hosted on a Raspberry Pi. An average heart rate is calculated for each "area", and that is reflected as a colour gradient back on the user's phone. Areas with higher heart rate averages are redder; those with lower averages are greener. This way, clubbers can easily find the area where people are having the most fun.
*For the demo, the user's heart rate is adjusted with a slider in the app.
How we built it
An Apache2 web server is hosted on a Raspberry Pi and given an IP address. The phone sends the user's information via a GET post (encoding it in the URL). The response from the server contains the calculated values, including the locations of each beacon specific to the room, and the average heart rate in each area. The phone parses and interprets the information, then shows it graphically to the user.
Challenges we ran into
By nature, Estimote beacons are limited in their ability to accurately calculate distances, as signal strength is susceptible to attenuation from interference. This could sometimes lead to discrepancies with which area the user is located in.
As well, the team had only one iPhone to simulate a situation that should in reality involve tens or hundreds of people. In order to create an "average" heart rate of many users, each instance of the app is given a unique ID. This means that terminating the app creates a "ghost" user that remains in its location and whose heart rate is taken into account.
Accomplishments that we're proud of
This is the first IoT project that we successfully finished.
What we learned
We learned how to manipulate and manage MySQL server, and communicate with devices through Wi-Fi.
What's next for FunFinder
The most important step in making this project a reality is finding a way to incorporate a very cheap heart rate monitor circuit into disposable wristbands. This way, they can easily be distributed to people as they arrive and do not need to be returned.