This is an 2022-2023 Oregon State University Computer Science Capstone Project.
- Daniel Piper
- Jacob Redfern
- Marcelo Salas
- Ryan Zimmerman
- Lyubo Gankov
- Faaiq Waqar
- Kiernan Canavan
The purpose of this project is to empower homeowners to make optimal use of their windows to cool and heat their homes, using sensors placed throughout their home.
Annually, the cost of air conditioning and heating equipment rises in cost anywhere from 5% - 9%. Coupled with the growing costs of electricity and natural gas, in-house climate control can amass enormous utility bills. Effective use of the windows in one’s home can help, but knowing how best to use the windows in your home is a non-trivial problem.
Compared to the competition, the benefits of using our project are that it is free and open-source, highly configurable, and not locked into any ecosystem. You can use any kind of sensor, and can easily self-host the web server if you don't want to be tied into our cloud server. It may not be as polished or feature-rich than commercially available projects, but it is very accessible and adaptable to your needs.
You must have at least one sensor module that can get temperature and humidity data and send that data over the network. When developing the project, we used an Arduino Nano RP2040 Connect with a DHT11 Sensor. However, our project is compatible any system that can gather temperature and humidity data, then send that data over the network via an HTTP PUT request.
To set up a sensor module, follow the instructions here.
You can either use our cloud-hosted web server at osuscc.azurewebsites.net (recommended), or self-host a web server using the instructions here.
Additionally, our recommended configuration is for your sensors to directly communicate with the web server, but we also support a configuration with a local server that handles the web server communication, which can be run on a Raspberry Pi, laptop, server, etc. (setup instructions).
All documentation can be found in the respective repositories:
If you have any difficulties setting up and running the project, please open a GitHub issue in the appropriate repository.
If you want to contact us for any other reason, you can open a GitHub issue or Start a GitHub discussion