Introducing pomoDoNotDisturb
(Source/Credits: https://dev.to/salhernandez/introducing-pomodonotdisturb-3io5)
Show availability status via a Pi 3 and Pi Zero by hosting a Flask service that uses Socket.io to relay updates. Pi's talk to each other via USB/Ethernet.
title: Introducing pomoDoNotDisturb published: true description: Show availability status via a Pi 3 and Pi Zero by hosting a Flask service that uses Socket.io to relay updates. Pi's talk to each other via USB/Ethernet. tags: raspberrypi, python3, flask, socketio
Not too long ago we got these signs at work:
Their purpose is to let co-workers know if you are available to chat or not. I liked the idea, but it was a hassle having to reach for the sign and change it. Also, since the sign is not within my field of view, I would sometimes forget what the sign was set for and would have to check. I thought that there should be a better way of handling this where I could change my status on a hub similar to an Elgato Stream Deck and it could show my current status on a screen.
That is how pomoDoNotDisturb was born. Since I use the Pomodoro method to focus on tasks, I figured that it would be nice if the hub could also include a timer that would let people know if I was available or not based on my Pomodoro status.
The end result consisted of a Raspberry Pi Zero W that talks to a Raspberry Pi 3 via USB as a USB/Ethernet Gadget. The Pi Zero has a screen attached to it, while the Raspberry Pi has a touchscreen attached to it. The Raspberry Pi 3 runs Flask which serves two pages:
- /hub
- Controls the status and Pomodoro session
- /status
- Shows current status
For more information please visit the Github repo: pomoDoNotDisturb
The toughest part was making the Pi's talk to each other. It ended up being as simple as assigning static IPs to the USB connection.
Feedback is welcomed! Leave a comment or open an issue.
Comments section