M5Stackのボタンでリモート会議アプリZoomの音声や映像のON/OFFを切り替えるものです。macOS専用です。
Zoomのアプリがアクティブでないときも、ボタンを押せば音声や映像のON/OFFを切り替えることができます。
Zoomで会議をしているとき、自身の音声や映像をOFFにして、別の作業をしていることがあります。そのときに会議の参加者から話しかけられると、 「Zoomをフォアグラウンドに持ってくる」「ミュートボタンやビデオの開始ボタンを押す」というように作業が必要になります。焦るとこれがなかなかうまくいきません。 そんなときにこのボタンが有効です。
Python3のプログラムです。Python3.7とFlaskフレームワークで動きます。Flaskがインストールされていない場合は、pip install flaskでインストールしてください。
動かし方は以下のとおりです。ポート番号5000でWebサーバが立ち上がります。セキュリティには一切の配慮がありません。
> python3 zoomctl.pyM5Stackのプログラムがあります。main.hのSSIDとPASSWDにお使いのWiFiアクセスポイントとそのパスワードを、SERVERにはzoomctl.pyを動かしているPCのIPアドレスやドメイン解決できる名前を入れてください。
PlatformIOなどでコンパイルしてお手持ちのM5Stackにアップロードしてください。
M5Stack上の左のボタンを押すと音声のON/OFFが、右のボタンを押すとカメラのON/OFFが切り替わります。また、中央のボタンを押すとZoomをフォアグラウンドに呼び出します。
M5Stack -(HTTP GET Request)-> zoomctl.py -(JXA)-> Zoom という流れで制御しています。 zoomctl.pyはos.system()を使ってJXAを実行するコマンドを呼び出しています。JXAでは、(1) Zoom.usという名前のアプリをフォアグラウンドに持ってくる、(2) キーボードショートカットを送る、という処理を実行しています。JXAはAppleScriptのJavascript版だと思ってください。
