Due to COVID-19, we have been spending more time at home than ever before. People have been using more utility services and not really using them efficiently or conservatively. We believe that creating a dashboard to collect data from the local environment could help people optimize their impact on the environment and make people's lives slightly more convenient.
What it does
The Home Hub is a smart home notification dashboard powered by IoT based sensors as well as a cool web dashboard. Information including temperature, humidity, and air quality is collected and displayed on a web dashboard. Then, this data is used to make recommendations such as whether or not you should go outside (air quality) and what the fire danger is (temperature based). The web dashboard also features a light/dark mode for a good user experience.
How we built it
There are two components to this project:
- NodeMCU with IoT sensors
- Web Dashboard
The NodeMCU IoT sensors (air quality, humidity, and temperature) outputs the collected data in JSON format so we can query the data with an API request. For the dashboard, we built the front-end with Next.js and Tailwind CSS, and used
getServerSideProps to render the data from the sensors onto the site. The dashboard is deployed on Vercel and is registered with the domain home-hub.tech.
Challenges we ran into
In the beginning we struggled with deciding which tech stack to use. We weren't all proficient in the same programming languages and frameworks, so we were uncertain on how it would all integrate together. We struggled with connecting the hardware to the web dashboard because we weren't sure how to fetch data with Next.js. We learned about
getServerSideProps to fetch data from the API.
We also struggled with time zone differences as we were all a few hours to half a day apart and ended up staying very late.
What we learned
It was our first time data fetching with Next.js. We learned how to use server side rendering to fetch data from an API to the user. We were uncertain about this part of our project because none of us had experience here, but in the end we figured it out, and it was easier than we thought.
What's next for Home Hub
We hope to develop an ML model that can predict weather using that data and suggest different types of clothes. This would allow users to see patterns which could allow them to improve their lifestyle.
NodeMCU - US$8 MQ135 - US$2 DHT11 - US$3 Power Source - A Phone Charger will work, too!
Total Hardware Cost = US$13 or 16 CAD