Difference between revisions of "BetaDelta Log"

From ESE205 Wiki
Jump to navigation Jump to search
m (Protected "BetaDelta Log" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(14 intermediate revisions by one other user not shown)
Line 50: Line 50:
 
*Bex:  
 
*Bex:  
 
**drew final draft of device casing.  
 
**drew final draft of device casing.  
**Top View:
+
**Top View: [[File:Pick51.jpg]] Front View: [[File:Pick61.jpg]]
**[[File:Pick51.jpg]]
+
**The rectangular shape holds the raspberry pi in the bottom of the casing and the perf board built into the wall, with holes for each sensor to protrude. The motion sensor is at the top, with the light and sound sensors below for the front view drawing.  
**The rectangular shape holds the raspberry pi in the bottom of the casing and the perf board built into the wall, with holes for each sensor to protrude.
+
**Practiced drawing a wine bottle in sketchup, and converted real drawing of casing into a 3D model in sketchup
**Front View:
+
**[[File:Pick7.jpg]] [[File:Pick8.jpg]]
**[[File:Pick61.jpg]]
 
**The motion sensor is at the top, with the light and sound sensors below.
 
**Practiced drawing a wine bottle in sketchup:
 
**[[File:Pick7.jpg]]
 
**Converted drawing into a 3D model in sketchup
 
***[[File:Pick8.jpg]]
 
  
 
**Created first outline for an algorithm. 5 necessary steps have emerged for the algorithm.  
 
**Created first outline for an algorithm. 5 necessary steps have emerged for the algorithm.  
Line 74: Line 68:
 
'''Week of March 17, 2017'''
 
'''Week of March 17, 2017'''
 
*Bex:
 
*Bex:
**Ran into issues converting sketchup file to an STL, so the solution was to redrew the sketchup model in CAD with more accurate lines and measurements.  
+
**Ran into issues converting sketchup file to an STL, so the solution was to redrew the sketchup model in CAD with help from friend Adam Messer for more accurate lines and measurements.  
 
*In CAD:
 
*In CAD:
 
**[[File:Pick4.jpg]] [[File:Pick3.jpg]]
 
**[[File:Pick4.jpg]] [[File:Pick3.jpg]]
Line 94: Line 88:
 
**Reprinted there final version of the casing, with rounded edges and a slightly larger hole for the sound detector. Also printed a backing so that it can be mounted to the wall.  
 
**Reprinted there final version of the casing, with rounded edges and a slightly larger hole for the sound detector. Also printed a backing so that it can be mounted to the wall.  
 
**Started the circuit for the light sensor and connected it to the raspberry pi as well as soldered wires to the sensor.
 
**Started the circuit for the light sensor and connected it to the raspberry pi as well as soldered wires to the sensor.
 +
***[[File:SolderedLS.jpg]]
 
*JD:  
 
*JD:  
 
**Made the circuit for the motion sensor. Coded python into raspberry pi and succeeded in getting the motion sensor working! Worked on getting wifi connected to the raspberry pi, running into issues with the CA certificate. Bex and JD have been working on getting the wifi up, spending time in the lab 5 different days this week each. Our solution moving forward is to seek help from a friend, John Gibson, who has vast experience working with wifi raspberry pis.  
 
**Made the circuit for the motion sensor. Coded python into raspberry pi and succeeded in getting the motion sensor working! Worked on getting wifi connected to the raspberry pi, running into issues with the CA certificate. Bex and JD have been working on getting the wifi up, spending time in the lab 5 different days this week each. Our solution moving forward is to seek help from a friend, John Gibson, who has vast experience working with wifi raspberry pis.  
*Here is our motion sensor working:
+
*Here is our motion sensor working and the code JD used:
**[[File:PicMS.jpg]]
+
**[[File:PicMS.jpg]] [[File:PicCodeMS1.jpg]]
*Here is the code we used:
 
**[[File:PicCodeMS1.jpg]]
 
  
"Week of March 31, 2017"
+
'"Week of March 31, 2017"'
 
*Wifi Situation:  
 
*Wifi Situation:  
 
**Brought in help from Mr. Gibson, who hooked up the wifi for us and walked us through the code of how he got there. He also lent us transistors for our sound detector, alerting us that our raspberry pi doesn't have a way do the job of an ADC (analog digital converter). This is significant because we would have realized very quickly that our circuit wouldn't work if he had not told us what we were missing! We made the team decision to use transistors instead of an ADC because the transistors will give us a "yes or no" response, based on a range that we input into the code, instead of a spectrum. It should also make for simpler coding altogether.
 
**Brought in help from Mr. Gibson, who hooked up the wifi for us and walked us through the code of how he got there. He also lent us transistors for our sound detector, alerting us that our raspberry pi doesn't have a way do the job of an ADC (analog digital converter). This is significant because we would have realized very quickly that our circuit wouldn't work if he had not told us what we were missing! We made the team decision to use transistors instead of an ADC because the transistors will give us a "yes or no" response, based on a range that we input into the code, instead of a spectrum. It should also make for simpler coding altogether.
 
*Bex:  
 
*Bex:  
 
**Made some very small, but important, edits to the to-scale model for the case. The sound detector needed a few millimeters more space and the circle on the front was changed to a square in order to allow the motion sensor to reach its full potential of detection. Edits in the CAD lab were also made for the triangular piece that serves as a wall-mount/ allows the device to fit nicely into any room's corner. The idea for the cap is very simplistic and will be printed after all circuits are soldered to the final perf board.
 
**Made some very small, but important, edits to the to-scale model for the case. The sound detector needed a few millimeters more space and the circle on the front was changed to a square in order to allow the motion sensor to reach its full potential of detection. Edits in the CAD lab were also made for the triangular piece that serves as a wall-mount/ allows the device to fit nicely into any room's corner. The idea for the cap is very simplistic and will be printed after all circuits are soldered to the final perf board.
 +
**Compiled all data sheets and set up a spreadsheet for sensor testing.
 
*JD:  
 
*JD:  
 
**Downloaded i2C using a tutorial recommended by Mr. Gibson
 
**Downloaded i2C using a tutorial recommended by Mr. Gibson
 
**Finished the light sensor circuit that Bex started last week.   
 
**Finished the light sensor circuit that Bex started last week.   
 +
***[[File:LSCircuit.jpg]]
 
*Nial:
 
*Nial:
**Connected the server to the wifi of the raspberry pi. Also obtained the ip address for the pi, as well as downloaded apache php, mysql, and wordpress.
+
**Connected the server to the wifi of the raspberry pi.  
 +
**Obtained the ip address for the pi
 +
**Downloaded apache php, mysql, and wordpress.
 +
**Here is a picture of our wordpress and server working:
 +
***[[File:WordPressWorking1.jpg]] [[File:ItWorks.jpg]]
  
 +
"'Week of April 7, 2017"'
 +
*Bex:
 +
**Final printed casing finished printing on Thursday!
 +
**Began circuitry for sound detector -> the reason this started late was because our ADC arrived on Wednesday of this week. The circuitry is simple and the code is pretty simple.
 +
**Started piecing together an algorithm for data upload to server based on only on the motion sensor, since this is the most reliable sensor at the moment
 +
*JD:
 +
**Finishing up code for light sensor to work
 +
*Nial:
 +
**Troubleshooting website and creating website aesthetics.
 +
*Team:
 +
**After meeting with Humberto on Thursday, we decided to downscale our project. We decided to downscale to ensure that we would be able to produce a well-working, solid device, instead of an assembly of parts that work at mediocre level. To do this, we have reduced our device to only one sensor, motion, and are uploading its data onto a regular website, without user-input ability and a digital display on the device.
 +
 +
"'Week of April 14, 2017"'
 +
*Bex:
 +
**Redesigned the casing to have a hole for only one sensor. Print is scheduled for Wednesday, including the back attachment to the wall and casing top.
 +
*JD:
 +
**Edited the code for our motion sensor to include a time stamp when motion is detected. It was successful!
 +
*Team:
 +
**Successfully set up a database, but had trouble coding the connection.
 +
**Tried 5 different tutorials, each with relative success but all failing at one point or another. We drafted an email to send to Humberto to reach out for help.
 +
**Here is an example of a problem we ran into:
 +
***[[File:Code.jpg]]
 +
*We worked for hours each day on a solution, and found our breakthrough on Friday (technically early saturday morning) at 1:30am after working straight since 6pm. Here is what we did to finish creating the web framework:
 +
**created a lamp server using a tutorial that we found —> beeker.io
 +
**bought a domain from betadelta.me (this is where it currently posts to)
 +
**imported flask
 +
**on aws —> we ran a flask app that collected information from the raspberry pi
 +
**send info from pi -> AWS (through flask app) using AWS ec2 -> posted it betadelta.me
 +
**We had to create the app, create a .wgsi file to load the app, enable mod_wsgi
 +
**The website was then linked to our domain name
 +
*** It works relatively well but still not quite perfectly, but with the work from this weekend, we are confident that we will have a working demo for next Tuesday. Tutorials used were found on our own, and we had to combine different techniques from several. Our sources were:http://flask.pocoo.org/docs/0.12/quickstart/#a-minimal-application, http://beeker.io/how-to-create-a-lamp-web-server#install-lamp-software, http://www.datasciencebytes.com/bytes/2015/02/24/running-a-flask-app-on-aws-ec2/,
 +
***data currently posts to betadelta.me when the sensor is running
 +
 +
"'Week of April 21, 2017"'
 +
*Bex:
 +
**Soldered the motion sensor wires to the final perf board for the demo
 +
**Cut and painted the BetaDelta room simulation box
 +
**Worked out a kink in the server code with friend John Gibson
 +
**Edited the display of the website:
 +
***when the room is occupied, the website background is light red, and when it is unoccupied it is light green
 +
***Put the updated status in a table
 +
***Centered both the table and title
 +
***[[File:Green.jpg]]
 +
**Made poster
 +
*JD:
 +
**Drew flowchart of code and diagram of wires for poster
 +
*Nial:
 +
**Drew flowchart of code for poster
 +
*Team: we presented and it was successful!!
 +
[[File:FinalPoster2.JPG|350px|our final poster]]
 +
**In order to simulate a vacant room to show the success of our device, we used the combination of a painted cardboard box and plastic to place over our sensor and prevent its infrared detection for just long enough to refresh our webpage. We were able to prove that our device and website work in both directions, from displaying occupancy to vacancy and vice versa.
 
[[Category:Logs]]
 
[[Category:Logs]]
 
[[Category:Spring 2017 Logs]]
 
[[Category:Spring 2017 Logs]]

Latest revision as of 14:36, 9 May 2017

Week of January 27, 2017

  • Brainstormed project ideas
  1. Our main focus was on a website that provides realtime updates about the availability of South 40 study rooms
  • Held first meeting with our TA
  • Began work on our proposal

Week of February 3, 2017

  • Met with TA to finalize our project idea as well as work on some of its highlights
  1. Highlights that we decided we would like to include:
    1. User input ability, where students can publicize which subjects are being studied in specific study rooms
    2. The detection of room occupation via light sensor
    3. A history log of past room availabilities, so that students can make predictions for future study plans
  • Finished writing the proposal as a team

Week of February 10, 2017

  • Refined proposal
    • Edited Gantt chart and budget
  • Team decisions:
    • Add both motion and sound detectors to the light sensor, all of which will be hooked up to our raspberry pi
      • This will allow more accurate prediction on whether or not the room is occupied
  • Began learning how to code in python
  • Began brainstorming design ideas for Raspberry Pi casing
    • Official design must wait until materials arrive

Week of February 17, 2017

  • Edited Gantt chart and budget
  • Worked on recommendations from our TA about our proposal:
    • Streamlined our objectives
  • Continued python education
  • Edited design for Raspberry Pi casing
    • Still waiting on materials to be ordered and shipped

Week of February 24, 2017

  • Heavy exam week for systems engineers (includes all three team members)
  • Downloaded Google SketchUp for 3D printing design and began learning how it works
  • Continued brainstorming ideas for raspberry pi casing
  • Continued learning python
  • Obtained our raspberry pi

Week of March 3, 2017

  • Added a highlight to the BetaDelta website: users can now see a ranking of study rooms based on their probability of being available
  • Discussed how the website will display information for each study room
    • Light sensor: "on" or "off"
    • Motion and sound sensor - will report most recent indication of activity
  • Edited our budget:
    • Included the specific website host for BetaDelta
    • Got rid of the ethernet cord (using a wifi dongle instead)

Week of March 10, 2017

  • Bex:
    • drew final draft of device casing.
    • Top View: Pick51.jpg Front View: Pick61.jpg
    • The rectangular shape holds the raspberry pi in the bottom of the casing and the perf board built into the wall, with holes for each sensor to protrude. The motion sensor is at the top, with the light and sound sensors below for the front view drawing.
    • Practiced drawing a wine bottle in sketchup, and converted real drawing of casing into a 3D model in sketchup
    • Pick7.jpg Pick8.jpg
    • Created first outline for an algorithm. 5 necessary steps have emerged for the algorithm.
      • Before entering the algorithm:
        • Convert information from sensors into comparable numbers
        • Assign those numbers to a temporary variable
      • In algorithm:
        • Enter a conditional loop.
        • If motion sensor is activated within the last 15 minutes, the room is occupied.
        • If the light sensor and the sound sensor have both been activated within the last 5 minutes, the room is occupied.
        • Else, the room is NOT occupied.
        • Exit loop and refetch data.

Week of March 17, 2017

  • Bex:
    • Ran into issues converting sketchup file to an STL, so the solution was to redrew the sketchup model in CAD with help from friend Adam Messer for more accurate lines and measurements.
  • In CAD:
    • Pick4.jpg Pick3.jpg
    • 3D printed (to a reduced scale) the first version of the case:
    • Pick10.jpg
  • JD:
    • Drew design for simulation box. We realized as a team that our simulation environment would need to support an easy way to turn a light on and off within the box, stop and start music, and have motion within the box while both other variables are negative (lights off, no sound) to show the first way that our algorithm loop breaks. Also built the circuit for the motion sensor and worked on its connection to the raspberry pi.
  • Nial:
    • Worked on server and connection to instance.

Week of March 24, 2017

  • Team: met and put the code for the motion sensor into the raspberry pi using python. We are working on the final steps to getting our server running, dealing with the issue of an encrypted wifi path.
    • Pic3.jpg
  • Nial:
    • Connected wifi dongle to the Wustl internet. Got server up and running!
  • Bex:
    • Printed the to-scale version of the casing. We found that all pieces fit relatively well into the case, but are going to make a few adjustments to allow the motion sensor to protrude further out from the case as well as have the sound detector have a better-fitted box. A hole was also added for the power supply, which was mistakenly forgotten in the first versions of the model. A second piece will be printed, the wall mount, and superglued to the rectangular case that holds the raspberry pi and sensors itself. Two pieces are necessary because the 3D printers are limited in the size of model they can print at a time. A picture of the first to-scale model is below:
    • Pic2.jpg Pic1.jpg
    • Reprinted there final version of the casing, with rounded edges and a slightly larger hole for the sound detector. Also printed a backing so that it can be mounted to the wall.
    • Started the circuit for the light sensor and connected it to the raspberry pi as well as soldered wires to the sensor.
      • SolderedLS.jpg
  • JD:
    • Made the circuit for the motion sensor. Coded python into raspberry pi and succeeded in getting the motion sensor working! Worked on getting wifi connected to the raspberry pi, running into issues with the CA certificate. Bex and JD have been working on getting the wifi up, spending time in the lab 5 different days this week each. Our solution moving forward is to seek help from a friend, John Gibson, who has vast experience working with wifi raspberry pis.
  • Here is our motion sensor working and the code JD used:
    • PicMS.jpg PicCodeMS1.jpg

'"Week of March 31, 2017"'

  • Wifi Situation:
    • Brought in help from Mr. Gibson, who hooked up the wifi for us and walked us through the code of how he got there. He also lent us transistors for our sound detector, alerting us that our raspberry pi doesn't have a way do the job of an ADC (analog digital converter). This is significant because we would have realized very quickly that our circuit wouldn't work if he had not told us what we were missing! We made the team decision to use transistors instead of an ADC because the transistors will give us a "yes or no" response, based on a range that we input into the code, instead of a spectrum. It should also make for simpler coding altogether.
  • Bex:
    • Made some very small, but important, edits to the to-scale model for the case. The sound detector needed a few millimeters more space and the circle on the front was changed to a square in order to allow the motion sensor to reach its full potential of detection. Edits in the CAD lab were also made for the triangular piece that serves as a wall-mount/ allows the device to fit nicely into any room's corner. The idea for the cap is very simplistic and will be printed after all circuits are soldered to the final perf board.
    • Compiled all data sheets and set up a spreadsheet for sensor testing.
  • JD:
    • Downloaded i2C using a tutorial recommended by Mr. Gibson
    • Finished the light sensor circuit that Bex started last week.
      • LSCircuit.jpg
  • Nial:
    • Connected the server to the wifi of the raspberry pi.
    • Obtained the ip address for the pi
    • Downloaded apache php, mysql, and wordpress.
    • Here is a picture of our wordpress and server working:
      • WordPressWorking1.jpg ItWorks.jpg

"'Week of April 7, 2017"'

  • Bex:
    • Final printed casing finished printing on Thursday!
    • Began circuitry for sound detector -> the reason this started late was because our ADC arrived on Wednesday of this week. The circuitry is simple and the code is pretty simple.
    • Started piecing together an algorithm for data upload to server based on only on the motion sensor, since this is the most reliable sensor at the moment
  • JD:
    • Finishing up code for light sensor to work
  • Nial:
    • Troubleshooting website and creating website aesthetics.
  • Team:
    • After meeting with Humberto on Thursday, we decided to downscale our project. We decided to downscale to ensure that we would be able to produce a well-working, solid device, instead of an assembly of parts that work at mediocre level. To do this, we have reduced our device to only one sensor, motion, and are uploading its data onto a regular website, without user-input ability and a digital display on the device.

"'Week of April 14, 2017"'

  • Bex:
    • Redesigned the casing to have a hole for only one sensor. Print is scheduled for Wednesday, including the back attachment to the wall and casing top.
  • JD:
    • Edited the code for our motion sensor to include a time stamp when motion is detected. It was successful!
  • Team:
    • Successfully set up a database, but had trouble coding the connection.
    • Tried 5 different tutorials, each with relative success but all failing at one point or another. We drafted an email to send to Humberto to reach out for help.
    • Here is an example of a problem we ran into:
      • Code.jpg
  • We worked for hours each day on a solution, and found our breakthrough on Friday (technically early saturday morning) at 1:30am after working straight since 6pm. Here is what we did to finish creating the web framework:

"'Week of April 21, 2017"'

  • Bex:
    • Soldered the motion sensor wires to the final perf board for the demo
    • Cut and painted the BetaDelta room simulation box
    • Worked out a kink in the server code with friend John Gibson
    • Edited the display of the website:
      • when the room is occupied, the website background is light red, and when it is unoccupied it is light green
      • Put the updated status in a table
      • Centered both the table and title
      • Green.jpg
    • Made poster
  • JD:
    • Drew flowchart of code and diagram of wires for poster
  • Nial:
    • Drew flowchart of code for poster
  • Team: we presented and it was successful!!

our final poster

    • In order to simulate a vacant room to show the success of our device, we used the combination of a painted cardboard box and plastic to place over our sensor and prevent its infrared detection for just long enough to refresh our webpage. We were able to prove that our device and website work in both directions, from displaying occupancy to vacancy and vice versa.