Giter Club home page Giter Club logo

waste-watcher-aws-iot-core's Introduction

Landing page for Zotbins project (https://zotbins.github.io/)

Includes

  • About us for the student team (ZerO Waste Anteaters or ZOWA)
  • Links to our blog and social media (YouTube, Instagram, etc)
  • Who our current team members are
  • Who our research advisors are
  • Who our project mentors are
  • Who our alumni are
  • Miscellaneous photos from Instagram
  • Our project partners

How to Update Team Members, Mentors, and Research Advisors

  • To update the ZotBins members shown in the Team page, go to js/populateAlumni.js, js/populateMentors.js, js/populateResearchAdvistors.js, and js/populateTeamMembers.js
    • To add a team member, go to js/populateTeamMembers.js
    • If a team member is no longer affiliated with ZotBins, move their data from js/populateTeamMembers.js to js/populateAlumni.js
  • Inside those files, you will find an array of objects where each object corresponds to one member. The object adheres to a schema specified in the top of the file.

Notes

  • I recommend running a prettify script to make sure the code is tidy and neat

waste-watcher-aws-iot-core's People

Contributors

aahsue avatar dskin344 avatar jyue86 avatar patrickanguyen avatar

Stargazers

 avatar

Watchers

 avatar  avatar

waste-watcher-aws-iot-core's Issues

Reduce the brightness of the flash LED ๐Ÿ’ก

Description

Issue #3 implemented the flash, but the flash is too bright and possibly uses too much power. Reduce the brightness using PWM to a ~50% duty cycle (Note: the duty cycle may be changed to reach the appropriate brightness).

Requirements

  • When fullness_toggle(true) the flash LED should be set to a 50% duty cycle.
  • When fullness_toggle(false) the flash LED should be completely off with a 0% duty cycle.

Create a macro to handle errors during sensor initialization

Description

The error checking for fullness_init() and flash_init() is too verbose and needs to be improved. Create a macro to simplify this error checking.

Requirements

  • In main.c create a macro that logs the error message and holds the application in an infinite loop.

Implement camera_init() & camera_capture()

Description

The functions camera_init() & camera_capture() are needed to take photos of the waste bin in order to track waste data to lower the number of waste people throw away.

Requirements

  • Implement camera_init() and camera_capture() according to the specifications listed in the comments.
  • Use the included library esp32-camera to take a photo.
  • Always check return codes to make sure no errors have occurred.
  • Adapt the following example into our source code.
  • Make sure to follow the coding standard and use your best engineering judgment.

Correct fullness_measure to return the correct measurement

Description

PR #16 implemented fullness_measure(uint32_t *p_distance) with p_distance representing the distance from the top of the bin to the top of the trash currently inside the bin.

fullness_measure(uint32_t *p_distance) must be refactored to instead return a percentage of how full the trash is, so (Bin Height - Distance Measured) / Bin Height

Requirements

  • Change the function's declaration from fullness_measure(uint32_t *p_distance) to fullness_measure(uint32_t *p_fullness)
  • Have p_fullness represent how percent full the trash bin is with the valid ranges being 0-100 with 0 representing 0% & 100 representing 100%
  • Change config.h and config.h.txt to have BIN_HEIGHT be represented as a unsigned int & remove MAX_US_RANGE
  • Change the maximum range of ultrasonic_measure() to be BIN_HEIGHT which is defined in config.h

Create boilerplate FSM

Description

Create boilerplate FSM in app_main to better structure the code to make it easier to maintain and develop.

Requirements

  • FSM should have different states implemented using an enum.
  • FSM should be able to transition to different states depending on different events.

Implement exponential smoothing in fullness

Description

To reduce the amount of noise measured by the fullness sensor, implement exponential smoothing into fullness_measure().

Requirements

  • Create a new function that takes the previous value & the raw value and returns the output of the exponential smoothing algorithm.
  • Create 3+ unit tests to test the implementation with edge cases included.
  • Make sure to follow the coding standard and use your best engineering judgment.

Implement wifi_init() and wifi_disconnect()

Description

The Waste Watcher needs to connect to WiFi in order to publish its sensor data to the internet.

Requirements

  • Create wifi_init() and wifi_disconnect() to to connect and disconnect from the WiFi
  • Connect to the WiFi network specified in the config.h header file.
  • Use the ESP-IDF Documentation and the ESP-IDF example as reference
  • Always check return codes to make sure no errors have occurred.
  • Make sure to follow the coding standard and use your best engineering judgment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.