Inspiration
Have you ever walked into a different room in your house and noticed that the temperature was vastly different? Being able to monitor the exact temperature, humidity, air pressure, and other metrics about a room has always been difficult and/or expensive, something that this project hopes to fix.
What it does
Our project uses Arduino Uno based Grove Beginner Kit's sensors to read live room statistics (temperature, pressure, humidity, etc.) and send them over a serial bus to a script that adds them to a database that can be read by a live easy-to-use dashboard.
How we built it
We built this project using C++ for the Arduino, Python for the parsing of the data from the serial line, Express.js for the backend API that interfaces with the database, and React.js for the frontend with Chart.js as the engine for our visualizations.
Challenges we ran into
We initially ran into some issues with being able to get a unique identifier for the Arduino, which would allow us to scale the project to support multiple rooms at a time.
Accomplishments that we're proud of
We are proud of the scalability that we were able to achieve with the database entries and API. Theoretically, we are able to support an arbitrary number of sensors, each of which can be displayed separately in the dashboard.
What we learned
We learned how to use React.js and Chart.js concurrently as well as how to implement Server-Sent Events with Express.js and React.js.
What's next for Room Monitor
We hope to be able to port this project to a Raspberry Pi to allow us to wirelessly communicate to the database without the need of another computer to interpret the serial data. This will also allow us to have the entire software stack running on a single device.
Log in or sign up for Devpost to join the conversation.