This little one-button-solution is connected to a Mac-Mini and initiates a Zoom meeting automatically, once the button is pressed. After initiating a new meeting, all attendees will be notified via Skype. The notification contains the join-URL so that's easy possible to join by just one click. The list of attendees can be easily configured via Skype contact lists. There's also a LED inside, which gives visual feedback and of course – like any other DIY project – there needs to be a LED soldered in ;)
The idea is simple, we use a really cheap micro controller and a fancy button (from an arcade mashine) and simulate an USB keyboard. This simulated Keyboard doesn't need any special software driver because all operating systems automatically have drivers included and can use it.
When the button is pressed it will signal the operating system: "there was a button pressed". Which button to use, can be configured inside this micro controller code.
Another software tool (e.g. Automator) is used to detect a button-press similar to a user pressing a special hot key and triggers a script which finally starts the Zoom client.
- Use Arduino IDE 1.6.5 or newer
- Follow the Digispark's tutorial
- Compile the file
one-button-to-zoom-meeting.ino
and upload the code from within your Arduino IDE
There's a script file start_meeting_and_notify_users.js
that uses Apple's
JavaScript for Automation
technique to automatically initiate a meeting and notify all attendees.
Before running this script, make sure Skype and Zoom have login credentials provided and are able to login automatically. Currently the script is not able to handle authentication of Skype nor Zoom.
The following software needs to be installed in order to make the 'magic' happen
- OSX 10.x
- Curl - command line tool for Zoom's REST API integration
- Osascript - command line tool for Skype desktop API integration
- Automator - for global hot key binding
- Zoom.us dekstop client
- Skype desktop client
In general you have many options to run this script.
- Run manually from within a terminal
- Run programatically by any other script
- Triggered by OSX Automator tool
To trigger the script by a global hotkey (a.k.a. green button), you need to copy the script inside Automator's service script. Afterwards you can assign a key to this service script.
- create a new workflow document of type 'Service'
- set 'Service receives selected' to 'no input'
- add 'Run JavaScript' from the Library into your workflow document
- copy all code from file
start_meeting_and_notify_users.js
to clipboard - replace '// Your script goes here' inside workflow script and paste the code from clipboard
- remove the first line '#!/usr/bin/env osascript -l JavaScript'
- fill in your Zoom API key and API secret
- save workflow document as 'one-button-to-zoom' into your user's folder ~/Library/Services
- select 'Shortcuts'
- select 'Services'
- search for General -> one-button-to-zoom
- assign a new key == the green button one ;)
Designed to be used with Digispark ATTiny85 boards.
- 1x Digispark (or compatible)
- 1x Arcade Button, 52mm, incl. 1 LED
- 1x Resistor 220Ohm
- 1x Resistor 10kOhm