BusyBear log

From ESE205 Wiki
Revision as of 06:47, 2 May 2019 by Jdfeher (talk | contribs) (Protected "BusyBear log" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Link to Project Page

[View Project Page]

Week of 1/28/19 (1)




  • Whole Group: Met to try and finalize general goals and project. We worked on our project proposal on our Wiki page. - 2 hours


  • Allison: Finished up the project proposal by inserting the Gantt Chart into the Wiki page. - 30 minutes


  • Thomas and Tom: Worked on the nightlight and established a successful prototype. - 30 minutes
LED is off when lights are on

LED is on when the sensor is covered

Goals for Next Week:

  1. Demonstrate the Night Light
  2. Start working on setting up an environment for the Pi
  3. Investigate networking and image collection for the Pi

Week of 02/04/19 (2)


  • 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:
  1. Get Pi going and ready for project
  2. Complete Blackjack website
  3. Complete any tutorials for Pi
  4. Download Stretch and use Etcher
  5. Find a file for 3D printing a Pi + Camera case
  6. Research networking
  7. Consider other locations to test

- 45 minutes


  • Tom and Allison: Downloaded Python, set up an Amazon Web Services account, and began the Blackjack tutorial. - 1 1/2 hours


  • 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


  • 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:
  1. Continue working on Blackjack tutorial
  2. Construct a blinking-LED circuit with the Pi
  3. Meet sometime during the week to discuss networking
  4. Work through a Pi camera tutorial

- 45 minutes

  • 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


  • Tom: Got an LED to blink using the Pi using [Blinking LED] - 30 minutes
LED is off with no input

LED is on when button is pressed


  • 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


  • 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


  • 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 to, 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)


  • Whole Group: Weekly meeting to discuss goals:
  1. Finish Blackjack
  2. Work on primitive website form
  3. Possibly design code for the server


  • Tom: Made a tentative website flowchart and posted on project page. - 30 minutes


  • 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


  • 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

BusyBear Olin.png

  • Tentative goals for next week:
  1. Work with our network adapter to see if we can get usable data for our original plan (arrived today but mail room is closed)
  2. Discuss website layout and make a skeleton
  3. Continue with server implementation/Blackjack if relevant

Week of 2/25/19 (5)


  • Whole Group: Weekly meeting and determined goals to be:
  1. Try to get dongle to work
  2. Work on algorithm to measure busyness with Pi camera
  3. Make improvements and update website
  4. Find a way to properly use databases in your project
  5. Continue to update log
  6. 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


  • 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


  • Tom: Got kismet working finally! Able to detect devices and receive their MAC addresses. [Console view] - 1 hour


  • 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)


  • Whole Group: Weekly meeting and determined updated goals to be:
  1. Retest RaspberryPi camera ensuring camera is firmly fixed
  2. Create program for better busyness detection
  3. Assess how we can use the values of pixels to detect people
  4. Download Octave for Pi to analyze data
  5. Continue testing Wi-Fi Adapter
  6. Determine range of Wi-Fi Adapter
  7. Scout locations for the equipment, so we can get permission after Spring Break
  8. Plan construction for the website
  9. Develop program to obtain MAC addresses


  • 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
  1. 00:A7:42 Cisco Cisco Systems, Inc
  2. 28:AC:9E Cisco Cisco Systems, Inc
  3. F4:4E:05 Cisco Cisco Systems, Inc
  4. 78:28:CA Sonos Sonos, Inc.
  5. 5C:AA:FD Sonos Sonos, Inc.
  6. B8:27:EB Raspberr Raspberry Pi Foundation
  7. 00:08:E3 Cisco Cisco Systems, Inc
  8. A8:BE:27 Apple Apple, Inc.
  9. B4:B6:86 HewlettP Hewlett Packard
  10. 3C:2E:FF Apple Apple, Inc.

Example Output from program written: [Console view]


  • 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)


  • 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


  • 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


  • 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


  • Tom: Tried to reconfigure the WiFi settings and the network adapter (to start it in monitor mode). Encountered many weird issues with the WiFi not connecting. Interesting that between the two different SD cards with identical formats for the interface and wpa_supplicant files, the new SD card does not connect to WiFi. Will have to try to resolve tomorrow. - 1.5 hours


  • Tom: Worked on getting the Pi back up to speed before class. The WiFi issue was resolved by deleting the interface and wpa_supplicant files, and rebooting to let the Pi reconstruct them as it saw fit. Oddly enough, the reconstructed files only differed in the fact that the wpa_supplicant did not have any priority settings. Will leave this for now since it seems to work fine. Also got the network adapter to boot in monitor mode again. Progress so far listed below - 2.5 hours
  1. pip
  2. Python 3
  3. kismet
  • Tom: After class, got the Pi up to speed. So far everything that we need seems to work. Installed the necessary software/packages needed to run the code. Was able to successfully upload some of our test data to the database and view it on MySQL Workbench. The code can be refined to only do what is necessary, but I left a lot of the debugging/printing for now in case our specific method changes. Currently, the code only actually uploads the MAC address and the vendor ID, while Thomas implemented an auto timestamp when each item is uploaded. Downside there is a slight gap between when the address is actually recorded versus uploaded. However, this would be an issue anyway because we're going to let kismet run and then record the timestamp later anyway. - 2 hours [MySQL view]

