BusyBear log
Contents
Link to Project Page
Week of 1/28/19 (1)
- 01/28
- Whole Group: Had a group meeting with Profesor Feher and discussed possible implications of our busybear concept. In addition, we researched similar projects and found a variety of sources. (https://www.crc.id.au/tracking-people-via-wifi-even-when-not-connected/ and https://www.raspberrypi.org/forums/viewtopic.php?t=47059) - 1 hour
- Whole Group: Met with David and further went over the specifics of our project including discussing the possibility of either using wifi based or camera-based system. In addition, David provided the link to some working projects that also used Arduino as well as a tutorial (https://picar.readthedocs.io/en/latest/chapters/introduction.html) - 1 hour
-01/29
- Whole Group: Looked more into proof of concepts and specific tutorial on how to track devices using wifi/Bluetooth and found a variety of in-depth albeit confusing sources. (https://makezine.com/projects/build-raspberry-pi-network-scanner/ and https://www.youtube.com/watch?time_continue=1&v=fmhjtzmLrg8 and https://zone13.io/post/wifi-monitoring-using-raspberry-pi/) - 1 hour
-01/30
- Whole Group: Met to try and finalize general goals and project. We worked on our project proposal on our Wiki page. - 2 hours
-01/31
- Allison: Finished up the project proposal by inserting the Gantt Chart into the Wiki page. - 30 minutes
-02/1
- Thomas and Tom: Worked on the nightlight and established a successful prototype. - 30 minutes
Goals for Next Week:
- Demonstrate the Night Light
- Start working on setting up an environment for the Pi
- Investigate networking and image collection for the Pi
Week of 02/04/19 (2)
- 02/04
- Whole Group: Had meeting with Professor Feher and TA David to discuss current progress and future goals. Determined that the goals for next week will be:
- Get Pi going and ready for project
- Complete Blackjack website
- Complete any tutorials for Pi
- Download Stretch and use Etcher
- Find a file for 3D printing a Pi + Camera case
- Research networking
- Consider other locations to test
- 45 minutes
-02/05
- Tom and Allison: Downloaded Python, set up an Amazon Web Services account, and began the Blackjack tutorial. - 1 1/2 hours
-02/06
- Allison: Finished setting up the MySQL workbench by connecting to the Amazon Web Services account. - 30 minutes
- Whole Group: Continued working on the Blackjack tutorial and began working on the SSHing the Raspberry Pi Tutorial. We ran into many roadblocks and had to email Ethan several times. Between waiting for software to download and browsing help forums we spent a lot of time away from our actual objectives. Found a 3D printing design file for a Raspberry Pi Case with Camera Mount. https://www.thingiverse.com/thing:1411080 - 3 hours
-02/08
- Tom: Researched more about the ability of the Pi to monitor devices via WiFi on the tutorials we found. Found commands that returns MAC Addresses, but none belonged to phones or recognizable devices that would be found on a student. Other tutorials necessitate some sort of network adapter or WiFi dongle that are capable of "monitoring mode". -1 hour
- All: Worked on powerpoint presentation -1 hour
Week of 02/11/19 (3)
- Whole Group: Had meeting with Professor Feher and TA David to discuss current progress and future goals. Determined that the goals for next week will be:
- Continue working on Blackjack tutorial
- Construct a blinking-LED circuit with the Pi
- Meet sometime during the week to discuss networking
- Work through a Pi camera tutorial
- 45 minutes
-02/11
- Whole Group: Spent some time updating the Powerpoint. More bullet point orientated, changed challenges, and added a resource/helpful links slide - 30 minutes
- Thomas: Continued following the blackjack tutorial and ran into many problems especially regarding how to use the command line. Communicated extensively with Ethan to try and resolve problems - 1.5 hour
-02/12
- Tom: Got an LED to blink using the Pi using [Blinking LED] - 30 minutes
-02/14
- Tom: Altered the LED blink code to work with user input (a button) and uploaded to GIT. Also made a code for the camera to take n number of pictures overtime just to see if I could get the camera working. Also added to GitHub repository - 1 hour
- Whole Group: Met with Ethan to work pass roadblocks in Blackjack. Talked about Blackjack's parts and functions as well as how our project might look like the big picture - 1 hour
- Thomas: Finished up BlackJack and was able to fully run the program on localhost. Then began working on the Lightsail Tutorial and how to migrate our server files to an AWS hosted service. Made progress and purchased a server but encountered problems regarding downloading nodejs to the server as well as using ssh to reconnect to the server after it timed out. -1.5 hour
-02/15
- Whole Group: Had a meeting with Prof. Feher, David, and Ethan to talk about networking. We went over typical protocols, specifically ARP, and how our project fits into the structure of the internet as a whole. Went over possible methods to talk to devices like ping. -1 hour
- Thomas: Made more progress on BlackJack. Recreated many instances to try and solve issues regarding ssh and found a solution on my third attempt. Additionally was able to upload server files and attempted to run them with pm2 but was give an errored message immediately after running. - 1.5 hour
-02/17
- Tom: Explored different techniques for possibly obtaining MAC/IP Addresses and the issues/potentials of each. Refer to resource links on project page for some of the links used. Also used the command line help menus and a lot of experimentation to see what would work.
- ping: Was able to successfully ping my phone. However, when trying to ping a range, it would get hung up every time it tried to ping an unreachable IP address even with a -w or -W parameter. Additionally, to scan through all possibly endings on the WiFi seems like it would take over a half-hour, but uncertain. [pinging my phone]
- arp: Used directly from pi w/o any package installations but was only able to get a single address, presumably the router itself? [arp display]
- arp-scan: Package that provides a more options working from the ARP layer. At first seemed very promising because it returned numerous IP & MAC addresses. However, I could not find my phone listed and it seems fairly hard to discern what devices are even being displayed. [arp-scan display]
- fping: Another package extension of a normal ping. Allows us to ping a range of addresses quickly and return if the device is reachable or not. Downside is there is no MAC Address and no way to discern what the device is. [fping display 1] [fping display 2]
- To experiment, I let fping run from 172.27.0.0 to 172.27.255.255, which seems to be the range of all devices connected to a WUSTL network. First of all, it is definitely not local (router dependent), because there is no way there is this many reachable devices in range presumably. Additionally, the fping took 21 minutes. [fping max range]
- nmap: Another package that has an overwhelming amount of methods and documentation. So far have only found a way to return IP addresses (no MAC addresses), but also provides some description of the device. Was able to find my phone but not sure if nmap works locally or across the network. [nmap display]
- Did the same as fping, again it's clearly doing a network wide scan. Too long and too many hosts. 7100 hosts after 49 minutes [nmap full scan] -2.5 hours
- Tom: Tried to work through a tutorial with the network adapter. Hit a lot of roadblocks and searched many forums trying to correct errors. Workarounds and other driver installations, GitHub projects, etc. did not work. In the end, I'm fairly confident that we have v3 of the adapter which apparently does not support monitoring mode, only v1 does. We need new network adapters to try this route. - 1.5 hours
- Thomas: Attempted to install and run nodejs/pm2 on a personal computer but wasn't successful due to a lack of continuity between ubuntu command line and mac terminal however working to resolve misunderstanding in order to be able to test that the server file works properly - .5 hours
Week of 2/18/19 (4)
-02/18/19
- Whole Group: Weekly meeting to discuss goals:
- Finish Blackjack
- Work on primitive website form
- Possibly design code for the server
-02/19/19
- Tom: Made a tentative website flowchart and posted on project page. - 30 minutes
-02/22/19
- Tom: Tried to get openCV to work on the Pi using several different tutorials, but ultimately none worked in the end. Would need help to do so. - 2hours
-02/24/19
- Tom: Got openCV working...maybe? Tried using openCV and the pi camera to take pictures and compare them. Running into the issue where with default settings, the pi takes pictures completely different settings which makes the images have different looking images in terms of temperature (like white balance, saturation, or something similar). All the settings I've tried to set constant seem to alter the image too much, but they do work to create a constant image. - 2.5 hours
- Allison: Began working through the HTML tutorial on w3schools.com. Progress looks like this: -2 hours
- Thomas Created two different data layout possibilities and researched out to make a bar graph in HTML as well as a thought though both a flow diagram for the website and possibilities on how to show historical data. The pictures below show a possible website template and both a pie chart and progress bar approach which could be implemented (note none of the data shown actually reflect a database and is rather hardcoded) - 2 hours
- Tentative goals for next week:
- Work with our network adapter to see if we can get usable data for our original plan (arrived today but mail room is closed)
- Discuss website layout and make a skeleton
- Continue with server implementation/Blackjack if relevant
Week of 2/25/19 (5)
02/25/19
- Whole Group: Weekly meeting and determined goals to be:
- Try to get dongle to work
- Work on algorithm to measure busyness with Pi camera
- Make improvements and update website
- Find a way to properly use databases in your project
- Continue to update log
- Plan to start writing final report soon
- Tom: Worked through a tutorial to put the network adapter in monitoring mode and install software to do the sniffing. So far I've tried kismet, and worked/looked through over 10+ forums to try and help me. I've been unsuccessful and have received an error continuously. - 5 hours
02/26/19
- Thomas & Tom: Worked to debug errors with kismet and invested time into looking into other possibilities. Kismet was unsuccessfully, might have thrown Pi out window... - 2 hours
02/28/19
- Tom: Got kismet working finally! Able to detect devices and receive their MAC addresses. [Console view] - 1 hour
03/03/19
- Allison: Began working in MATLAB to determine how best to use the RaspberryPi camera to determine the number of people in a room. Currently not exactly working, but I'm hopeful that it will just require a little bit more troubleshooting as it is very close to working (I think). I'm trying to do very simple processes. First, you convert the image to grayscale than simply take a difference of the matrices. My current idea is to add up the values of the difference matrices and based on relatively how big that number is, determine the number of people in the room. I also think lighting issues will not be as big of a problem as we thought, especially if we take the pictures somewhat close together in time. - 2 hours
- Allison: (later) continued working on the images, but this time with more complex images. The simple difference of the matrices does not seem like it will work. I think I more complex operation will have to happen because the difference images do not seem to show any actually useful information. The MATLAB code I have been using was added to the GitHub. - 1 hour
Week of 3/04/19 (6)
03/04/19
- Whole Group: Weekly meeting and determined updated goals to be:
- Retest RaspberryPi camera ensuring camera is firmly fixed
- Create program for better busyness detection
- Assess how we can use the values of pixels to detect people
- Download Octave for Pi to analyze data
- Continue testing Wi-Fi Adapter
- Determine range of Wi-Fi Adapter
- Scout locations for the equipment, so we can get permission after Spring Break
- Plan construction for the website
- Develop program to obtain MAC addresses
03/07/19
- Tom: Started to work on a python script to parse through the kismet text files using regular expressions. Also examined the types of devices the network adapter is seeing and started to compile a general list. These are determined by the Organizational Unique Identifier (OUI) of the MAC Address which is the first 3 hex pairs of the mac address. Used the wireshark OUI lookup tool found here: [OUI Lookup Tool] which basically uses a database of known OUIs. There are more, but I only listed a couple here. Afterwards I implemented a dictionary for the timestamps and a vendor lookup API provided by Professor Feher. All resources used under Resources tab of Wiki page. - 3.5 hours
- 00:A7:42 Cisco Cisco Systems, Inc
- 28:AC:9E Cisco Cisco Systems, Inc
- F4:4E:05 Cisco Cisco Systems, Inc
- 78:28:CA Sonos Sonos, Inc.
- 5C:AA:FD Sonos Sonos, Inc.
- B8:27:EB Raspberr Raspberry Pi Foundation
- 00:08:E3 Cisco Cisco Systems, Inc
- A8:BE:27 Apple Apple, Inc.
- B4:B6:86 HewlettP Hewlett Packard
- 3C:2E:FF Apple Apple, Inc.
Example Output from program written: [Console view] 03/08/19
- Allison: Downloaded Octave onto the Pi, continued taking pictures, and attempted to work with the pictures in MatLab. Once again, the difference method is definitely not going to work since I took a difference of the exact same picture, and although it was close, it was not zero for every pixel. A new method is going to have to be explored, but I'm unsure of what that method will be. I also looked at more Raspberry Pi camera cases and mounts since that is something that will be important when we are exploring the possible locations of our project. - 2.5 hours
Week of 03/18/19 (7)
03/18/19
- Tom and Allison: Weekly meeting with TA and Professor. Time was used to reaffirm long and short term goals and discuss current progress. It was determined that extra effort should be placed into making progress on the project in the next two weeks to alleviate additional concerns as the demo day gets closer and our schedules get busier. - 1 hour
03/19/19
- Whole Group: Continued working on goals including connecting the data gathered from the Pi and sending it to the database, server, and website. Ran into a lot of troubles with the Pi, as error messages are appearing after attempting to so anything. - 3 hours
03/20/19
- Tom and Allison: Meet with Ethan to resolve issues found yesterday. We decided to go ahead and reflash the SD card and have begun to reinstall everything onto the pi. - 2 hours