BusyBear
Contents
Project Proposal
Overview
It always seems like an impossible task to find an open table to work or a quick line for food across the WashU campus. BusyBear's goal is to create a database that is accessible to WashU students that will show the population and busyness trends of popular locations on campus, beginning with Bear's Den. By using a network adapter connected to the Raspberry Pi, we will receive an approximate measurement of busyness based on the number of found MAC addresses for a specific region. By looking at pictures taken simultaneously with the MAC address collection, a historic trend between the number of found MAC addresses and relative busyness can be determined. We hope to be able to store this information in a database hosted by AWS and display this data on a website. Our end goal is to gather information to allow the WashU community to create more educated decisions regarding where to go and when to go there.
Team Members
Thomas Emerson
Tom Goon
Allison Todd
David Tekien, TA
Jim Feher, Instructor
Links
[Project Log]
[Project Presentation]
[GitHub Repository]
[Network Adapter Monitoring Mode Tutorial]
Objectives
- Learn and be able to code in Python as related to the Pi
- Use sniffing/MAC tracking method in the analysis of busyness
- Investigate the use of the camera in the analysis of busyness
- Be able to monitor busyness fairly accurately by filtering detected devices
- Compare busyness at different times of day and between buildings
- Design a GUI for an aesthetically pleasing and useful website
- Host a website displaying useful and relevant data through Amazon Web Services (AWS)
Challenges
- Limited experience with working with WiFi receivers or anything to do with MAC Addresses
- Limited knowledge of Python and Raspberry Pi
- Connecting our data with a database, AWS, and a website
- Privacy Concerns
Gantt Chart
Budget
Item | Description | Cost | Link |
---|---|---|---|
AWS | Website Hosting | $5 / month | https://aws.amazon.com/pricing/?nc2=h_ql_pr |
2 x TL-WN722N | Network Adapter | returned: $7.21 | https://www.amazon.com/TP-Link-TL-WN722N-Wireless-network-Adapter/dp/B002SZEOLG |
1 x 5dBi Long Range WiFi for Raspberry Pi | Network Adapter | returned: $5.00 | https://www.amazon.com/5dBi-Long-Range-WiFi-Raspberry/dp/B00YI0AIRS/ref=lp_9026119011_1_1?srs=9026119011&ie=UTF8&qid=1550447401&sr=8-1 |
1 x Alfa AWUSO36NH High Gain USB Wireless G/N Long-Range WiFi Network Adapter | Network Adapter | $31.99 | https://www.amazon.com/Alfa-AWUSO36NH-Wireless-Long-Rang-Network/dp/B0035APGP6/ref=sr_1_1_sspa?keywords=alfa+network+adapter&qid=1553045771&s=gateway&sr=8-1-spons&psc=1 |
mybusybear.com | Domain Name | $12.00 | DomainPrice.jpg |
Total Cost | $71.20 |
Design and Solutions
Build the Device
We began by constructing a device to collect MAC addresses. Initially, we had hoped that with the RaspberryPi's WiFi capabilities, we could simply use the base hardware for detection. We quickly determined that the RaspberryPi was not capable of entering a monitoring mode[1], and we would need external hardware to serve this purpose. We went through a variety of external network adapters, and ultimately found one with both monitoring mode capabilities and compatibility with the RaspberryPi [2]. Using the Network Adapter's functionality will be explored in the Collect Information section and in the Network Adapter in Monitoring Mode tutorial[3].
Collect Information
Create a Website
Tentative Website Layout
Put It All Together
Results
Next Steps
References
Not Quoted
Past Projects
- [Tracking People/MAC]
- [Pi Wifi/Bluetooth]
- [Pi Network] (is quoted)
- [Pi WiFi Monitor]
Pi Camera
Pi Blinking LED
nmap
- [Commands]
fping
- [Example]
openCV
kismet & monitoring mode
Regex/Dictionary/API
- [MAC Address Vendor Lookup API]
- [Python Dictionary]
- [More Python Dictionary Documentation]
- [CSE330 Regular Expressions Wiki]
- [Lookahead/Lookbehind Regular Expression Help]
- [Regular Expression Online tester]
- [Wireshark OUI lookup]