Volumio_2にigzo7"(1920X1200)+タッチパネル+IRリモコン(Apple A1294)を組み込む
RaspberryPi3にVolumio2を入れて楽しんでいます。
Volumioのプラグインでタッチスクリーンを導入すると、本体とHDMIデイスプレイの組み合わせで、PC無しでも、RaspberryPiにつないだマウスでVolumioの画面操作ができる。
タッチスクリーンであれば当然できるのだが、購入済みのigzoの7"のディスプレイはタッチスクリーンではないので、マウスが必要でした。
RaspberryPi用のタッチスクリーンは7"もあるのだが、フルハイビジョン仕様のigzo7"に比べたら圧倒的に解像度は低い。そこでigzo7"を生かしたまま、タッチスクリーン化できないか検討してみる。
1.タッチパネル探し
探すといっても、今はインターネットで比較的簡単に見つかる、ただigzo7"にピッタリ合う物はいまだ見つけられていない。igzo7"の有効表示領域:151.2×94.5 mmに対応していないと、1920X1200の画素を無駄にしてしまう。今のところ、すべての画素をカバーしようとすると8"用のタッチパネルを採用する必要がありますが、未利用領域が増えて、外形が大きくなってしまうので、7"用でできるだけ大きなものということでAA(アクティブエリアというらしい)150.72X93.7mmの7.1"用だが少し小さめのパネルを選択した。AAエリアすべて解析できるとすると1913×1189はカバーすること、となり、たいしたことはないが、そんなに解像度はたかくないはずなので100ドットくらいは犠牲になるかと考えた。
また、タブレットのように同時多点検出の静電容量検出式のものがかっこいいのですが、プラグインがたぶん対応していないので抵抗1点検出の下図の4線式のものとしました。(ST-07106というのが形式名で、メーカーはS.MITAというところです。送料込みで25$くらいでした。)
設定ができた後の話だが、フルサイズ表示とすると、上下左右4mmほどはタッチを検出できないのでAAは151.2+8.0 × 94.5+8 mmのタッチパネルでないと対応しないので、8"のタッチパネルが必要となる。
すると、外形はさらにおおきなサイズとなるので、できあがりがかっこわるい・・・・・かなと思いとりあえず上記のものでチャレンジした。
/boot/config.txtでタッチパネルの検出領域にあわせて、若干表示領域を小さくします。
下記を追加しました。この後、再起動して、キャリブレーションをし直してください。
disable_overscan=0
overscan_left=25
overscan_right=25
overscan_top=25
overscan_bottom=25
overscan_left=25
overscan_right=25
overscan_top=25
overscan_bottom=25
2.コントローラー探し
次は、RaspberryPiにつなぐためのインターフェースでUSB接続となるものをさがしました。主に2種類あるようですが、AR-1100のタイプを選択しました。(基板が小さかったので)
このコントローラーのドライバーはVolumioには無いため、単にプラグインをインストールしただけでは全く使えませんでした。色々探して、下記の方法にたどり着きました。
http://www.teamfdi.com/wp-content/uploads/AR1100-Calibration-and-Setup-Guide.pdf
この3ページに手順が載っていますが、・・・・・手順通りでは何回かエラーとなります。
3.コントロールプログラムのインストールとキャリブレーション
1. sudo apt-get update // updates apt-get package list
2. sudo apt-get install git-core // installs git
3. cd ~ // changes to home directory
4. mkdir git // creates a new directory "git"
5. cd ~/git // changes to new directory
6. git clone git://github.com/tom-2015/rpi-AR1100.git // clones the AR1100 software
7. sudo apt-get install make g++ libusb-dev libgtk2.0-dev // installs libusb(結構かかります)
2. sudo apt-get install git-core // installs git
3. cd ~ // changes to home directory
4. mkdir git // creates a new directory "git"
5. cd ~/git // changes to new directory
6. git clone git://github.com/tom-2015/rpi-AR1100.git // clones the AR1100 software
7. sudo apt-get install make g++ libusb-dev libgtk2.0-dev // installs libusb(結構かかります)
7-1. cd
7-2. aptget install libusb-1.0
8. cd ~/git/rpi-AR1100 // changes to AR1100 software dir
9. make // builds AR1100 software
10. sudo chmod +x AR1100 // provides AR1100 execute permission
10. sudo chmod +x AR1100 // provides AR1100 execute permission
10-1. cd
10-2. export DISPLAY=:0.0
11. cd ~/git/rpi-AR1100 // changes to AR1100 software dir
11-1. sudo ./AR1100 -c 9 -m // runs AR1100 9-point (-c)alibration
// and sets device to (-m)ouse mode
これでうまくいくと思います。最後の行(11. 11-1.)はキャリブレーション画面を行うコマンドですので、実際にRaspberryPiのHDMIに接続した、タッチパネル付きのスクリーンをオンした状態で行ってください。タッチパネル付きスクリーンがまだ起動していない場合、一旦RaspberryPiをシャットダウンして
// and sets device to (-m)ouse mode
これでうまくいくと思います。最後の行(11. 11-1.)はキャリブレーション画面を行うコマンドですので、実際にRaspberryPiのHDMIに接続した、タッチパネル付きのスクリーンをオンした状態で行ってください。タッチパネル付きスクリーンがまだ起動していない場合、一旦RaspberryPiをシャットダウンして
、先にタッチパネル付きスクリーンをオンしてから、RaspberryPiを起動してターミナルから11.以下を実施してください。キャリブレーションは単純に「×」をタッチしていくだけです。指でなく、少し細いものでタッチしたほうが正確かも知れません。
うまく行かなかった場合やり直してください。ターミナルには結果が表示されますが、特にファイルに保管する必要はなく、記憶されますので、後は普通に使用してください。
4.リモートコントロール
◆重要なファイル(編集にnanoを使う前提で記しています)
これはプラグインのインストールと設定(リモコンの選択)で生成されるファイルで、起動時に/etc/lirc/デレクトリに、同じファイル名でコピーされ、これに基づいてリモコン動作する。/etc/lircの2ファイルを消去しても再起動時に書き込まれるので、/etc/lirc内の2ファイルを編集しても意味が無いので、下記の方を編集すれば、再起動時に反映され、その後再起動しても変わらず使用できるということらしい。
nano /data/plugins/system_controller/ir_controller/configurations/Apple\ Remote\ A1294/lircrc
nano /data/plugins/system_controller/ir_controller/configurations/Apple\ Remote\ A1294/lircd.conf
◆書き換えの必要なファイル その1 (編集にnanoを使う前提で記しています)
これはプラグインのメインプログラムらしいが、リモコンのIR信号をRaspberryPiに入力するGPIOのピンナンバーを自分のシステムに合わせる為に書き換えるファイルと箇所です。
nano /data/plugins/system_controller/ir_controller/index.js
プログラムの最後の下記部分の「25」を自分のgpio_inのピンナンバーに書き換えて、上書き保管して終了。
exec('/usr/bin/sudo /usr/bin/dtoverlay lirc-rpi gpio_in_pin=25', {uid:1000,gid:1000},
function (error, stdout, stderr) {
if(error != null) {
self.logger.info('Error enabling lirc-rpi overlay: '+error);
defer.reject();
} else {
self.logger.info('lirc-rpi overlay enabled');
defer.resolve();
}
});
return defer.promise;
};
function (error, stdout, stderr) {
if(error != null) {
self.logger.info('Error enabling lirc-rpi overlay: '+error);
defer.reject();
} else {
self.logger.info('lirc-rpi overlay enabled');
defer.resolve();
}
});
return defer.promise;
};
◆書き換えの必要なファイル その2 (編集にnanoを使う前提で記しています)
nano /data/plugins/system_controller/ir_controller/configurations/Apple\ Remote\ A1294/lircd.conf
自分でリモコン信号を解析(irrecord コマンド)して作成できる方は、その内容を上記した・・・・・・/lircd.confに書き足してください。(やり方はいろいろネットにあるので省略)
で、プラグインでA1294を選択しただけではすんなりは動いてくれませんので(何故だか分かりませ
ん)当方で分かっている3種類のA1294のコード全内容を下記しますので、これをコピペしてご利用ください。一番上のコード一式がオリジナルで、追加の3つが、私の利用しているものです。
(日本向けだけがちがうのかな~。海外のサイトで紹介されているのはコードは1つなのですが。どなたか教えてください)
# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.9.0-pre1(default) on Mon May 15 13:59:35 2017
#
# contributed by
#
# brand: lircd.conf
# model no. of remote control:
# devices being controlled by this remote:
#
begin remote
name lircd.conf
bits 8
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9065 4437
one 590 1634
zero 590 530
ptrail 589
repeat 9065 2205
pre_data_bits 16
pre_data 0x77E1
post_data_bits 8
post_data 0xE6
gap 107996
toggle_bit_mask 0x0
begin codes
KEY_MENU 0xC0
KEY_PLAY 0xFA 0xA0
KEY_ENTER 0x3A 0xA0
KEY_LEFT 0x90
KEY_RIGHT 0x60
KEY_DOWN 0x30
KEY_UP 0x50
end codes
end remote
begin remote
name APPLE.conf-0
bits 32
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9032 4466
one 560 1660
zero 560 561
ptrail 569
gap 106929
toggle_bit_mask 0x0
begin codes
KEY_PLAY 0x77E1FA2C
KEY_RIGHT 0x77E1602C
KEY_UP 0x77E1502C
KEY_LEFT 0x77E1902C
KEY_DOWN 0x77E1302C
KEY_ENTER 0x77E13A2C
KEY_MENU 0x77E1C02C
end codes
end remote
begin remote
name APPLE.conf-1
bits 32
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9017 4453
one 561 1657
zero 561 557
ptrail 571
gap 106883
toggle_bit_mask 0x0
begin codes
KEY_PLAY 0x77E17A22
KEY_RIGHT 0x77E1E022
KEY_UP 0x77E1D022
KEY_LEFT 0x77E11022
KEY_DOWN 0x77E1B022
KEY_ENTER 0x77E1BA22
KEY_MENU 0x77E14022
end codes
end remote
begin remote
name apple.conf-2
bits 32
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9044 4460
one 559 1660
zero 559 560
ptrail 560
gap 106820
toggle_bit_mask 0x0
begin codes
KEY_PLAY 0x77E1FACD
KEY_MENU 0x77E1C0CD
KEY_DOWN 0x77E130CD
KEY_UP 0x77E150CD
KEY_LEFT 0x77E190CD
KEY_RIGHT 0x77E160CD
KEY_ENTER 0x77E13ACD
end codes
end remote
◆書き換えの必要なファイル その3 (編集にnanoを使う前提で記しています)
nano /data/plugins/system_controller/ir_controller/configurations/Apple\ Remote\ A1294/lircrc
このファイルは書き換えなくとも、リモコンは利用できますが、リモコン操作できる内容が限られていますので、拡張したい方はご利用ください。ただしVolumioで利用できるLIRCの仕様上、キー操作が2度押しの必要があるものがありますのでご承知ください。
操作内容と操作方法
PLAY⇔PAUSE ▶||
STOP center
Volume UP up+up
Volume DOWN down+down
NEXT left+left
PREVIOUS right+right
SEEK PLUS MENU+MENU+left
SEEK MINUS MENU+MENU+right
RANDOM set ⇔ reset MENU+MENU+down
REPEAT set ⇔ reset MENU+MENU+up
SHUTDOWN MENU+MENU+center
REBOOT MENU+MENU+ ▶||
ファイル内容
#licrc transmit command
# flags = toggle_reset
begin
prog = irexec
button = KEY_ENTER
config = /usr/local/bin/volumio stop
repeat = 0
end
begin
prog = irexec
button = KEY_PLAY
config = /usr/local/bin/volumio play
# flags = toggle_reset
begin
prog = irexec
button = KEY_ENTER
config = /usr/local/bin/volumio stop
repeat = 0
end
begin
prog = irexec
button = KEY_PLAY
config = /usr/local/bin/volumio play
config = /usr/local/bin/volumio pause
repeat = 0
end
begin
prog = irexec
button = KEY_UP
button = KEY_UP
config = /usr/local/bin/volumio volume plus
repeat = 1
end
begin
prog = irexec
button = KEY_DOWN
button = KEY_DOWN
config = /usr/local/bin/volumio volume minus
repeat = 1
end
begin
prog = irexec
button = KEY_RIGHT
button = KEY_RIGHT
config = /usr/local/bin/volumio next
end
begin
prog = irexec
button = KEY_LEFT
button = KEY_LEFT
config = /usr/local/bin/volumio previous
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_RIGHT
config = /usr/local/bin/volumio seek plus
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_LEFT
config = /usr/local/bin/volumio seek minus
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_DOWN
config = /usr/local/bin/volumio random
config = /usr/local/bin/volumio random
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_UP
config = /usr/local/bin/volumio repeat
config = /usr/local/bin/volumio repeat
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_ENTER
config = /usr/local/bin/volumio repeat vstop ;sudo shutdown -h now
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_PLAY
config = /usr/local/bin/volumio repeat vstop ;sudo reboot now
end
end
begin
prog = irexec
button = KEY_UP
button = KEY_UP
config = /usr/local/bin/volumio volume plus
repeat = 1
end
begin
prog = irexec
button = KEY_DOWN
button = KEY_DOWN
config = /usr/local/bin/volumio volume minus
repeat = 1
end
begin
prog = irexec
button = KEY_RIGHT
button = KEY_RIGHT
config = /usr/local/bin/volumio next
end
begin
prog = irexec
button = KEY_LEFT
button = KEY_LEFT
config = /usr/local/bin/volumio previous
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_RIGHT
config = /usr/local/bin/volumio seek plus
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_LEFT
config = /usr/local/bin/volumio seek minus
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_DOWN
config = /usr/local/bin/volumio random
config = /usr/local/bin/volumio random
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_UP
config = /usr/local/bin/volumio repeat
config = /usr/local/bin/volumio repeat
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_ENTER
config = /usr/local/bin/volumio repeat vstop ;sudo shutdown -h now
end
begin
prog = irexec
button = KEY_MENU
button = KEY_MENU
button = KEY_PLAY
config = /usr/local/bin/volumio repeat vstop ;sudo reboot now
end
でとりあえず終わりです。システムがアップデートされると変わるかもしれませんので、ご注意ください。(2018/06/05記)
トラックバック(0)
このブログ記事を参照しているブログ一覧: Volumio_2にigzo7"(1920X1200)+タッチパネル+IRリモコン(Apple A1294)を組み込む
このブログ記事に対するトラックバックURL: http://tec-asai.com/mt/mt-tb.cgi/167
営業日>>>>>>
自身の経験より、自作アンプなどで労力を使って大変なのがパネルやシャシの加工で、仕上がりで苦労するのがパネルへの表示だと思います。マニアの方ならば、配線やアッテネータの抵抗器の半田付けは、問題なくできると思われます。苦労するその部分をお手伝いさせて頂きます。
パネルやシャシーの加工は当面平アルミパネルにだけですがも、ポンチ絵からでも設計・製図・加工します。
腕に自信のある方へは、アンプ類もキットでおわけします。
自身の経験より、自作アンプなどで労力を使って大変なのがパネルやシャシの加工で、仕上がりで苦労するのがパネルへの表示だと思います。マニアの方ならば、配線やアッテネータの抵抗器の半田付けは、問題なくできると思われます。苦労するその部分をお手伝いさせて頂きます。

コメントする