Inspiration
We had already planned to work with hardware because we are a diverse team in terms of knowledge, and since one of the proposed challenges suited our intentions, we decided to accept it.
What it does
It consists of different sensors connected to an ESP32 that collects data, processes it, stores it in a buffer, and sends it at regular intervals to the Grafana cloud using the Prometheus remote write API. This allows us to store, analyze, and visualize data in a highly integrated ecosystem. Additionally, we have created a web application that allows us to interact with the ESP32 and the various peripherals we have added.
How we built it
We have used some of the sensors provided to us and some that we already had. The ESP32 was programmed using the Arduino IDE, making physical connections on a breadboard and using various electronic components such as resistors, LEDs, or photoresistors.
We chose to build the web application with Nuxt because we felt very comfortable with it, and communication with the ESP32 was done directly with MQTT via WebSocket.
For Grafana, we used its Cloud service. This communication was done using MQTT and connecting to a node hosted by ourselves.
Challenges we ran into
The main challenges came from conflicts between libraries when implementing WebSockets, which led us to use MQTT despite the considerable time it took to accept that we needed to change direction. Another issue was when we were unable to connect the computers directly through the provided WiFi network, which forced us to use a mobile hotspot, and when the project was more stable, to host it on a node.
Accomplishments that we're proud of
First of all, we are proud of having learned about areas in which we are not experts. From the beginning, we tried to make the most sensible decisions, which can be difficult at times with little time, under pressure, and with great ambition. We did not prioritize trendy technologies; instead, we preferred to limit ourselves to what we really needed without overengineering the situation. We are also proud of having clear objectives from the start and following a methodology that allowed us to achieve them efficiently.
What we learned
We have learned to set goals that are tailored to the difficulty and available time and to resolve any adversity encountered in a timely manner. We have educated ourselves in fields in which we are not experts and finally learned to analyze problems well once detected and decide whether it is worth tackling them based on the context.
What's next for Smart home observability with Grafana
The next steps would be to integrate the proposed solution into a real space to automate a home. Furthermore, there is no doubt that we can diversify into other sectors such as agriculture or livestock farming, among others, in the future.
Log in or sign up for Devpost to join the conversation.