I recently made a post on here about a final project for my CS degree, but I didn't really have a good description of what I wanted to do, so I'm making this post with a better description and want to hear your thoughts on if this would work, if the components would be fine for this, and such.
Hello, I am a third year CS student and have to make something as a final project, and I've choosen the theme IoT and Arduino. Here is something that I have thought about doing and want to hear your thoughts on it.
The basic idea is I would first make a backend API (node.js and express preferably), which would facilitate communication between a mobile app and an arduino board. The user would register and sign in via the app. The app would display sensor data inside the home, which would be received from the backend, which would receive it from the sensor on the arduino and store it in a DB. Then the app would have a list of the LED RGB lights in the users home, and from there the user can turn the lights ON/OFF, change brightness, color, animation.
Here is the part where I'm not sure if this is a good approach as I've never done anything like this. I don't want to make it so the lights are directly connected to the arduino, so I thought about getting wifi LED controllers, which the lights would be plugged into. I would flash something like tasmota on the LED controller, so I could control it without the proprietary app or whatever it ships with. Then after registration and login, the app would scan the wifi network and the user would select the board, which would be running in AP mode. Then the user enters the Wifi credentials and reboots and connects to that Wifi. Then to discover all the LED controllers in the network, the board would broadcast a MQTT discovery message. The controllers would respond with the details and the board would register them and display them in a list on the app.
I used ChatGPT for this part about using LED controllers and having the board discover them, so I'm not sure how much of this is actually possible in the way I described here and was hoping someone could "double check" I guess.
For the board, I know I could use an ESP32 for this, but I want to get an Arduino board for potential future projects. I was looking at the MKR WiFi 1010 board, would this be suitable or should I choose a different one?
I'd like to hear your thoughts on this whole approach, if it would work, if I should just make the LEDs wired directly to the Arduino instead, basically if there is anything I should change, because I don't have any experience with this kind of project.