Difference between revisions of "BetaDelta"

From ESE205 Wiki
Jump to navigation Jump to search
Line 131: Line 131:
 
We developed entirely our own framework, using bits and pieces from tens of tutorials. Our code was two-pronged, including a first set that interpreted the input from the motion sensor and raspberry pi, and a second set that handled the upload of data, display, and communication between our server and database. The code we typed in the raspberry pi was with the python language. This code looked at whether any motion was sensed by the PIR sensor and based on the result of occupied or unoccupied would send the respective information to our database which was created with PickleDB. Then utilizing our ec-2 user, we got information from the database, and depending on what it told us we used a flask application to present if our simulated room was occupied or unoccupied. We then used our jinja2 html code to further redesign and make our website look nice.
 
We developed entirely our own framework, using bits and pieces from tens of tutorials. Our code was two-pronged, including a first set that interpreted the input from the motion sensor and raspberry pi, and a second set that handled the upload of data, display, and communication between our server and database. The code we typed in the raspberry pi was with the python language. This code looked at whether any motion was sensed by the PIR sensor and based on the result of occupied or unoccupied would send the respective information to our database which was created with PickleDB. Then utilizing our ec-2 user, we got information from the database, and depending on what it told us we used a flask application to present if our simulated room was occupied or unoccupied. We then used our jinja2 html code to further redesign and make our website look nice.
 
====Evolution====
 
====Evolution====
 +
[[File:U1.JPG|100px|Part 1]] --> [[File:U2.JPG|100px|Part 2]] --> [[File:U3.JPG|100px|Result1]] or [[File:U4.JPG|100px|Result2]]
  
 
==Results==
 
==Results==

Revision as of 02:33, 2 May 2017

Overview

The purpose of BetaDelta is to provide real-time updates on the availability of a given study room. The information will be uploaded to a website, developed through Amazon Web Services, based on input from the BetaDelta device. The goal for the BetaDelta device is to detect occupancy via motion sensor, connected to a raspberry pi, and encased in a 3D printed shell.

Team Members

  • James Tiffany
  • Rebecca Smith
  • Nial Alwash
  • Nathan Schmetter (TA)

Objectives

Device

  • Constructed with a raspberry pi and motion sensor
  • Encased in a 3D printed shell
  • Contain python code capable of processing input from the motion detector

Website

  • Developed with Amazon Web Services
  • Display updated room occupancy on any device that can access wifi
  • Change colors based on occupancy (red for occupied, green for available)

Challenges

  • Learn Python coding techniques
  • Learn how to use CAD and 3D print
  • Build circuit between motion detector and raspberry pi
  • Create our own server framework and website using Amazon Web Services

Budget

Item Quantity Price Vendor Link
Raspberry Pi 1 $0 Lab
Micro SD Card (8GB) 1 $9.95 + $7.14(Adafruit shipping) = $17.09 Adafruit https://www.adafruit.com/products/3259
Light (LDR) Sensor 1 $6.95 Adafruit https://www.adafruit.com/product/1980
1uF Capacitor 2 $11.98 Uxcell http://www.uxcell.com/1uf-50v-105c-radial-electrolytic-capacitor-5x11mm-p-162619.html
Motion sensor 1 $9.95 Adafruit https://www.adafruit.com/product/189
Sound detector 1 $6.95 Adafruit https://www.adafruit.com/products/1063
Breadboard Wires 1 $7.29 Amazon http://www.amazon.com/Solderless-Flexible-Breadboard-Jumper-Wires/dp/B005TZJ0AM
4 Digit Display 1 $11.95 Adafruit https://www.adafruit.com/products/881
Perfboard 1 $12.50 Adafruit https://www.adafruit.com/product/571
Noise Canceling Foam Panels 1 $29.95 + $12.68 = $42.63 ATS Acoustics https://www.atsacoustics.com/foam-wedge-acoustic-panels-12charcoalblue.html?d=GPGEN01&kw=1275-FW12-ChBl&gclid=CjwKEAiAi-_FBRCZyPm_14CjoyASJAClUigOOMzNOCQuiDdpuEa-mnZzNmtAIb-ONqLhZf-7JBGokhoCHY7w_wcB
Website For 3 months $2.99(X3) = $8.97 WordPress https://wordpress.com/#plans
Total $136.56


Gantt Chart

NewGantt2.jpg

Engineered Solutions

3D Printing

After touching up on CAD techniques, preliminary drawings were made. The first CAD model included holes for three sensors, as exemplified by the first picture in the evolution chain, as Beta Delta initially intended to include three sensors. Next, we printed a scaled-down version to ensure the printer could handle the inner intricacies of our design. Once affirmed, we proceeded to print our first to-scale version, which printed successfully. The only edit to our next and final print was to include a slot for our power supply.

Evolution of 3D Models

caption =CAD drawing --> Down-Sized Print --> First To-Scale Print --> Final To-Scale Print

Circuitry and Code

After scouring the internet for example circuits, we found information on which connections we needed to make with each wire. The result of our research is depicted in the first evolution picture below. We then proceeded to build the circuit and write a simple code that would process motion detection and transform it into a usable format for upload onto our server.

Evolution of Motion Sensor Implementation

Diagram --> Circuit --> Code

Data Upload

We developed entirely our own framework, using bits and pieces from tens of tutorials. Our code was two-pronged, including a first set that interpreted the input from the motion sensor and raspberry pi, and a second set that handled the upload of data, display, and communication between our server and database. The code we typed in the raspberry pi was with the python language. This code looked at whether any motion was sensed by the PIR sensor and based on the result of occupied or unoccupied would send the respective information to our database which was created with PickleDB. Then utilizing our ec-2 user, we got information from the database, and depending on what it told us we used a flask application to present if our simulated room was occupied or unoccupied. We then used our jinja2 html code to further redesign and make our website look nice.

Evolution

Part 1 --> Part 2 --> Result1 or Result2

Results

Presentation Poster

Repository


our final poster