Motion controlled SmartMirror
Motion controlled SmartMirror showing time and temperature in background with the possibility of adding any widget to the menu. The camera is behind the two-way mirror to get the best possible look. The screen and camera are managed by a raspberry pi. The motion is managed by a server running in python with OpenCV, the server web is in NodeJS.
Showing the display of the main menu and a use case on the widget Cinema (movie times of my local theater)
Show full webm preview - https://gfycat.com/UnsungBlueAmericanshorthair
The motion server can't recognize gestures on a new environment : lights, hand colors... affect the process, that's why by launching the test.py file and tweak the HSV min/max values and others configs properly you can set it up for your home. To begin the tracking make an open palm like shown in the picture below.
npm installnode server.jspip install numpypip install tornadopython test.py for debug infos or python main.py for silent processconfig.py for the tracking settingsuseCameraBoard.piCamera in config.py to true and install the package picamera pip install "picamera[array]"The motion server was made in python to learn the language, but it should have been made in C/C++ to gain execution speed and flowness in the gestures recognitions. Also, python environment kinda sucks at the moment, the difficulty to set it up for python3 + opencv2 + windows and then linux was exhausting, I don't recommend.
No open issues yet, or sync has not completed.