マウントは出来上がったので制御用ソフトを準備します。
今回は、制御用ソフトをLibreOffice Calcで準備していこうと思います。
表計算ソフトを制御に使う理由は、単に画像管理を楽にやりたかったためです。
また、GUI等に凝る気もまったくないので、自分はこれで十分と判断しました。
Excelを使わなかった理由は、個人的にはライセンスを保持していないのと、LibreOfficeは使ったことがなかったので、お勉強を兼ねてます。
■ 制御用ソフトで達成したい機能
制御ソフトでは、下記のことをやりたいと考えています。
Libreを開かないと撮影しないので、煩わしい感じがしますが、とりあえずはやってみようと思います。
- マウントのコンフィグレーション
・THETAの電源ON/OFF制御
・充電設定 - THETAの電源ON/OFF制御
・ブックを開くと自動で撮影開始
・ブックを閉じると自動で撮影停止 - 撮影管理
・ライブビュー表示/静止画撮影
・撮影ログ管理(画像リスト追加、削除)
・無操作オートパワーオフ
■ Libre Calcのセットアップ
まずは、Libre Calcのセットアップから。
Libre Calcは、マクロとして下記の4つが使用可能です。
今回は、このうちのBasicとPythonを組み合わせて作っていこうと思います。
基本的はBasicで記述しますが、ライブビューや静止画撮影に関してはPythonで記述します。
・Basic
・Bean Shell
・JavaScript
・Python
Basicは、ExcelのVBAに相当するもので、特に準備等必要なく、そのまま使用可能です。
Pythonは、使えるようにするには、追加でセットアップが必要となります。
参考に私が行ったPythonのセットアップ手順を記載します。
① APSO(Alternative Script Organizer for Python)の導入
まず最初にLibreからPythonを扱う場合、APSOを導入しておくと便利なので最初に導入しておきます。
リンク先の下の方に「Release List」があります。私は、「v1.2.8」を使用しました。
手順は、以下の通りです
a. APSOをダウンロード後、Libre Calcを起動します
b. メニューの「ツール」→「機能拡張マネージャー」を選択します
c.「追加」ボタンを押し、a.でダウンロードしたファイルを選択します
d. 追加を行うと「ライセンス承認」画面が表示されますので、「承認」ボタンを押します
e. APSOのパッケージが追加されます
f. メニューに「ツール」→「マクロ」→「PythonScriptの管理」が現れます
② get-pip.pyの導入
get-pip.pyをダウンロードします。
コマンドプロンプトを開き、下記のようにコマンドを実行します。
以降は、LibreOfficeをC:\Program Filesに導入したケースを記載します。もし、異なるディレクトリーにインストールした場合は、読み替えてください。
パス設定は面倒ですが、行わないとpythonを実行できませんので必ず設定してください。
set PATH=C:\Program Files\LibreOffice\program;%PATH%
python get-pip.py –user [–proxy=”http://user:password@server:port“]
※1 []内は、proxy環境で使う際の設定
※2 –user、–proxyのハイフンは2つ(なぜか一つしか表示されてません)
③ openCVの導入
コマンドプロンプトを開き、下記のようにコマンドを実行します。
パス設定は面倒ですが、行わないとpipを実行できませんので必ず設定してください。
set PATH=C:\Users\foo\AppData\Roaming\Python\Python38\Scripts;%PATH%
pip install opencv-python [–proxy=”http://user:password@server:port“]
pip install opencv-contrib-python [–proxy=”http://user:password@server:port“]
※1 fooは、自身のアカウント名に読み替えてください
※2 []内は、proxy環境で使う際の設定
※3 –proxyのハイフンは2つ(なぜか一つしか表示されてません)
■ 次週
次週は、ソフト作成を開始しようと思います。
Excel VBAとは色々と異なり、制約や言語仕様等異なるので、苦戦中で、今週は内容少な目です。
(超甘く見てました)
不定期更新になるかもしれないですが、でき次第掲載する予定です。
もしよかったら、またのぞいてやってください。