Back in 2017, I had got a kick of learning Arduino, although I was from a Computer Science background. As a final year engineering project I had developed a simple weather monitoring system using IoT where I had used multiple sensors and Arduino UNO as well as a NodeMCU. The data was sent to a ThingSpeak interface to monitor the data. On gaining confidence from the previous project, I decided to give a shot in developing a portable room monitoring device for my room, to measure the air quality level of my room.
This Room Monitoring device consists of a DHT22 Temperature and Humidity sensor, CCS811 CO2 and VOC Sensor, a 3.5 inches Nextion Display (to display all readings) and lastly an ESP8266 NodeMCU microcontroller to obtain data from the sensors and send it to a web server. The web server consists of a dashboard which displays all the sensor readings. This dashboard was developed using a simple HTML, CSS, JS and PHP coding. I have used my personal hosting space, but if you are a beginner, you can use a free hosting space such as WebHost. As I am well versed with web technologies, I was able to work on my dashboard and create it from scratch.
The Dashboard User Interface
The display on the device is custom designed using CoralDraw Software and the image on the display has been imported using the Nextion Editor. You can read about Nextion editor by clicking here.
Another interesting part in this project is connecting to the Wi-Fi. The old ways recommend entering the SSID and Password into the code during uploading onto NodeMCU. On researching I found that the Wi-Fi Manager library was an optimized solution where I could enter the Wi-Fi credentials from my smartphone or laptop. You can click here to know more about the Wi-Fi Manager library and how to use it.
This project is a work in progress as I would be working on a second iteration of this project. If you would like to leave your comments below with your feedback and suggestions, it would mean a lot.