Powered by an ESP32 Feather makes it able to be used as an IoT device. The main functions this lamp will have are:
- Showing different patterns according to notifications I receive.
- Mood light that by using animations creates different effects. (Fire, Magic Gem, Breathing)
- Night light that will shine automatically when I enter the room to draw when I can't sleep.
All this controlled from cellphone or a web browser. Coded using Platform.io IDE (I recently discovered it and I love it) using Arduino and Adafruit libraries for the most part.
Milestone 1 - Showing different patterns according to notifications I receive
The design requirements to accomplish this are:
- Micro controller having a public IP address.
- A service that handles the HTTP requests from web pages notifications and forwards them to the ESP32. [Pipedream]
- Creating different animations to identify each of the notifications.
Milestone 2 - Moonlight
This one is fairly simple. I will create several simple animations and the micro controller will display them after receiving the client instruction. In case it receives a notification while displaying a "permanent" animation. It will save on which animation it was on, display the notification patter and resume with the animation it was on afterwards.
Milestone 3 - Night Light
By grabbing the time from WiFi the lamp will tell when to start running this code. If it's off, and detects the Bluetooth of my cellphone on the specified time range, it will increase brightness as I get closer. Proportional to the signal strength.