We wanted to create something that allowed the user to interact with technology to promote social good. In a day and age where social media is mostly virtual, people are losing connections they have to their physical community. With BEACON we hope to counteract this phenomena and use technology to encourage physical interactions in real time.
What it does
BEACON is an interface that involves Bluetooth beacons which broadcast messages to phones with Bluetooth turned on. Each beacon is associated with an event happening within a 22 meter radius. Upon receiving a "ping" users can send an SMS to the number provided in the message. This opens a dialogue where the user can choose to do one of two things. 1. Connect with other people nearby who are attending the event via SMS. 2. Find out about other functions happening in the city.
How I built it
We used a raspberry pi 3 B+ to act as our Bluetooth beacon. The OS on the pi was raspion. The beacon in our prototype transmits a url with the number that was encoded in hexidecimal using Eddystone URL calculator. We used python to create a flask app and ngrok to interact with the Twilio SMS API to send and receive SMS. We used UI Path’s online data scraper feature to scrape events from EventBrite to provide a list of events in their city with their interest to fully engage our end-user and ensure they find a function that suits their taste.
Challenges I ran into
Making the python code to respond to multiple texts through Twilio was difficult as it required us to read the text using Python which works different than SMS. In addition, getting the flask app and ngrok tunnel to interact with each other was difficult at first. With raspberry pi we had difficulties connecting it to the OS and then having it interact with Twilio by receiving the number. In the end we decided a URL was the best way to go even though in the future the ping would be sent directly to the phone without internet connection. It was also difficult to send the data scraping results directly to the phone as we had two separate computers with different capabilities. So we used a google doc for that.
Accomplishments that I'm proud of
We are proud that we got to learn many new skills doing this hack. We learned how to initiate a Beacon using raspberry pi, more effectively use Twilio, are more comfortable with command prompt and python packages, as well as interacting with the linux on raspberry pi. Our goal was to make a presentable project and we look forward to demonstrating how far we have come.
What I learned
In addition to what was mentioned above we learned how to incorporate two very different ideas and skill sets into one structured project. It took a lot of brainstorming and discussion, but once we started it, we learned to work together as a team.
What's next for BEACON
In the near future, BEACON will not require any third party applications, only built in SMS texting and Bluetooth. We also plan on improving the integration between the EventBrite data scraper and the SMS interface. Another feature we would like to implement in BEACON is connecting users looking for events, with each other based on mutual interests.