Consists of some JavaScript which detects when a new participant joins a Google Meet call, then either:
-
They will be greeted by a waving animation overlaid on your video feed
-
A Build HAT, connected to a Raspberry Pi, rotates a Lego motor with a hand-waving mechanism attached to it to greet them, eg:
IMG_2250-720.mov
Only tested on macOS 15 and using Chrome.
Install the requirements:
asdf install
python -m venv env
source env/bin/activate
pip install -r requirements.txtFor the Build HAT / robot hand wave (ie. anything that's not hosted on the local machine), the script running in the browser console in Google Meet requires HTTPS for all fetch() requests, so install ngrok on the Pi (https://ngrok.com/docs/guides/device-gateway/raspberry-pi/) followed by:
ngrok http 5000This will set up a tunnel to the local server running on port 5000, and give you a URL over HTTPS that you can use in the browser console script which you can append the participant joined path to, eg. https://11e4-xxx-xxx-xxx-xxx.ngrok-free.app/participant-joined. Use this URL in the browser-console.js script (below) in place of http://localhost:5000.
A self-signed certificate could also be used, but this involves a bit more faff.
- Run the HTTP server and video feed:
python animate-wave.py- Open OBS and add a new source of type "macOS Screen Capture" with the method "Window Capture" and the window "[python] Video Feed"
- Start the virtual camera in OBS
- Open Google Meet and select the OBS virtual camera as the video source
- In a Google Meet call, open the "People" (or "Participants") panel
- Run the
browser-console.jsscript in the DevTools console and enjoy the automated greets whenever someone joins
Press 'w' when viewing the Python video feed window to toggle a greeting manually.
pyvirtualcam would be preferable to OBS, but it doesn't seem to work yet on macOS 15.
- Run the script on a Raspberry Pi with a Build HAT connected, and a motor connected to port A (build an appropriate hand waving mechanism connected to the motor):
python robot-wave.py- In a Google Meet call, open the "People" (or "Participants") panel
- Run the
browser-console.jsscript (switching outhttp://localhostfor the address of the Raspberry Pi / ngrok tunnel, as above) in the DevTools console and enjoy the robot hand wave whenever someone joins
Work in progress: packaging the browser-console.js script into a Chrome extension.