RaspberryPi、AVRマイコンのファームウェア開発、XOJO を使ったソフトウェア開発/不具合解析で役に立つ情報を、自分自身の備忘録も兼ねて少しずつではありますがアップしてゆこうと思います。
【追加トピックス】
1. XOJO : ループ処理を実行中、キー入力により強制停止させる方法
2. XOJO : StackOverFllow 問題の解析方法について
3. RaspberryPi : 「AVRマイコン」の開発環境を構築
01. RaspberryPi3 ハードウェアの準備
02. SD カードへ OS をコピーする(起動ディスクの作成)
03. OS のインストールと ネットワーク(WiFi)の設定
04. 日本語表示/入力・環境の整備
05. suのパスワード設定とセキュリティー強化
06. ファイルシステムを拡張
07. フォント・サイズなどルック・アンド・フィールの変更
08. FireFoxのインストール(付属のブラウザーでは物足りない人向け)
09. Notepadqq(Notepad++ に似た高機能なエディタ)のコンパイルとインストール
10. AVRマイコン・開発環境をインストール
11. CH340/341G ドライバーのインストール(Arduino 互換機・利用者向け)
12. 画面キャプチャー・ツールのインストール
13. キーボード/マウスなどを使わずにRaspberry Pi3 を使用する環境の構築
14. たまにはやっておいた方が良い事(ソフトのアップデート/ストレージのバックアップ)
15. MAIN MENU の表示がおかしくなった時の対処方法
4. Windows , Mac , RaspberryPi : GUI の自動制御環境の構築
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
【追加トピックス】
1. XOJO : ループ処理を実行中、キー入力により強制停止させる方法
2. XOJO : StackOverFllow 問題の解析方法について
3. RaspberryPi : 「AVRマイコン」の開発環境を構築
01. RaspberryPi3 ハードウェアの準備
02. SD カードへ OS をコピーする(起動ディスクの作成)
03. OS のインストールと ネットワーク(WiFi)の設定
04. 日本語表示/入力・環境の整備
05. suのパスワード設定とセキュリティー強化
06. ファイルシステムを拡張
07. フォント・サイズなどルック・アンド・フィールの変更
08. FireFoxのインストール(付属のブラウザーでは物足りない人向け)
09. Notepadqq(Notepad++ に似た高機能なエディタ)のコンパイルとインストール
10. AVRマイコン・開発環境をインストール
11. CH340/341G ドライバーのインストール(Arduino 互換機・利用者向け)
12. 画面キャプチャー・ツールのインストール
13. キーボード/マウスなどを使わずにRaspberry Pi3 を使用する環境の構築
14. たまにはやっておいた方が良い事(ソフトのアップデート/ストレージのバックアップ)
15. MAIN MENU の表示がおかしくなった時の対処方法
4. Windows , Mac , RaspberryPi : GUI の自動制御環境の構築
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
【XOJO : ループ処理を実行中、キー入力により強制停止させる方法】
「for … next」や「while … wend」などのループ処理コードを実行し始めると、キーボードからの入力を受け付けられなくなる事があります。そうなると、ソフトウェア自体を強制終了しなければなりません。
この様な事態を避けるために、「usercancelled」というキーボードからループの停止命令を検出するコードと、強制停止を検出したらループから脱出するコードを以下の様な形で入れておくと安全です。
for …
if usercancelled then
exit
end if
:
:
:
:
next
while …
if usercancelled then
exit
end if
:
:
:
:
wend
こうする事で、Macの場合は「Command + .」(コマンド+ピリオド)の押下で、Winの場合は「Esc」ボタンを押下する事でループを停止出来、ハングアップしてしまう事を回避出来ます。
XOJO で無限ループに入ってしまい、お困りの方は是非一度お試しください!
目次へ戻る
【XOJO : StackOverFllow 問題の解析方法】
「Easy MCUser」は、「XOJO」というクロスプラットフォーム環境で開発している関係もあり、その開発の中で気がついたことも、情報として発信してこうと思います。今回は、その第一段です。
StackOverFllow 問題は、ソフトウェアを作っていてやっかいな問題です。
これを解析するには、どこで StackOverFllow が発生しているのかを知ることが先決と思いますが、XOJO の場合、Mac 版ではこの現象がどこで発生しているのかが、デバッグしたくてもソフトが落ちてから StackOverFllow であるという表示だけされるため、現象が非常に掴みずらいです。
ところが、同じ XOJO でも、Windows 版の XOJO では、最後にソフトウェが落ちる前に、どこで StackOverFllow や Out of Bounds などの致命的問題が発生してソフトが落ちてしまっているのかが掴めます。
もし、Mac 版の XOJO を使っていて、上記のような問題の解析でお困り間場合は試してみる価値があるのではないかと思います。
「XOJO」の前身は「Real basic」という製品で、このころから Mac のプログラミングがしたくて個人で開発環境を購入していました。しかしながら Mac の開発環境の方が歴史が長いにもかかわらず、Windows 版の方が処理が速かったり、デバッグのちょっとした事ですがやり易かったり、… Mac がメインの私としては、少々残念です。でも、今のところ仕事以外では、Mac 以外使いたくないので、応援しています、、Mac 版。
目次へ戻る
【RaspberryPi : RaspberryPi3 ハードウェアの準備】
8G[byte] Micro SD カードが最低ラインですが、将来の事を考えて16G[byte] 以上の Micro SD カードを準備しておくのがお勧めです。Raspberry Pi3 が発売された直後には、電源の消費電流の問題から大電流の供給が可能な電源アダプタの情報が飛び交っていましたが、11/04/2016 現在、RSコンポーネンツからは本体と電源がセット販売されているので、もし電源をお持ちでない方はセットで購入されるのがお勧めです。下記の「大変参考になった URL」を参考にして下さい。
16G~32G[byte] Micro SD カード(必要に応じて、SD カード・変換アダプタなど)
RaspberryPi3 ボード
USB 電源アダプター・USB MiniB ケーブル(供給可能電流・2.5A以上)
HDMI ケーブル(必要に応じて、HDMI-VGA 変換アダプタなど)
USB マウス
USB キーボード
大変参考になった URL
http://jp.rs-online.com/web/p/processor-microcontroller-development-kits/1238760/?cm_mmc=JP-PPC-_-google-_-2_JP_JP_LS_Raspberry+Pi_Phrase-_-Raspberry_Pi_3&mkwid=sCwcrRTk7-dc|pcrid|93517968984|pkw|raspberry%20pi%203|pmt|p|prd|
目次へ戻る
8G[byte] Micro SD カードが最低ラインですが、将来の事を考えて16G[byte] 以上の Micro SD カードを準備しておくのがお勧めです。Raspberry Pi3 が発売された直後には、電源の消費電流の問題から大電流の供給が可能な電源アダプタの情報が飛び交っていましたが、11/04/2016 現在、RSコンポーネンツからは本体と電源がセット販売されているので、もし電源をお持ちでない方はセットで購入されるのがお勧めです。下記の「大変参考になった URL」を参考にして下さい。
16G~32G[byte] Micro SD カード(必要に応じて、SD カード・変換アダプタなど)
RaspberryPi3 ボード
USB 電源アダプター・USB MiniB ケーブル(供給可能電流・2.5A以上)
HDMI ケーブル(必要に応じて、HDMI-VGA 変換アダプタなど)
USB マウス
USB キーボード
大変参考になった URL
http://jp.rs-online.com/web/p/processor-microcontroller-development-kits/1238760/?cm_mmc=JP-PPC-_-google-_-2_JP_JP_LS_Raspberry+Pi_Phrase-_-Raspberry_Pi_3&mkwid=sCwcrRTk7-dc|pcrid|93517968984|pkw|raspberry%20pi%203|pmt|p|prd|
目次へ戻る
【RaspberryPi : SD カードへ OS をコピーする(起動ディスクの作成)】
下記 URL で、OSインストールに使用する Micro SD カードの相性問題を確認をしておく。
http://elinux.org/RPi_SD_cards
SDカード・フォーマッタを下記 URL からダウンロード(Mac 用 / Windows 用があり)
https://www.sdcard.org/jp/downloads/formatter_4/
Raspberry Pi3 の OS(NOOBS)を下記 URL からダウンロード(Liteでない点に注意)
https://www.raspberrypi.org/downloads/noobs/
ダウンロードしてきたOS(NOOBS)を Micro SDカードにコピーする
「NOOBS_vX_X_X」(X は、その時の最新Ver.の番号)フォルダーの直下のファイル/フォルダー全てを選択して、SDカードにコピーする。ここまでで、OS 起動までの準備が完了!
追記)
個人的には、デジカメ用に使う分には問題がなかったものでも「Micro SD -> SD カード・変換アダプタ」との相性が悪くて(?)OS の書き込がうまく出来なかった例があり。(その時は、dd コマンドを使ってOS インストール、東芝製の変換アダプタで Transcend 製 16G[byte]の Micro SD カードに対して実行してみた結果、RaspberryPi3 にMicro SD カードを挿入しても、うんともすんとも…という具合。)
どうしてもうまくいかない場合は、変換アダプタを変えて試してみるのもありかも知れません…。
大変参考になった URL
http://wp.pxdesign.jp/2016/05/28/raspberrypi-02/
目次へ戻る
下記 URL で、OSインストールに使用する Micro SD カードの相性問題を確認をしておく。
http://elinux.org/RPi_SD_cards
SDカード・フォーマッタを下記 URL からダウンロード(Mac 用 / Windows 用があり)
https://www.sdcard.org/jp/downloads/formatter_4/
Raspberry Pi3 の OS(NOOBS)を下記 URL からダウンロード(Liteでない点に注意)
https://www.raspberrypi.org/downloads/noobs/
ダウンロードしてきたOS(NOOBS)を Micro SDカードにコピーする
「NOOBS_vX_X_X」(X は、その時の最新Ver.の番号)フォルダーの直下のファイル/フォルダー全てを選択して、SDカードにコピーする。ここまでで、OS 起動までの準備が完了!
追記)
個人的には、デジカメ用に使う分には問題がなかったものでも「Micro SD -> SD カード・変換アダプタ」との相性が悪くて(?)OS の書き込がうまく出来なかった例があり。(その時は、dd コマンドを使ってOS インストール、東芝製の変換アダプタで Transcend 製 16G[byte]の Micro SD カードに対して実行してみた結果、RaspberryPi3 にMicro SD カードを挿入しても、うんともすんとも…という具合。)
どうしてもうまくいかない場合は、変換アダプタを変えて試してみるのもありかも知れません…。
大変参考になった URL
http://wp.pxdesign.jp/2016/05/28/raspberrypi-02/
目次へ戻る
【RaspberryPi : OS のインストールと ネットワーク(WiFi)の設定】
SD カードをRaspberryPi3 本体に挿入し、しっかり挿入されている事を確認したら、電源を投入。
画面が表示されたら「NOOBS」のインストールにチェックを入れて、設定の開始。
(まだ、この時点では言語などの設定はしなくて良い。逆に日本語フォントを入れる前に日本語の設定をしてしまうと、メニューやらメッセージやら、文字化けで何が書かれているのか全く分からなくなってしまうため。)
OS のインストールが終わって、OSが立ち上がったら、いの一番にネットワークの設定をする。
メニューバー上の「WiFi」をマウスで右クリックし、接続するWiFi 機器を選択して、「Pre sheard Key」の入力欄へ接続用のパスワードを設定。
大変参考になった URL
https://dbpro.xyz/1261
目次へ戻る
SD カードをRaspberryPi3 本体に挿入し、しっかり挿入されている事を確認したら、電源を投入。
画面が表示されたら「NOOBS」のインストールにチェックを入れて、設定の開始。
(まだ、この時点では言語などの設定はしなくて良い。逆に日本語フォントを入れる前に日本語の設定をしてしまうと、メニューやらメッセージやら、文字化けで何が書かれているのか全く分からなくなってしまうため。)
OS のインストールが終わって、OSが立ち上がったら、いの一番にネットワークの設定をする。
メニューバー上の「WiFi」をマウスで右クリックし、接続するWiFi 機器を選択して、「Pre sheard Key」の入力欄へ接続用のパスワードを設定。
大変参考になった URL
https://dbpro.xyz/1261
目次へ戻る
【RaspberryPi : 日本語表示/入力・環境の整備】
日本語フォントをインストールする。(お好みで、"fonts-" 以降を "takao" , "ipaexfont" などに。)
sudo apt-get install fonts-vlgothic
UNIX系・OSにおける、インプットメソッド・フレームワーク IBUS と、日本語入力システム Anthy をインストールする。
sudo apt-get install ibus-anthy
Linux環境で漢字を表示するためのパッケージをインストールする。
sudo apt-get lnstall jfbterm
インストールしたら再起動して、GUIから各種の設定を実行。
大変参考になった URL
http://nonstop-engineering.hatenablog.com/entry/raspberry-pi-first-setting
http://www.mztn.org/rpi/rpi34.html
目次へ戻る
日本語フォントをインストールする。(お好みで、"fonts-" 以降を "takao" , "ipaexfont" などに。)
sudo apt-get install fonts-vlgothic
UNIX系・OSにおける、インプットメソッド・フレームワーク IBUS と、日本語入力システム Anthy をインストールする。
sudo apt-get install ibus-anthy
Linux環境で漢字を表示するためのパッケージをインストールする。
sudo apt-get lnstall jfbterm
インストールしたら再起動して、GUIから各種の設定を実行。
大変参考になった URL
http://nonstop-engineering.hatenablog.com/entry/raspberry-pi-first-setting
http://www.mztn.org/rpi/rpi34.html
目次へ戻る
【RaspberryPi : suのパスワード設定とセキュリティー強化】
ターミナルから下記コマンドを実行すると、パスワードの設定を2回要求される
sudo passwd root
xxxxxxxx
xxxxxxxx
上記の様に2回、パスワードを設定(「xxxxxxxx」は、任意の文字列)
設定が完了したら、実際に「su」のパスワードが正しく設定されている事を確認
su
xxxxxxxx
プロンプトも「su」(スーパー・ユーザー)になっている…はず。
「exit」で、「su」の前のユーザーに戻れる
exit
大変参考になった URL
http://masatolan.com/raspberry-pi/raspberry-pi-security/
目次へ戻る
ターミナルから下記コマンドを実行すると、パスワードの設定を2回要求される
sudo passwd root
xxxxxxxx
xxxxxxxx
上記の様に2回、パスワードを設定(「xxxxxxxx」は、任意の文字列)
設定が完了したら、実際に「su」のパスワードが正しく設定されている事を確認
su
xxxxxxxx
プロンプトも「su」(スーパー・ユーザー)になっている…はず。
「exit」で、「su」の前のユーザーに戻れる
exit
大変参考になった URL
http://masatolan.com/raspberry-pi/raspberry-pi-security/
目次へ戻る
【Raspberry Pi : ファイルシステムを拡張】
GUIで、[Menu] → [Preferences] → [Raspberry Pi Configuration]を選択
GUIで、[System]タブ → [Expand Filesystem]ボタンを押下
再起動後、df -h コマンドで /dev/rootのSize を確認
大変参考になった URL
http://qiita.com/yohhoy/items/857dc9d88f944e4c0b2c
目次へ戻る
GUIで、[Menu] → [Preferences] → [Raspberry Pi Configuration]を選択
GUIで、[System]タブ → [Expand Filesystem]ボタンを押下
再起動後、df -h コマンドで /dev/rootのSize を確認
大変参考になった URL
http://qiita.com/yohhoy/items/857dc9d88f944e4c0b2c
目次へ戻る
【RaspberryPi : フォント・サイズなどルック・アンド・フィールの変更】
ターミナルから下記のコマンドを実行する。
lxappearance
ちなみに私の設定は、情報として「こちら」のページに以前ご紹介致しましたもの。
「Easy MCUser」は、XOJO というクロスプラットフォームの開発言語で作成しておりますが、AVRMC で使用している Release 1.1 でraspberryPi 用にビルドすると、OS をインストールした時のままのフォントとルック・アンド・フィール設定ではGIU のプルダウン・メニューの表示が、どうしても下の方に隠れてしまうので、試行錯誤の上、この設定になりました。。。
目次へ戻る
ターミナルから下記のコマンドを実行する。
lxappearance
ちなみに私の設定は、情報として「こちら」のページに以前ご紹介致しましたもの。
「Easy MCUser」は、XOJO というクロスプラットフォームの開発言語で作成しておりますが、AVRMC で使用している Release 1.1 でraspberryPi 用にビルドすると、OS をインストールした時のままのフォントとルック・アンド・フィール設定ではGIU のプルダウン・メニューの表示が、どうしても下の方に隠れてしまうので、試行錯誤の上、この設定になりました。。。
目次へ戻る
【RaspberryPi : FireFoxのインストール】
FireFox は、Linux の環境では「iceweasel」と呼ばれている。FireFox をインストールするには下記のコマンドを実行。
sudo apt-get update
sudo apt-get install iceweasel
追記 : 11/06/2016 現在、最新版となる NOOBS2.0.0 では、OSインストール直後に上記コマンドだけではエラーが発生してインストール出来ませんでしたので、指示に従い、” update ” をしてからインストールしたらOKでした。転ばぬ先の杖…という事で。
大変参考になった URL
http://raspibb.blogspot.jp/2015/04/blog-post.html
目次へ戻る
FireFox は、Linux の環境では「iceweasel」と呼ばれている。FireFox をインストールするには下記のコマンドを実行。
sudo apt-get update
sudo apt-get install iceweasel
追記 : 11/06/2016 現在、最新版となる NOOBS2.0.0 では、OSインストール直後に上記コマンドだけではエラーが発生してインストール出来ませんでしたので、指示に従い、” update ” をしてからインストールしたらOKでした。転ばぬ先の杖…という事で。
大変参考になった URL
http://raspibb.blogspot.jp/2015/04/blog-post.html
目次へ戻る
【RaspberryPi : Notepadqq のコンパイルとインストール】
Notepadqq は、Windows 上で動作する「Note Pad ++」の様な高機能で使いやすい RaspberryPi 上で動作するエディターです。インストール方法は以下の手順で行います。
sudo apt-get install qt5-qmake
sudo apt-get install -y libqt5webkit5 libqt5svg5 coreutils
sudo apt-get install -y libqt5webkit5-dev libqt5svg5-dev qttools5-dev-tools
git clone https://github.com/notepadqq/notepadqq.git
cd notepadqq
sudo ./configure --prefix /usr --qmake /usr/lib/arm-linux-gnueabihf/qt5/bin/qmake
sudo make
sudo make install
大変参考になった URL
https://www.linuxbabe.com/desktop-linux/compile-notepadqq-debian-ubuntu-raspbian
目次へ戻る
Notepadqq は、Windows 上で動作する「Note Pad ++」の様な高機能で使いやすい RaspberryPi 上で動作するエディターです。インストール方法は以下の手順で行います。
sudo apt-get install qt5-qmake
sudo apt-get install -y libqt5webkit5 libqt5svg5 coreutils
sudo apt-get install -y libqt5webkit5-dev libqt5svg5-dev qttools5-dev-tools
git clone https://github.com/notepadqq/notepadqq.git
cd notepadqq
sudo ./configure --prefix /usr --qmake /usr/lib/arm-linux-gnueabihf/qt5/bin/qmake
sudo make
sudo make install
大変参考になった URL
https://www.linuxbabe.com/desktop-linux/compile-notepadqq-debian-ubuntu-raspbian
目次へ戻る
【RaspberryPi : AVRマイコン・開発環境をインストール】
コンパイラーとライターのインストール。
sudo apt-get install gcc-avr
sudo apt-get install avr-libc
sudo apt-get install avrdude
AVRのライター・USBaspを使える様にする。
cd /etc/udev/rules.d
「pico」エディターで、ルール・ファイルの作成と編集する。
sudo pico 99-USBasp.rules
下記の記述をコピー&ペースして保存する。「vi」とかでやる人は、vi で。
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="users", MODE="0666"
[Ctrl]+[x]で、保存確認後・終了
「pico」エディターの使い方
カーソル・キーで移動
[Ctrl]+[v]で、ペースト
[Ctrl]+[o]で、ファイル(「99-USBasp.rules」)への書き込み
[Ctrl]+[x]で、保存確認後・終了
大変参考になった URL
https://andreasrohner.at/posts/Electronics/How-to-fix-device-permissions-for-the-USBasp-programmer/
目次へ戻る
コンパイラーとライターのインストール。
sudo apt-get install gcc-avr
sudo apt-get install avr-libc
sudo apt-get install avrdude
AVRのライター・USBaspを使える様にする。
cd /etc/udev/rules.d
「pico」エディターで、ルール・ファイルの作成と編集する。
sudo pico 99-USBasp.rules
下記の記述をコピー&ペースして保存する。「vi」とかでやる人は、vi で。
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="users", MODE="0666"
[Ctrl]+[x]で、保存確認後・終了
「pico」エディターの使い方
カーソル・キーで移動
[Ctrl]+[v]で、ペースト
[Ctrl]+[o]で、ファイル(「99-USBasp.rules」)への書き込み
[Ctrl]+[x]で、保存確認後・終了
大変参考になった URL
https://andreasrohner.at/posts/Electronics/How-to-fix-device-permissions-for-the-USBasp-programmer/
目次へ戻る
【RaspberryPi : CH340/341G ドライバーのインストール】
このメモを書き留めた時にインストールした「NOOBS v2.0」のOSでCH340Gが搭載されている Arduino 互換機を接続したところ、USB・シリアル変換デバイスとして問題なく認識されました。
下記のメモは、うまくいかない場合の事を考えて事前に対応策を調べておいたもので、その時のメモを掲載します。
CH340G ドライバーのインストール手順(下記の手順でコマンドを実行)
CH340/341 ドライバーのダウンロード。
wget https://github.com/aperepel/raspberrypi-ch340-driver/releases/download/4.4.11-v7/ch34x.ko
カーネルモジュールをロード(取り込み)。
sudo modprobe usbserial
sudo insmod ch34x.ko
カーネルモジュールの依存関係情報を更新するコマンドを実行。
sudo depmod -a
Arduino 互換機を繋いだ状態にして、デバイス・ドライバーとしてインストールされている事を確認。
ls /dev/ | grep ttyUSB
ls /dev/serial/by-id/
大変参考になった URL
http://artteknika.hatenablog.com/entry/2016/11/01/175210
https://github.com/aperepel/raspberrypi-ch340-driver
目次へ戻る
このメモを書き留めた時にインストールした「NOOBS v2.0」のOSでCH340Gが搭載されている Arduino 互換機を接続したところ、USB・シリアル変換デバイスとして問題なく認識されました。
下記のメモは、うまくいかない場合の事を考えて事前に対応策を調べておいたもので、その時のメモを掲載します。
CH340G ドライバーのインストール手順(下記の手順でコマンドを実行)
CH340/341 ドライバーのダウンロード。
wget https://github.com/aperepel/raspberrypi-ch340-driver/releases/download/4.4.11-v7/ch34x.ko
カーネルモジュールをロード(取り込み)。
sudo modprobe usbserial
sudo insmod ch34x.ko
カーネルモジュールの依存関係情報を更新するコマンドを実行。
sudo depmod -a
Arduino 互換機を繋いだ状態にして、デバイス・ドライバーとしてインストールされている事を確認。
ls /dev/ | grep ttyUSB
ls /dev/serial/by-id/
大変参考になった URL
http://artteknika.hatenablog.com/entry/2016/11/01/175210
https://github.com/aperepel/raspberrypi-ch340-driver
目次へ戻る
【RaspberryPi : 画面キャプチャー・ツールのインストール】
静止画として画面をキャプチャーする ksnapshot のインストール方法
sudo apt-get install ksnapshot
使用方法/便利な機能のメモ
GUIで、[Menu] → [グラフィックス] → [ksnapshot]を選択
↓
[Take a New Snapshot]でスクリーンショットを採取
↓
[Save As...]で保存
Capture Mode(キャプチャーモードで良く使うもの)
Full Screen(全画面) Window Under Cursor(マウスカーソルで指定のウィンドウ) Rectanglar Region(四角い領域を指定する)
録画としてキャプチャーする、RecordMyDesktop のインストール
RecordMyDesktop の GUI 版のみをダウンロード
sudo apt-get install gtk-recordmydesktop
又は、RecordMyDesktop の CUI / GUI 版の両方をダウンロード。
sudo apt-get install recordmydesktop gtk-recordmydesktop
CUI 版は、下記の様にコマンドを実行。(”--no-sound” を追加する事でエラーが出なくなる。)
recordmydesktop output.ogg --no-sound
[Ctrl]+[c]で、動作を停止させて保存を完了。
GUI 版も ”--no-sound” を追加する事でエラーが出なくなるので、一度だけ設定しておく。
[Menu] → [サウンドとビデオ] → [recordmydesktop]を選択。
[設定] → [recordmydesktop]を選択。
[Menu] → [その他] → [その他のオプション]のテキストボックスへ --no-sound と入力。
ウィンドウを閉じて、[録音]ボタンを押下して録画開始。
停止は、メニューバーに現れる赤いボタンを押下。
大変参考になった URL
http://d.hatena.ne.jp/over80/20080802/1217693705
http://kenpg2.seesaa.net/article/410557000.html
http://www.d1.dion.ne.jp/~danjiro/9va/raspi.html
The KSnapshot Handbook
http://www.inex.co.jp/rasbpi/rasb10-11.html
目次へ戻る
静止画として画面をキャプチャーする ksnapshot のインストール方法
sudo apt-get install ksnapshot
使用方法/便利な機能のメモ
GUIで、[Menu] → [グラフィックス] → [ksnapshot]を選択
↓
[Take a New Snapshot]でスクリーンショットを採取
↓
[Save As...]で保存
Capture Mode(キャプチャーモードで良く使うもの)
録画としてキャプチャーする、RecordMyDesktop のインストール
RecordMyDesktop の GUI 版のみをダウンロード
sudo apt-get install gtk-recordmydesktop
又は、RecordMyDesktop の CUI / GUI 版の両方をダウンロード。
sudo apt-get install recordmydesktop gtk-recordmydesktop
CUI 版は、下記の様にコマンドを実行。(”--no-sound” を追加する事でエラーが出なくなる。)
recordmydesktop output.ogg --no-sound
[Ctrl]+[c]で、動作を停止させて保存を完了。
GUI 版も ”--no-sound” を追加する事でエラーが出なくなるので、一度だけ設定しておく。
[Menu] → [サウンドとビデオ] → [recordmydesktop]を選択。
[設定] → [recordmydesktop]を選択。
[Menu] → [その他] → [その他のオプション]のテキストボックスへ --no-sound と入力。
ウィンドウを閉じて、[録音]ボタンを押下して録画開始。
停止は、メニューバーに現れる赤いボタンを押下。
大変参考になった URL
http://d.hatena.ne.jp/over80/20080802/1217693705
http://kenpg2.seesaa.net/article/410557000.html
http://www.d1.dion.ne.jp/~danjiro/9va/raspi.html
The KSnapshot Handbook
http://www.inex.co.jp/rasbpi/rasb10-11.html
目次へ戻る
【RaspberryPi : キーボード/マウスなどを使わずにRaspberryPi3 を使用する環境の構築】
sudo apt-get update
VNC サーバーのインストール
sudo apt-get install tightvncserver
VNC サーバーの立ち上げ
tightvncserver
sudo apt-get install xrdp
インストール後再起動
SSHでIPアドレスを調べなくても良い環境の構築をするために「avahi-daemon」というアプリをインストール。
sudo apt-get install avahi-daemon
インストール後再起動
Windows の場合は、「Bonjour」を使って RaspberryPi3 に付加された名称にて接続先を選択出来る様にするならば、 iTunes をインストールしておく。
これで、リモートデスクトップ接続でIPアドレスの代わりに「raspberrypi.local」と入れて接続出来るらしい。(Mac ユーザーなので、のちのち試すとして、情報として役に立ちそうなのでリンクを張らせて頂きます。)
大変参考になった URL(Windows PC からリモートでRaspberryPi3 を制御する)
http://takalifelog.com/post-252
http://www.hiramine.com/physicalcomputing/raspberrypi3/xrdp_installconnect.html
目次へ戻る
【RaspberryPi : ソフトのアップデート/ストレージのバックアップ】
インストール済みのソフトのアップデートを実施。
sudo apt-get update
sudo apt-get upgrade
OSを最新版にする
sudo apt-get update
sudo rpi-update
SDカードのバックアップ(RaspberryPi3 用)
RaspberryPi3 上で、バックアップを全て済ませられる下記のツールをダウンロード。
https://github.com/billw2/rpi-clone
又は、下記のコマンドでダウンロード
git clone https://github.com/billw2/rpi-clone.git
解凍したら、下記のコマンドを実行して、”/usr/local/sbin”へ実行ファイルをコピーする。
cd r-pi-clone-master
sudo cp rip-clone /usr/local/sbin
使い方は、下記のコマンドを実行。
sudo ./rpi-clone sda -f
Mac 上で、SDカードのバックアップ
まず、RaspberryPi から SD カードを抜いて、アダプターを使って Mac に挿入しておく。
次に、ターミナルから、SD カードのデバイス番号が何番に割り当てられているかを確認する。
sudo diskutil list
ターミナル上で、上記コマンドを実行した例として以下の様に帰ってくる。
/dev/disk0 (internal):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 121.3 GB disk0
1: EFI EFI 314.6 MB disk0s1
2: Apple_CoreStorage Macintosh HD 120.4 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Macintosh HD +120.0 GB disk1
Logical Volume on disk0s2
4A85FBCE-9A75-4F9D-8DD0-685DBB82C241
Unlocked Encrypted
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.5 GB disk2
1: Windows_FAT_16 RECOVERY 1.3 GB disk2s1
2: Linux 33.6 MB disk2s5
3: Windows_FAT_32 boot 69.2 MB disk2s6
4: Linux 14.1 GB disk2s7
今回は「/dev/disk2」が SD カードであったので、以下のコマンドを実行する。
sudo dd if=/dev/disk2 of=~/Desktop/raspi.dmg
sudo dd if=/dev/disk2 bs=4096 of=~/Desktop/raspi.dmg
Password:
ターミナル上で、上記コマンドを実行した例として以下の様に帰ってくる。約44分かかって、img ファイルの作成が完了という事。
15476981760 bytes transferred in 2658.158470 secs (5822445 bytes/sec)
次に、フォーマット済みの SD カードを挿入して、又同じ様に空の SD カードのデバイス番号を確認する。
sudo diskutil list
/dev/disk0 (internal):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 121.3 GB disk0
1: EFI EFI 314.6 MB disk0s1
2: Apple_CoreStorage Macintosh HD 120.4 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Macintosh HD +120.0 GB disk1
Logical Volume on disk0s2
4A85FBCE-9A75-4F9D-8DD0-685DBB82C241
Unlocked Encrypted
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *16.1 GB disk2
1: Windows_FAT_32 RP3_16G 16.1 GB disk2s1
今回は「/dev/disk2」が SD カードであったので、今度は書き込み準備をするため以下・アンマウントのコマンドを実行する。
diskutil umountDisk /dev/disk2
アンマウントが成功すると、以下の様に帰ってくる。
Unmount of all volumes on disk2 was successful
アンマウントの次は、書き込みを実行する。
sudo dd if=~/Desktop/raspi.dmg of=/dev/disk2 bs=1m
:
:
途中、[CTRL]+[T] で、どの程度進んだかを確認可能。(気休め。。。)
:
:
完了すると、以下の様にメッセージが帰ってくる。今回は約2.5時間程度かかった模様。。。
15476981760 bytes transferred in 9273.114634 secs (1669017 bytes/sec)
そっくりそのまま SD カードの内容をコピーするMac / Windows 用のツールなら、以下。
PiCloner(Mac 用)
https://sourceforge.net/p/picloner/code/ci/master/tree/
Win32DiskImager(Windows 用)
https://sourceforge.net/projects/win32diskimager/files/latest/download
大変参考になった URL
https://computers.tutsplus.com/articles/how-to-clone-raspberry-pi-sd-cards-using-the-command-line-in-os-x--mac-59911
http://www.homu.net/raspberry-piでiotなシステム開発:sdカードのバックアップはrpi/
http://www.awesomeprojects.xyz/2015/08/create-backup-of-your-raspberry-pi-sd.html
目次へ戻る
【RaspberryPi : MAIN MENU の表示がおかしくなった時の対処方法】
1. まず、メニューの内容を示すファイル「lxde-pi-applications.menu」をコピーしてファイルを別名で退避しておく
cp ~/.config/menus/lxde-pi-applications.menu ~/.config/menus/lxde-pi-applications.menu.orig
2. 現在のメニューの内容を示すファイルを一旦削除する。
rm ~/.config/menus/lxde-pi-applications.menu
3. 次に、メニューを開くとメニューの内容を示すファイルが自動的に生成されるので、一回メニューを開いて何もせずに閉じる。
4. 次に、「MAIN MENU EDITOR」で自分のカスタマイズしたい順番や非表示にしたいソフトを設定する。
5. 不要なら、一番初めにコピーしてファイルを別名で退避したものを削除する。
rm ~/.config/menus/lxde-pi-applications.menu.orig
以上で正しくメインメニューが表示される様になります。
大変参考になった URL
https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=143421
目次へ戻る
【GUI 自動化ソフトを使って仕事を効率化する】
【Windows で使える、 GUI 自動制御ソフト】
ここ数年前ぐらいから、AI だのロボットが話題となっています。
人間の仕事を奪うのでは…などの心配もされている様ですが、非人間的な作業から解放されて、人間がより安全で快適な環境で作業出来る事を実現し、人間らしく創造性の高い事に集中出来る様になるのであれば、大歓迎といったところでしょうか。
私たち技術者がする仕事の中にも、とても退屈で非人間的な仕事が残っていたりします。
例えば、回路図エディターで書いた回路図からBOMリストを作成し、実際に購買部門に発注してもらえる様なデータに形を整えて、データを共通データ・ベースへ登録する作業とか…。
実験で「Easy MCUser」からIoTデバイスへ送るデータをパラメーターを振って送信したいとか…。
GUI を操作しなければテスト出来ないソフトウェアの検証作業とか…。
以上の様な作業が自動化したい作業の例として考えられます。。。Windows であれば、「VBA」を使えばかなりの事が出来ますが、ソフトウェア間で通信をしたりデータを受け渡ししたりしようとすると、それぞれ I/O の仕様を調べたり,場合によってはそもそも簡単にはデータの受け渡しが出来なかったり…といった事があります。そんな時、人力で気合いを入れてやらなければならない仕事は、想像性もなく、間違いも発生しやすく、大変です。。。
今回ご紹介したいのは、そんな非人間的な作業から解放してくれる,ロボットをつくるための道具です。
マウス操作を自動化するソフトウェアの例
http://www.uwsc.info/
http://officezitan.com/?page_id=4200
http://www.susi-paku.com/paku-tinytask.html
http://toolmania.info/post-3620/
上記の様にマウス操作を自動化するソフトウェアは色々なものがありますが、今回は簡単で便利・一押しのソフト、「UWSC」をご紹介します。
「UWSC」は、Windows 上でマウス/キーボードを自動制御する事が可能なソフトです。マウスやキーボードの操作をスクリプトとして記録し、再生するだけではなく、プログラミングによってさらに複雑な事が出来ます。実現出来る複雑な処理の中には、画像の判定をして合致していたらスクリプトを実行したり…などといった高度な事もあります。まるで、人間が GUI の操作でソフトウェアと対話しながら何らかの作業を実行する様な事が実現出来るというわけです。
では早速、【これだけ知っていれば、かなりの事が出来る!】…的な基本構文についてご紹介します。
◎一定時間、スクリプトの実行を停止
書式の説明
Sleep( 秒 )
・引数
秒 : スリープする秒数(最小=0.001:1[mS])
◎任意の文字列をクリップボードに格納する
// まずは変数「clpb」を宣言する
Dim clpb = "clpbだよ"
// 以下のスクリプトを実行すると、クリップボードには「直接指定した文字列」が保存されます。
SendStr(0, "直接指定した文字列")
// 以下スクリプトを実行すると、クリップボードには変数 clpb に格納された「clpbだよ」という文字列が保存されます。
SendStr(0, clpb)
書式の説明
SendStr( ID, 文字列 )
・引数
ID :Windowを識別するID(ID=0 でクリップボードへ格納される)
文字列 :送りたい文字列を指定
◎クリップボードの内容をスクリプト中の任意の変数に記憶させる
// まずは変数「clpb」を宣言する
Dim clpb = ""
// 以下のスクリプトを実行すると、変数「clpb」へクリップボードの内容が格納される
clpb = GetStr(0)
◎ループ実行中の処理を強制的に停止させる
If GetKeyState(vk_end) then
Break
Endif
◎指定回数「XXXX」に達するまで、ループする
For A = 0 TO XXXX
:
:
Next
◎条件「XXXX」が満たされている間、ループする
While (XXXX)
:
:
Wend
◎メッセージボックスへ表示任意の文字を表示させる
// まずは変数「clpb0」を宣言して、初期値も設定する
Dim clpb0 = "それそれ!"
// 以下のスクリプトを実行すると、メッセージボックスが現れて、変数「clpb」の内容(「それそれ!」)が表示される
MsgBox(clpb0)
◎表示されたウィンドウの名称を取得する
// まずは変数「Cond」を宣言して、初期値も設定する
Dim Cond = ""
// 変数「Cond」にマウスがある位置に表示されているウィンドウの名称を格納する
Cond = Status(GetID(GET_ACTIVE_WIN), ST_TITLE)
// 以下のスクリプトを実行すると、メッセージボックスが現れて、変数「Cond」の内容が表示される
MsgBox(Cond)
◎知っていると便利な Windows のキーボード・ショートカット
・チェック・ボックスのチェック/アン・チェック:「スペース」キー
・選択可能なテキスト・ボックス/チェック・ボックス…などの異動:「TAB」キー
◎大変参考になったサイト(もっと詳しく知りたい、もっと複雑な事をしたい時に)
http://www.uwsc.info/sample.html
UWSCで自動化 超速!! Windows マクロテクニック
http://canal22.org/category/advance/excel/
http://izagne.com/uwsc/#
http://uwscguide.seesaa.net/
http://nem.symphonic-net.com/uwsct/0610uwsct.html#MakingSupport
http://canal22.org/control/break/
GUI 制御を自動化させて、複数のソフト間でデータのやり取りをしたい場合など、「UWSC」を使う事でかなりの事が出来るのではないかと思います。自動化を推進したい方、退屈な作業から解放されたい方は、ぜひ「UWSC」と「Easy MCUser」の組合わせをご検討頂ければと思います。
【Mac , Linux で使える、 GUI 自動制御ソフト】
自宅では主に Mac を使っている者として、Mac 上で動作する GUI 自動制御ソフトも忘れてはいけません。Mac 用としては、Apple Script から引き継がれた「Automator」で決まりと思います。又、Linux 用としては、「xautomation」なるものがありました。こちらは、ターミナルから直接コマンドを打ち込んでみて試した程度で、まだ本格的に使ってはいないのですが、感触的には
「UWSC」と似ている感じです。これら2点のソフトもお勧めです。
それぞれ良い所があり、本当であればプラットフォームに依存しない形で提供されていれば良いのですが、作者の方に感謝してそれぞれの良い点と出来る限り共通な機能を使って移植性を高められればと考えています。下記、Mac 用の「Automator」と、RaspberryPi3 で動作確認をした、「xautomation」のリンクを張っておきますので、自動化にご興味がある方は、サイトを訪れてみて頂ければと思います。
◎Mac 用 GUI 自動制御ソフト(Automator):プリインストールされています!
使い方の解説集
https://help.apple.com/automator/mac/10.10/
http://tonbi.jp/AppleScript/Automator/
http://d.hatena.ne.jp/zariganitosh/20090129/1233271424
https://allabout.co.jp/gm/gc/3601/
◎Linux 用 GUI 自動制御ソフト(xautomation)
以下のコマンドでインストール可能
sudo apt-get install xautomation
起動は以下のコマンドで
xautomation
http://blog.father.gedow.net/2012/07/26/debian-xen-domu-auto-mouse-keyboard/
http://blog.father.gedow.net/2012/07/27/xautomation-auto-mouse-keyboard-manual/
http://www.ninja-ninja.xyz/melts/melts%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%AE%E6%97%85%E3%81%9D%E3%81%AE1%E3%80%82xautomation%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
http://pieceofnostalgy.blogspot.jp/2014/02/blog-post.html
http://blog.goo.ne.jp/gemma01/e/b2fef1f58df04ee5cbfd2342e8139497
https://kamiclog.wordpress.com/2012/03/11/%E3%80%90xautomation%E3%80%91%E3%81%A7%E3%81%AE%E8%A8%98%E5%8F%B7%E5%85%A5%E5%8A%9B%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%80%82/
◎ xautomation のインストール可能
sudo apt-get install xautomation
xautomation
◎ xautomation の使い方/コマンド
xte - Generates fake input using the XTest extension
SYNOPSIS
xte [options] commands...
DESCRIPTION
xte is a program that generates fake input using the XTest extension,
more reliable than xse.
OPTIONS
A summary of options is included below.
-x display
Send commands to remote X server. Note that some commands may
not work correctly unless the display is on the console, e.g.
the display is currently controlled by the keyboard and mouse
and not in the background. This seems to be a limitation of the
XTest extension.
--help, -h
Show summary of options.
COMMANDS
key k Press and release key k
keydown k
Press key k down
keyup k
Release key k
str string
Do a bunch of key X events for each char in string
mouseclick i
Click mouse button i
mousemove x y
Move mouse to screen position x, y
mousermove x y
Move mouse relative from current location by x, y
mousedown i
Press mouse button i down
mouseup i
Release mouse button i
sleep x
Sleep x seconds
usleep x
Usleep x microseconds
SOME USEFUL KEYS
This keys are case sensitive.
Home
Left
Up
Right
Down
Page_Up
Page_Down
End
Return
BackSpace
Tab
Escape
Delete
Shift_L
Shift_R
Control_L
Control_R
Meta_L
Meta_R
Alt_L
Alt_R
Multi_key
SEE ALSO
pat2ppm(1), patextract(1), png2pat(1), rgb2pat(1), visgrep(1).
◎ xautomation スクリプト・ファイルの例
#!/bin/bash
sleep 0.5
xte "keydown Control_L"
xte "keydown Shift_L"
xte "key v"
xte "keyup Shift_L"
xte "keyup Control_L"
#!/bin/bash
xte "key Escape"
sleep 0.5
xte "str :wq"
sleep 0.5
xte "key Return"
◎ iOS / Android OS GUI 自動制御ソフト(Appium)
「Appium」は、リリース・コードをそのままテストすることが可能なツール。まだ触れる機会が無いですが、有用な情報としてスクラップしておきました。
http://softwaretest.jp/labo/tech/labo-456/
http://iti.hatenablog.jp/entry/2014/01/06/092626
http://qiita.com/m_ohsumi/items/6b4f10010467d4aa2291
http://www.atmarkit.co.jp/ait/articles/1504/27/news025.html
http://developers.mobage.jp/blog/2014/7/25/appium
目次へ戻る
【Windows で使える、 GUI 自動制御ソフト】
ここ数年前ぐらいから、AI だのロボットが話題となっています。
人間の仕事を奪うのでは…などの心配もされている様ですが、非人間的な作業から解放されて、人間がより安全で快適な環境で作業出来る事を実現し、人間らしく創造性の高い事に集中出来る様になるのであれば、大歓迎といったところでしょうか。
私たち技術者がする仕事の中にも、とても退屈で非人間的な仕事が残っていたりします。
例えば、回路図エディターで書いた回路図からBOMリストを作成し、実際に購買部門に発注してもらえる様なデータに形を整えて、データを共通データ・ベースへ登録する作業とか…。
実験で「Easy MCUser」からIoTデバイスへ送るデータをパラメーターを振って送信したいとか…。
GUI を操作しなければテスト出来ないソフトウェアの検証作業とか…。
以上の様な作業が自動化したい作業の例として考えられます。。。Windows であれば、「VBA」を使えばかなりの事が出来ますが、ソフトウェア間で通信をしたりデータを受け渡ししたりしようとすると、それぞれ I/O の仕様を調べたり,場合によってはそもそも簡単にはデータの受け渡しが出来なかったり…といった事があります。そんな時、人力で気合いを入れてやらなければならない仕事は、想像性もなく、間違いも発生しやすく、大変です。。。
今回ご紹介したいのは、そんな非人間的な作業から解放してくれる,ロボットをつくるための道具です。
マウス操作を自動化するソフトウェアの例
http://www.uwsc.info/
http://officezitan.com/?page_id=4200
http://www.susi-paku.com/paku-tinytask.html
http://toolmania.info/post-3620/
上記の様にマウス操作を自動化するソフトウェアは色々なものがありますが、今回は簡単で便利・一押しのソフト、「UWSC」をご紹介します。
「UWSC」は、Windows 上でマウス/キーボードを自動制御する事が可能なソフトです。マウスやキーボードの操作をスクリプトとして記録し、再生するだけではなく、プログラミングによってさらに複雑な事が出来ます。実現出来る複雑な処理の中には、画像の判定をして合致していたらスクリプトを実行したり…などといった高度な事もあります。まるで、人間が GUI の操作でソフトウェアと対話しながら何らかの作業を実行する様な事が実現出来るというわけです。
では早速、【これだけ知っていれば、かなりの事が出来る!】…的な基本構文についてご紹介します。
◎一定時間、スクリプトの実行を停止
書式の説明
Sleep( 秒 )
・引数
秒 : スリープする秒数(最小=0.001:1[mS])
◎任意の文字列をクリップボードに格納する
// まずは変数「clpb」を宣言する
Dim clpb = "clpbだよ"
// 以下のスクリプトを実行すると、クリップボードには「直接指定した文字列」が保存されます。
SendStr(0, "直接指定した文字列")
// 以下スクリプトを実行すると、クリップボードには変数 clpb に格納された「clpbだよ」という文字列が保存されます。
SendStr(0, clpb)
書式の説明
SendStr( ID, 文字列 )
・引数
ID :Windowを識別するID(ID=0 でクリップボードへ格納される)
文字列 :送りたい文字列を指定
◎クリップボードの内容をスクリプト中の任意の変数に記憶させる
// まずは変数「clpb」を宣言する
Dim clpb = ""
// 以下のスクリプトを実行すると、変数「clpb」へクリップボードの内容が格納される
clpb = GetStr(0)
◎ループ実行中の処理を強制的に停止させる
If GetKeyState(vk_end) then
Break
Endif
◎指定回数「XXXX」に達するまで、ループする
For A = 0 TO XXXX
:
:
Next
◎条件「XXXX」が満たされている間、ループする
While (XXXX)
:
:
Wend
◎メッセージボックスへ表示任意の文字を表示させる
// まずは変数「clpb0」を宣言して、初期値も設定する
Dim clpb0 = "それそれ!"
// 以下のスクリプトを実行すると、メッセージボックスが現れて、変数「clpb」の内容(「それそれ!」)が表示される
MsgBox(clpb0)
◎表示されたウィンドウの名称を取得する
// まずは変数「Cond」を宣言して、初期値も設定する
Dim Cond = ""
// 変数「Cond」にマウスがある位置に表示されているウィンドウの名称を格納する
Cond = Status(GetID(GET_ACTIVE_WIN), ST_TITLE)
// 以下のスクリプトを実行すると、メッセージボックスが現れて、変数「Cond」の内容が表示される
MsgBox(Cond)
◎知っていると便利な Windows のキーボード・ショートカット
・チェック・ボックスのチェック/アン・チェック:「スペース」キー
・選択可能なテキスト・ボックス/チェック・ボックス…などの異動:「TAB」キー
◎大変参考になったサイト(もっと詳しく知りたい、もっと複雑な事をしたい時に)
http://www.uwsc.info/sample.html
UWSCで自動化 超速!! Windows マクロテクニック
http://canal22.org/category/advance/excel/
http://izagne.com/uwsc/#
http://uwscguide.seesaa.net/
http://nem.symphonic-net.com/uwsct/0610uwsct.html#MakingSupport
http://canal22.org/control/break/
GUI 制御を自動化させて、複数のソフト間でデータのやり取りをしたい場合など、「UWSC」を使う事でかなりの事が出来るのではないかと思います。自動化を推進したい方、退屈な作業から解放されたい方は、ぜひ「UWSC」と「Easy MCUser」の組合わせをご検討頂ければと思います。
【Mac , Linux で使える、 GUI 自動制御ソフト】
自宅では主に Mac を使っている者として、Mac 上で動作する GUI 自動制御ソフトも忘れてはいけません。Mac 用としては、Apple Script から引き継がれた「Automator」で決まりと思います。又、Linux 用としては、「xautomation」なるものがありました。こちらは、ターミナルから直接コマンドを打ち込んでみて試した程度で、まだ本格的に使ってはいないのですが、感触的には
「UWSC」と似ている感じです。これら2点のソフトもお勧めです。
それぞれ良い所があり、本当であればプラットフォームに依存しない形で提供されていれば良いのですが、作者の方に感謝してそれぞれの良い点と出来る限り共通な機能を使って移植性を高められればと考えています。下記、Mac 用の「Automator」と、RaspberryPi3 で動作確認をした、「xautomation」のリンクを張っておきますので、自動化にご興味がある方は、サイトを訪れてみて頂ければと思います。
◎Mac 用 GUI 自動制御ソフト(Automator):プリインストールされています!
使い方の解説集
https://help.apple.com/automator/mac/10.10/
http://tonbi.jp/AppleScript/Automator/
http://d.hatena.ne.jp/zariganitosh/20090129/1233271424
https://allabout.co.jp/gm/gc/3601/
◎Linux 用 GUI 自動制御ソフト(xautomation)
以下のコマンドでインストール可能
sudo apt-get install xautomation
起動は以下のコマンドで
xautomation
http://blog.father.gedow.net/2012/07/26/debian-xen-domu-auto-mouse-keyboard/
http://blog.father.gedow.net/2012/07/27/xautomation-auto-mouse-keyboard-manual/
http://www.ninja-ninja.xyz/melts/melts%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%AE%E6%97%85%E3%81%9D%E3%81%AE1%E3%80%82xautomation%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
http://pieceofnostalgy.blogspot.jp/2014/02/blog-post.html
http://blog.goo.ne.jp/gemma01/e/b2fef1f58df04ee5cbfd2342e8139497
https://kamiclog.wordpress.com/2012/03/11/%E3%80%90xautomation%E3%80%91%E3%81%A7%E3%81%AE%E8%A8%98%E5%8F%B7%E5%85%A5%E5%8A%9B%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%80%82/
◎ xautomation のインストール可能
sudo apt-get install xautomation
xautomation
◎ xautomation の使い方/コマンド
xte - Generates fake input using the XTest extension
SYNOPSIS
xte [options] commands...
DESCRIPTION
xte is a program that generates fake input using the XTest extension,
more reliable than xse.
OPTIONS
A summary of options is included below.
-x display
Send commands to remote X server. Note that some commands may
not work correctly unless the display is on the console, e.g.
the display is currently controlled by the keyboard and mouse
and not in the background. This seems to be a limitation of the
XTest extension.
--help, -h
Show summary of options.
COMMANDS
key k Press and release key k
keydown k
Press key k down
keyup k
Release key k
str string
Do a bunch of key X events for each char in string
mouseclick i
Click mouse button i
mousemove x y
Move mouse to screen position x, y
mousermove x y
Move mouse relative from current location by x, y
mousedown i
Press mouse button i down
mouseup i
Release mouse button i
sleep x
Sleep x seconds
usleep x
Usleep x microseconds
SOME USEFUL KEYS
This keys are case sensitive.
Home
Left
Up
Right
Down
Page_Up
Page_Down
End
Return
BackSpace
Tab
Escape
Delete
Shift_L
Shift_R
Control_L
Control_R
Meta_L
Meta_R
Alt_L
Alt_R
Multi_key
SEE ALSO
pat2ppm(1), patextract(1), png2pat(1), rgb2pat(1), visgrep(1).
◎ xautomation スクリプト・ファイルの例
#!/bin/bash
sleep 0.5
xte "keydown Control_L"
xte "keydown Shift_L"
xte "key v"
xte "keyup Shift_L"
xte "keyup Control_L"
#!/bin/bash
xte "key Escape"
sleep 0.5
xte "str :wq"
sleep 0.5
xte "key Return"
◎ iOS / Android OS GUI 自動制御ソフト(Appium)
「Appium」は、リリース・コードをそのままテストすることが可能なツール。まだ触れる機会が無いですが、有用な情報としてスクラップしておきました。
http://softwaretest.jp/labo/tech/labo-456/
http://iti.hatenablog.jp/entry/2014/01/06/092626
http://qiita.com/m_ohsumi/items/6b4f10010467d4aa2291
http://www.atmarkit.co.jp/ait/articles/1504/27/news025.html
http://developers.mobage.jp/blog/2014/7/25/appium
目次へ戻る