ラズパイ4にSikuliXを入れるインストール手順をステップバイステップでまとめましたので、ご参照ください。
先に結論から。
2020年9月時点で、RaspberryPiにSikuliを入れた方法。
1.Raspberry Pi OSは諦めて、Ubuntu mateの64bit版OSを使う。
2.下記コマンドを順に実行。
sudo apt install libopencv4.2-java openjdk-11-jre-headless
sudo ln -s libopencv_java420.so libopencv_java.so
3.SikuliXのダウンロードサイトから、SikuliX本体とJythonをダウンロード(同じフォルダに入れておく)
https://raiman.github.io/SikuliX1/downloads.html
4.一度 起動させてみる。 >java -jar sikulixide-2.0.4.jar
5.上記でlibJXGrabKey.soのarm64版がないから起動に失敗したって言うエラーが出るはずなので、下記で該当モジュールを入れる。
sudo apt-get install libjxgrabkey-jni
mv /home/pi/.Sikulix/SikulixLibs/libJXGrabKey.so /home/pi/.Sikulix/SikulixLibs/libJXGrabKey.so_org
sudo ln -s /usr/lib/aarch64-linux-gnu/jni/libJXGrabKey.so /home/pi/.Sikulix/SikulixLibs/libJXGrabKey.so
(ユーザ名:piは適宜読み替えてください)
6.改めて起動 (java -jar sikulixide-2.0.4.jar) するとうまく動きます。
解説。
32bit版 RaspberryPi OS / RaspbianにSikuliXを入れられなかった理由。
SikuliXはバージョン1.0.4以降は64BitOSのみサポートになってしまい、32bitOSである普通のRaspberry Pi OS/Raspbianでは最新版はインストールできません。
そこで、最初は32bit対応しているバージョン1.0.1〜1.0.3までのインストールを試したのですが、必要なライブラリが古すぎるらしく、既にaptでは取得できません。(3つくらいソースからBuild必要で、一旦保留)
64bit版 RaspberryPi OSにSikuliXを入れられなかった理由。
では、Preview版の64bit Raspberry Pi OSがあるじゃないか、と思って飛びついたのですが、これも失敗してます。
SikuliXが必要としているOpenCVのバージョンが4系なのですが、aptで取れるOpenCVの最新バージョンが320なのです。
試しにこの組み合わせで起動しようとしましたが、無事失敗しました。
多分、自分でBuildすれば良いんでしょうけれど、結構な時間がかかりそうなので、これも一旦保留。
Ubuntu mateにした理由
64bit系のディストリビュータは複数あるし、特にUbuntu Serverにデスクトップを入れるのと迷ったのですが、インストール楽そうなのでmateにしました。
多分、他のディストリビュータを選んでもうまくインストールできる可能性は高いと思います。
ラズパイでSikuliXをまともに動かすパフォーマンスは出るのか?
条件付きで使えます。
SikuliXは提示された画像(や文字)と類似する画像が画面上の指定領域にあるかどうか、で動作します。
特に指定領域regionを決めずにfindやexistsをかけると画面全体から探してしまうので、相当CPU食ってしまい使い物になりません。
指定領域も提示画像もなるべく小さくすることがコツのようです。
補足 OS変えたら動作早くなりました
タイトルそのまんまなのですが、体感速度は随分違います。
ちょっと重たい作業した時の感じを某メンバーで例えると
32bit : ちょっ、ちょ待てよ〜〜、待てって。 くらいですが、
64bit : ちょまっ くらいになります。
全くの蛇足でしたが、試した方には分かってもらえるんじゃないかなぁ・・・。
長くなりましたが、この辺りで。
色々悩んで3日も使ってしまったので、どなたかの役に立つと良いのですが・・・。
コメント