Week of 03/25/19 (8)


  • Whole group: Weekly meeting with TA and Professor. Confirmed goals for the next week and long term goals for the final project. Determined that the next week should be spent working on combining the different parts of our progress to create a unified final project. We decided that the tutorial for the project will be about turning a network adapter connected to the raspberry pi to monitoring mode. A domain name, mybusybear.com, was also purchased. - 1 hour


  • Tom: Worked on tutorial page. [Tutorial] - 3 hours
  • Thomas: Worked on the stability of the website along with graph formatting. The website can be visited at http://www.mybusybear.com -12 hours


  • Tom: Ran into some issues with Kismet. Met with David and Professor Feher to discuss and worth through the problems. ~ 6 hours


  • Tom: Researched bash script commands and crontab usage to try and work out a way to have kismet stop after a certain period of time. Ran into timeout which terminates a program after a set number of seconds. Had to break up kismet and the uploader python script into two separate bash files and put them through crontab to work, but it seemed to work. Left it on overnight, but only an hour's worth of entries seemed to have been uploaded to the database. One thing to note is it picked up some of the same devices every 5 minutes, so it is able to see if someone is still there. Not quite sure why it stopped working but my guess is it dropped the WiFi and couldn't operate normally. - 2 hours

Week of 04/01/19 (9)


  • Tom and Thomas: Weekly meeting with TA and Professor. - 1 hour
  • Allison: Began planning and sketching out the organization of the final report. - 1 hour


  • Allison: Worked on the Build the Device section of the Design and Solutions portion of the final report. Also added more formatting to the log page so that it's consistent. - 1 hour
  • Tom: Realized crontab was not working as desired. Had to redesign the structure of the bash files/crontab. Turned out to be pretty simple as detailed on our updated project page. Also left the Pi running overnight to ensure it was working well (it was) - 1.5 hours


  • Allison: Wrote the Putting it All Together section of the final report. - 30 minutes
  • Tom: Wrote the Collecting Data & Next Steps portion of the final report. - 45 minutes
  • Thomas and Allison: Wrote the Managing a Database portion of the final report. - 45 minutes
  • Whole Group: Worked on connecting everything, began working on the Create a Website portion of the final report, and discussed logistics for the remainder of the week. - 1 hour

Week of 04/08/19 (10)


  • Whole Group: Group meeting, we addressed all concerns in progress email and continued to work on the wiki. Updated tutorial. - 1 hour


  • Whole Group: Started working on the poster. Discussed the final scope of the project and the plan for data collection. Our current plan is to sit down in BD from 5 pm to 11 pm and hopefully recruit friends to help with successful data collection. - 2.5 hours


  • Thomas: Worked on finalizing charts to fit the scope of the project. Fixed and implemented the methodology to both find and explain maximum and minimum capacities of the given location. - 4 hours


  • Whole Group: Continued working on the poster for the demonstration Presentation Poster - 2 hours

Week of 04/15/19 (11)

Whole Week

  • Allison & Friends (with some small appearances of Tom): Sat with the Pi every day from 5 pm to 11 pm collecting data.


  • Whole Group: Regular meeting to discuss where we are at, the poster, the Wiki, and how to proceed.
  • Thomas: Fixed various issues with charts and kept working to refine calculations and display. - 2 hours
  • Allison & Tom: Kept working on the poster and Wikipedia page to get as much done as possible before Friday. Will try to get good images of charts tomorrow to finish out Design & Solutions as well as the poster. - 3 hours


  • Whole Group: Met to finish up the poster design and the results section of the final report. - 1 hour


  • Allison & Tom: Addressed some additions David requested. Added picture of our "device" as well as some pictures that show what the website looks like. - 30 minutes

Week of 4/22/19 (12)


  • Whole Group: Regular meeting discussing the minor tweaks needed to stuff.
  • Allison & Tom: Printed and settled the poster - 30 minutes


  • Whole Group: Met to discuss final presentation - 30 minutes