Goodnight Light

Project to send physical goodnight messages over the web


Key concepts/tech used: ESP8266, web server, hardware-web communication, PCB

The Idea

Goodnight light was a way to send a more physical goodnight to people than what texting could offer. This idea came to mind because a lot of people are separated by distance, especially during the time of the pandemic.

Establishing the Communication

POST and GET

The ESP8266 is a Wi-Fi microchip, allowing the communication between the hardware devices to be made through a web server using GET and POST requests

Web-Server API

The server is set up as an API which stores the binary value of my light and the receiver's light. It is hosted on a public endpoint and is able to change those values once it receives the commands from the hardware. The server sends out the updated values when GET requests are made. This was developed using Flask and python.

Interrupts

Each of the microcontrollers are making GET requests in a loop. To ensure that the button press is reliably recorded, I programmed the button presses using interrupts. This allows for the button presses (which have the highest priority) to be properly handled.

Developing the Hardware

After the circuit worked on a breadboard, I converted it into a PCB to be printed as a presentable gift. Afterwards, everything was soldered into place.

After both Goodnight Lights were connected to Wi-Fi, they were able to communicate with each other at any distance. It was awesome to see the communication work from two different states.

victortaksheyev@gmail.com