Always having to travel from room to room looking for a decent place to study gets annoying quickly. Whether you are in a library looking for a quiet place to study, or a building you are unfamiliar with, trying to find a quiet place to read, we wanted to come up with a solution that would make it easy to see the real time status of a particular environment.
What it does
This project was built on the premises of combining hardware with software to create a revolutionary idea. Mongo Bongo is a powerful network hidden behind a beautiful website. It gathers and processes raw information from sensors constantly gathering information, and converts it into a simple interface that anyone can understand. Long story short, we base the status of a room by the inputs we get from the sensors. We have four sensors, vibration, sound, light, and temperature. For example, if the sound in a particular classroom is louder than a certain threshold, and the lights are on as well, we can assume that the classroom is either busy or in use, and is not a fit place to study. Additionally, if the vibration sensor has a high reading, we can assume that not only is the room not quiet, but also rather active and not a good place to study. On the other hand, if a room is dark, and there is very little sound, we can assume that the classroom is a better place to study, and that information will be displayed to the end user on a nicely made website.
How we built it
We have a temperature sensor, a vibration sensor, a photoresistor (light sensor), and a microphone. Data is constantly being collected across different classrooms and that data is wirelessly sent from the sensors through the adafruit Wi-Fi shield (managed with Arduino), then transmitted using Python to a server running Mosquitto and MongoDB to catalog the sensor outputs. Then the Mosquitto server publishes the raw data to a Java API that then retrieves the data, parses it, organizes it, and then stores it on the MongoDB server. Then lastly that information is retrieved from the MongoDB server by a web-server in order to publish live statuses of different rooms to a beautifully custom made website that easily illustrates what rooms are available based on an algorithm that relies on predetermined thresholds.
Challenges we ran into
Just about everything. The first night we had issues authenticating the Adafruit Huzzah wifi micro controllers to the wi-fi network in order to wirelessly transmit information. Another huge issue we had was getting them to communicate using the MQTT messaging protocol to our server so that we could ultimately use the data. The issues with information transmission didn't stop with the Adafruit devices.
When trying to fetch data through MQTT with our Java client, we were unable to create a secure connection to the MQTT house.
Accomplishments that we're proud of
Manipulating data collected by 5 independent wireless through over 10 platforms with different interfaces to create a beautiful end result presented by our web server was by far the most difficult and also gratifying accomplishment of the weekend, as we ultimately only integrated all of these different systems a few hours before our deadline.
What we learned
A lot. A whole lot. Some of us learned new coding languages. Others learned how to spoof MAC Addresses. It was a long painful journey, but if anything the knowledge was worth it.
What's next for Mongo Bongo
Mongo Bongo as itself was never intended to be a long term project, however when speaking to some Music students from The University of the Arts in Philadelphia, we realized that this system could fill a need of theirs to be able to determine if practice rooms were open in their school buildings, saving them time and energy. We plan to stay in touch with them and hopefully develop a prototype for them to pilot.
In the short term, we hope to apply the skills we've used to build an Internet-of-Things system within our own dorm rooms, apartments, and houses. We plan to continue running our Mosquitto and MongoDB server will stay up for the time being to facilitate these project. We have only scratched the surface of what is possible with these devices, and they will ultimately have a significantly greater value-add as part of our every day lives.