google home mini 外部スピーカーの巻
f0021035_00593919.jpg
トルクスドライバーが届いたのでさっそくである。なかなかよくできた360°スピーカーである。アンプも Texas Instruments TAS5720 とやらで、まあ、オーバースペックくらいのチップである。小口径のスピーカーの割には大きめのネオジウムマグネットらしきユニットも明瞭な明るい音だが、音楽を聴くにはさすがに小さいだろう。そこでスピーカーケーブルを外に出したわけである。
f0021035_01000792.jpg
12センチのアルニコマグネットのユニットにツナグと、十分な音量である。アルニコはなぜか最近のアンプICと相性が良い。
f0021035_00580310.jpg
国産の古いアルニコである。アルニコは日本で開発されたそうで、機械としてまことに良くできている。このユニットとケースはハードオフで50円で買ってきたのだが、芯のある独特の明瞭で清潔なキレのいい音は聞き飽きない。
f0021035_01001932.jpg
しかたがないので、20年近く愛用していたガラケーをスマホに機種変更してgoogle home mini を初期化してやった。音楽も十分に楽しめる。google home mini は Spotify の無料版が使える!
スマホなどそんなに使わないだろうから、安くて小さいのがいいが、やはり iPhone が欲しかったので、iPhone SE を所望したのだが、ドコモショップのお姉さんがもう在庫がないと言って、iPhone X とやらを買わされてしまった。液晶が意外と大きく使いやすい。クリエイティブ作業をしないのなら、もうPCは必要ないとすら思わせる。長らくコンピューティングの足枷となってきた Windows の終焉も近いか?

自撮りがキレイって… いらないから安くして!

[PR]
# by digressive | 2018-02-18 01:42 | プアオーディオ | Comments(0)
 
google home mini オレンジ色のゴムを剥がすの巻


TBSラジオで「THE FROGMAN SHOW A.I.共存ラジオ 好奇心家」というのが始まって、気に入って聞いている。番組中に スマートスピーカーclovaフレンズというのが登場して、なかなかお面白いので欲しくなった。スマートスピーカーは何種類かメジャーなものがあるようだが、シンプルで使い勝手がよさそうで比較的安価な google home mini を購入した。ある種の人種がまずやることは裏側のオレンジ色のゴム版を剥がすことである。
f0021035_13110817.png
まずgoogle home miniの底の部分だけを濡らす。これは」熱伝導をよくするためだと思う。そして底の平らなボールか鍋に入れて沸騰した湯に浮かべて底を熱する。20秒前後でいいようである。ゴムを外すとネジがでてくるので簡単に分解できるらしい。問題はこのネジが特殊な星型のものであるらしいので、トルクスドライバーとやらが必要らしい。ダイソーにもあるようなのだが、小生は見つけられなかった。amazonnで探してみると送料込みで360円であったのでポチったが、なかなか届かない・船便のやつらしい。しかし、全く急がない。小生がカメラ代わりにしているiphone4sではiosのヴァージョンが古くてgoogle homeの初期化ができないことが判明したからである。娘がiphoneを黙って貸してくれるはずもなく、カミさんの簡単スマホを借りるのもシャクである。「また、何を買ったの!」と激怒するのは目に見えている。ドボジタライイノ??
f0021035_13285934.jpg

[PR]
# by digressive | 2018-02-12 13:29 | すみません、取り乱しました。 | Comments(0)
 
あけましておめでとうございます
2018
f0021035_18201973.png
年末は。バタバタして年頭の書き込みが3日になった。年末年始は神戸に帰省していた。元町中華街の雰囲気がさらに露天中心になっていた。小生は好きである。

今年はどんな年になるだろう。あまり明るい材料はないようだが、生きていくしかあるまい。英語の話せない若い人はまことに気の毒な状況だと思う。つらつら思うに、日本は敗戦してアメリカに占領されただけで、けして民主化したわけではないようである。そろそろ国の行く末を民衆が考えないとヤバイトコロに来たのではなかろうか?

[PR]
# by digressive | 2018-01-03 18:14 | すみません、取り乱しました。 | Comments(0)
 
湯を沸かすほどの熱い愛 を見て


TVで「湯を沸かすほどの熱い愛」をやった。小生は病気を題材にした映画やトドラマは基本的にNGなのだが、宮沢りえということで見たみた。病気のさわりは、宮沢りえを美しく見せるための演出程度で、いい映画だった。終わりのほうで女性ボーカルの歌が聞こえたが、アレッと耳に止まった。まあ、最近こっそりと真似しているバンドも多いので、その類かと思ったが、この透明感と音のヌケは真似して真似できるものではない。調べてみるとやはり きのこ帝国 であるらしい。新しいアルバムも出したらしいので、さっそくポチッた。佐藤千亜妃は、並外れた才能を持ちながら、無駄に美人だったりするので、「猫とアレルギー」あたりでは心配したのだが、杞憂であったらしい。最近はアイドルに見えてしまわないように工夫もしているようである。まあ、10年もたてばいい顔になるさ。
[PR]
# by digressive | 2017-12-21 16:18 | すみません、取り乱しました。 | Comments(0)
 
探偵はbarにいる3を見て思い出した件



府中のトホホシネマズで鑑賞ポイントが6点たまったので、探偵はbarにいる3をダーターで見てきた。おもしろかった。それで思い出したのだが、最初の探偵はbarにいるを見たとき、冒頭でカラオケを小太りのオバハンが歌い出すシーンから始まった。オバハンのカラオケかと見ていると、あまりの歌の上手さに仰天して、エンドロールに目をこらすと カルメン・マキだった。あれまと驚いた。

[PR]
# by digressive | 2017-12-20 17:41 | すみません、取り乱しました。 | Comments(0)
 
なんちゃってコアキシャル 同軸2wayスピーカー
f0021035_20482954.jpg
アクティブスピーカーの ROBOARM LINK S である。広げても左右200mm弱の小さなモバイルスピーカーである。定価は3,480円と信じられない設定だが、実売価格は500円というところだろうか?ボディに貼ってあるシールが写真の他にも2種類同梱されているという意味不明のこだわりである。剥がしてしまったほうが質感がずっとよくなる。ハードオフのジャンクコーナーに108円でころがっていたんだが、名前に LINK とあるのでBluetoothスピーカーかと勘違いして喜んで購入したのだが、ただのアクティブスピーカーだとわかって愕然とした。なんで LINK なの音の方はなかなかのものだった。低電力のお手軽なアンプチップ(lm4871みたいな感じ)を2枚使って、なかなか丁寧な回路である。ユニットも立派なネオジウムを背負っている。が、なにせこのピンポン球程のスピーカーなので、なまじパワフルなユニットが元気すぎてツイーターだけ鳴っているようなものである。面白い形ではある……
f0021035_20482309.jpg
そこでスピーカーを取り外して、フルレンジだと思って持っていたが、じつはウーファーだった9センチユニットと並列につなげてみた。
f0021035_20482786.jpg
ネットワークなど無いし、付けるスキルもない。ただ並列につながっているだけの、なんちゃってコアキシャル、同軸2wayであるが、小型のネオジウムのキレキレの高音と、フェライトマグネットの優しく厚い低音が悪くはない。調整すればいいんだろうが、2wayスピーカーの調整はあまりにも困難で金もかかるであろうからして、まあ、このままである。

追記
ラジオを聞いてみるとずいぶんとしっくりくる、安いカーラジオの音がするではないか!?

[PR]
# by digressive | 2017-11-13 21:36 | プアオーディオ | Comments(0)
 
raspberry pi(raspbian)でラジオ 問題発生
f0021035_21201465.jpg
raspberry pi zero W である。小生はスイッチサイエンスの単品抽選に落選してヤフオクで3,000円で落札したが、賢明な諸氏にはスイッチサイエンスで「Raspberry Pi Zero W、Raspberry Pi Zero ケース、miniHDMI変換アダプタ、USB-microB OTGケーブルがセットになった最小構成のキット」が2,808円と送料150円なのでそちらをオススメする。スピードは遅いが、ラジオを聞くには十分な性能である。届いてから気がついて驚いたのだが、ラインアウトが無いのでUSBダックは必須である。
ラズパイスタンドの作り直しで余った3.5インチに取り付けて、お気に入りのアルニコマグネット フルレンジ 10センチを搭載した自作ラジオを改造した。

f0021035_21192519.jpg

本題であるが、NHKのらじる☆らじるが仕様変更してスクリプトで聞けなくなっていた。9月かららしい。困ったものだとグルグルしていると、あるハグレエンジニア様がらじる☆らじるの音声データをループ再生してくれるスクリプトを公開されていた。やっていることはらじる☆らじると同様だと思うのだが、データの継ぎ目で音が途切れる。まあ、気にしなければ気にならない。あるハグレエンジニア様を参考にアドレスを探せば必要な局がわかる。あるハグレエンジニア様のスクリプトを借用して利用させていただいた。少し変更して nhk1.pl nhkfm.pl と保存してpi.plを書きなおして使わせていただく。
変更点は以下である。


nhk1.plで保存

#/bin/bash
audio=alsa
#URL="http://nhkradioikr1-i.akamaihd.net/hls/live/512098/1-r1/1-r1-01.m3u8" #札幌局第1 #を付ける
URL="http://nhkradioakr1-i.akamaihd.net/hls/live/511633/1-r1/1-r1-01.m3u8" #首都圏第1 #を取る
mode="-really-quiet -cache 700 "

while true
do
date +'%T'
mplayer -playlist ${URL} ${mode} -vo null -ao ${audio} 2>/dev/null
done


nhkfm.plで保存

#/bin/bash
audio=alsa
#URL="http://nhkradioikr1-i.akamaihd.net/hls/live/512098/1-r1/1-r1-01.m3u8" #札幌局第1#を付ける
#URL="http://nhkradioakr1-i.akamaihd.net/hls/live/511633/1-r1/1-r1-01.m3u8" #首都圏第1
URL="https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8" #一行追加する(エリアに応じたURLがいいかも)
mode="-really-quiet -cache 700 "

while true
do
date +'%T'
mplayer -playlist ${URL} ${mode} -vo null -ao ${audio} 2>/dev/null
done


書き直したpi.pl

#!/usr/bin/perl

use Tk;
use Encode;

## pi.pl# 改訂版 初期設定 ###################################################

my $msg = "yes"; #シャットダウン時にメセージを表示する yes/no

my $geometry = "+10+40"; #表示位置
my $minsize1 = 460; #サイズW
my $minsize2 = 140; #サイズH
my $tmGeometry = "42x3+10+210"; #gnorm-terminal サイズ/表示位置
my $pVol = "20"; #初期ボリューム
my $font = "MS ゴシック 8 bold"; #フォント

my $bt0Img = "./raspA.gif"; #aplayボタン 画像
my $bt0Bac = "#fffacd"; #aplayボタン 背景色
my $bt0ABac = "#ffff00"; #aplayボタン アクティブ背景色

my $nextTxt = "▶"; #ネクストボタン テキスト(Aplay 専用)
my $nextFont = "MS ゴシック 18 bold"; #フォント
my $nextFore = "#333333"; #ネクストボタン 文字色
my $nextAFore = "#ffffff"; #ネクストボタン アクティブ文字色

my $stopTxt = "×"; #ストップボタン テキスト(gnorm-terminal を閉じる)
my $stopFore = "#333333"; #ストップボタン 文字色
my $stopAFore = "#ffffff"; #ストップボタン アクティブ文字色
my $stopABase = "#113355"; #ストップボタン アクティブ背景色

my $swTxt = "◯"; #シャットダウン テキスト
my $swFont = "MS ゴシック 18 bold"; #シャットダウン フォント
my $swBac = "#555555"; #シャットダウン 背景色
my $swABac = "#b50008"; #シャットダウン アクティブ背景色
my $swFore = "#dddddd"; #シャットダウン 文字色
my $swAFore = "#ffffff"; #シャットダウン アクティブ文字色

my $volFore = "#333333"; #ボリューム 文字色
my $volBac = "#fff0f5"; #ボリューム 背景色
my $volABac = "#da70d6"; #ボリューム アクティブ色

my $bt1Id = "TBS"; #Radico1 ID (http://www.norikistudio.com/station-id-list)
my $bt1Txt = "TBS"; #Radico1 テキスト
my $bt1Fore = "#333333"; #Radico1 文字色
my $bt1Bac = "#40e0d0"; #Radico1 背景色
my $bt1AFore = "#dedede"; #Radico1 アクティブ文字色
my $bt1ABac = "#333333"; #Radico1 アクティブ背景色

my $bt2Id = "FMJ"; #Radico2 ID (http://www.norikistudio.com/station-id-list)
my $bt2Txt = "FMJ"; #Radico2 テキスト
my $bt2Fore = "#333333"; #Radico2 文字色
my $bt2Bac = "#87cefa"; #Radico2 背景色
my $bt2AFore = "#dedede"; #Radico2 アクティブ文字色
my $bt2ABac = "#333333"; #Radico2 アクティブ背景色

my $bt3Id = "./nhk1.sh"; #らじるらじる1 nhk1.pl使用
my $bt3Txt = "NHK1"; #らじるらじる1 テキスト
my $bt3Fore = "#333333"; #らじるらじる1 文字色
my $bt3Bac = "#ffd700"; #らじるらじる1 背景色
my $bt3AFore = "#dedede"; #らじるらじる1 アクティブ文字色
my $bt3ABac = "#333333"; #らじるらじる1 アクティブ背景色

my $bt4Id = "./nhkfm.sh"; #らじるらじる2 nhkfm.pl使用
#my $bt4Id = "firefox http://www.nhk.or.jp/radio/player/?ch=fm"; #firefoxでページを直接開く場合
my $bt4Txt = "N-FM"; #らじるらじる2 テキスト
my $bt4Fore = "#333333"; #らじるらじる2 文字色
my $bt4Bac = "#ffe4e1"; #らじるらじる2 背景色
my $bt4AFore = "#dedede"; #らじるらじる2 アクティブ文字色
my $bt4ABac = "#333333"; #らじるらじる2 アクティブ背景色

#SHOUTcastボタン
#ID アクティブ背景色 文字色 背景色 アクティブ文字色 テキスト
my $s1Id = "1734059"; my $s1Ab = "#333333"; my $s1Fo = "#333333"; my $s1Ba = "#98fb98"; my $s1Af = "#dedede"; my $s1Tx = "WNCS";#WNCS The Point!
my $s2Id = "1331549"; my $s2Ab = "#333333"; my $s2Fo = "#333333"; my $s2Ba = "#da70d6"; my $s2Af = "#dedede"; my $s2Tx = "Jamm";#Jamm FM
my $s3Id = "297368"; my $s3Ab = "#333333"; my $s3Fo = "#333333"; my $s3Ba = "#db7093"; my $s3Af = "#dedede"; my $s3Tx = "smooth";#Smooth Jazz Florida Plus
my $s4Id = "15953"; my $s4Ab = "#333333"; my $s4Fo = "#333333"; my $s4Ba = "#ffa500"; my $s4Af = "#dedede"; my $s4Tx = "EI";#El Tocadiscos

my $s5Id = "1108330"; my $s5Ab = "#333333"; my $s5Fo = "#333333"; my $s5Ba = "#c0c0c0"; my $s5Af = "#dedede"; my $s5Tx = "NST";#Nonstop Casiopea
my $s6Id = "1477271"; my $s6Ab = "#333333"; my $s6Fo = "#333333"; my $s6Ba = "#dda0dd"; my $s6Af = "#dedede"; my $s6Tx = "BEST";#BEST SMOOTH JAZZ - UK (LONDON) HOST ROD LUCAS
my $s7Id = "1323717"; my $s7Ab = "#333333"; my $s7Fo = "#f8f8ff"; my $s7Ba = "#dc143c"; my $s7Af = "#dedede"; my $s7Tx = "LOUNGE";#PulsRadio LOUNGE
my $s8Id = "1292701"; my $s8Ab = "#333333"; my $s8Fo = "#333333"; my $s8Ba = "#f0e68c"; my $s8Af = "#dedede"; my $s8Tx = "Lounge";#Nonstop Casiopea

my $s9Id = "1563396"; my $s9Ab = "#333333"; my $s9Fo = "#333333"; my $s9Ba = "#fff5ee"; my $s9Af = "#dedede"; my $s9Tx = "Gloval";#SmoothJazz.com Global
my $s10Id = "419932"; my $s10Ab = "#333333"; my $s10Fo = "#333333"; my $s10Ba = "#da70d6"; my $s10Af = "#dedede"; my $s10Tx = "WSJE";#WSJE-DB - Smooth Jazz Expressions
my $s11Id = "1077152"; my $s11Ab = "#333333"; my $s11Fo = "#333333"; my $s11Ba = "#9acd32"; my $s11Af = "#dedede"; my $s11Tx = "World";#The world
my $s12Id = "1586446"; my $s12Ab = "#333333"; my $s12Fo = "#333333"; my $s12Ba = "#da70d6"; my $s12Af = "#dedede"; my $s12Tx = "Jpop";#J-Pop Sakura 17

my @Id = ($s1Id,$s2Id,$s3Id,$s4Id,$s5Id,$s6Id,$s7Id,$s8Id,$s9Id,$s10Id,$s11Id,$s12Id);
my @Tx = ($s1Tx,$s2Tx,$s3Tx,$s4Tx,$s5Tx,$s6Tx,$s7Tx,$s8Tx,$s9Tx,$s10Tx,$s11Tx,$s12Tx);
my @Ab = ($s1Ab,$s2Ab,$s3Ab,$s4Ab,$s5Ab,$s6Ab,$s7Ab,$s8Ab,$s9Ab,$s10Ab,$s11Ab,$s12Ab);
my @Af = ($s1Af,$s2Af,$s3Af,$s4Af,$s5Af,$s6Af,$s7Af,$s8Af,$s9Af,$s10Af,$s11Af,$s12Af);
my @Ba = ($s1Ba,$s2Ba,$s3Ba,$s4Ba,$s5Ba,$s6Ba,$s7Ba,$s8Ba,$s9Ba,$s10Ba,$s11Ba,$s12Ba);
my @Fo = ($s1Fo,$s2Fo,$s3Fo,$s4Fo,$s5Fo,$s6Fo,$s7Fo,$s8Fo,$s9Fo,$s10Fo,$s11Fo,$s12Fo);

my $padxi = 0;
my $padyi = 0;

#####################################################################

my $bTi = 0;

$mw = new MainWindow();
$mw->minsize($minsize1,$minsize2);
$mw->geometry("$geometry");

$main = $mw->Frame();
$main->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);

$mainL = $main->Frame();
$mainL->pack(
-side => "left",
);

$image = $mainL->Photo( -file => "$bt0Img" );
$bt0 = $mainL->Button(
-image => $image,
-relief => "flat",
-background => "$bt0Bac",
-activebackground => "$bt0ABac",
-padx => 0,
-pady => 0,
-command => \&Ap,
);
$bt0->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$mainL2 = $mainL->Frame();
$mainL2->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$next = $mainL2->Button(
-relief => "flat",
-text => decode("utf8", "$nextTxt"),
-font => "$nextFont",
-activeforeground => "$nextAFore",
-foreground => "$nextFore",
-background => "$bt0Bac",
-activebackground => "$bt0ABac",
-padx => 0,
-pady => 0,
-command => \&Next,
);
$next->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);

$stop = $mainL2->Button(
-relief => "flat",
-text => decode("utf8", "$stopTxt"),
-font => "$font",
-activeforeground => "$stopAFore",
-foreground => "$stopFore",
-background => "$bt0Bac",
-activebackground => "$stopABase",
-padx => 0,
-pady => 0,
-command => \&Chk,
);
$stop->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);

$mainR = $main->Frame();
$mainR->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$mainR1 = $mainR->Frame(
-padx => $padxi,
-pady => $padyi,
);
$mainR1->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);

$bt1 = $mainR1->Button(
-relief => "flat",
-text => decode("utf8", "$bt1Txt"),
-font => "$font",
-activebackground => "$bt1ABac",
-activeforeground => "$bt1AFore",
-background => "$bt1Bac",
-foreground => "$bt1Fore",
-padx => $padxi,
-pady => $padyi,
-command => \&Nr1,
);
$bt1->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$bt2 = $mainR1->Button(
-relief => "flat",
-text => decode("utf8", "$bt2Txt"),
-font => "$font",
-activebackground => "$bt2ABac",
-activeforeground => "$bt2AFore",
-background => "$bt2Bac",
-foreground => "$bt2Fore",
-padx => $padxi,
-pady => $padyi,
-command => \&Nr2,
);
$bt2->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$bt3 = $mainR1->Button(
-relief => "flat",
-text => decode("utf8", "$bt3Txt"),
-font => "$font",
-activebackground => "$bt3ABac",
-activeforeground => "$bt3AFore",
-background => "$bt3Bac",
-foreground => "$bt3Fore",
-padx => $padxi,
-pady => $padyi,
-command => \&Nr3,
);
$bt3->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$bt4 = $mainR1->Button(
-relief => "flat",
-text => decode("utf8", "$bt4Txt"),
-font => "$font",
-activebackground => "$bt4ABac",
-activeforeground => "$bt4AFore",
-background => "$bt4Bac",
-foreground => "$bt4Fore",
-padx => $padxi,
-pady => $padyi,
-command => \&Nr4,
);
$bt4->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);


for($i = 0; $i < 12; $i++){
if($i == 0||$i == 4||$i == 8){
if($i == 0){$fii = 1;}elsif($i == 4){$fii = 2;}elsif($i == 8){$fii = 3;}
$mainRs[$fii] = $mainR->Frame(
-padx => $padxi,
-pady => $padyi,
);
$mainRs[$fii]->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);
}


$sh[$i] = $mainRs[$fii]->Button(
-relief => "flat",
-text => decode("utf8", "$Tx[$i]"),
-font => "$font",
-activebackground => "$Ab[$i]",
-activeforeground => "$Af[$i]",
-background => "$Ba[$i]",
-foreground => "$Fo[$i]",
-padx => $padxi,
-pady => $padyi,
-command => [ \&Scast,$Id[$i] ],
);
$sh[$i]->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);
}

$mvol = $mw->Frame();
$mvol->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);

$sc = $mvol->Scale(
-orient => "horizontal",
-from => 0,
-to => 100,
-variable => \$vol,
-command => \&Cv,
-activebackground => "$volABac",
-background => "$volBac",
-foreground => "$volFore",
);

$sc->set($pVol);

$sc->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$sw = $mvol->Button(
-text => decode("utf8", "$swTxt"),
-font => "$swFont",
-relief => "flat",
-text => decode("utf8", "$swTxt"),
-font => "$font",
-activeforeground => "$swAFore",
-activebackground => "$swABac",
-background => "$swBac",
-foreground => "$swFore",
-padx => 0,
-pady => 0,
-command => \&Sdown,
);
$sw->pack(
-side => "left",,
);

MainLoop;

#####################################################################

sub Ap{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry --command=\"perl splay.pl -def -list\"");
}

sub Chk{
if($bTi){system("killall -s HUP gnome-terminal-server firefox"); $bTi = 0;};
#Terminal Window Close
}

sub Next{
system("killall -s HUP aplay mpg321 vlc");
}

sub Nr1{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry --command=\"./play_radiko.sh $bt1Id\""); #ID
}

sub Nr2{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry --command=\"./play_radiko.sh $bt2Id\""); #ID
}

sub Nr3{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry --command=\"$bt3Id\""); #ID
}

sub Nr4{
&Chk;
$bTi = 8;
if($bt4Id eq "./nhkfm.pl"){system("gnome-terminal --geometry=$tmGeometry --command=\"$bt4Id\"");}
else {system("$bt4Id");}
}

sub Scast{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry --command=\"mplayer -playlist http://yp.shoutcast.com/sbin/tunein-station.pls?id=$_[0]\""); #ID
}

sub Cv{
system("amixer -c 0 sset PCM $vol\%"); #ヴォリューム USB (ライン出力の場合は 1 を 0 に)
}

sub Sdown{
if($msg eq "yes"){
my $msgbox = $mw->messageBox(
-title => "really",
-icon => "question",
-type => "OkCancel",
-default => "Cancel",
-message => decode("utf8", "シャットダウン!?"),
);
if($msgbox eq 'Ok'){system("sudo shutdown -h now");}else{return;
}
}
else{system("sudo shutdown -h now");} #Stop
}

###########./pi.pl 改訂版 ##################ここまで

上記の他に

splay.pl

play_radiko.sh

play_nhk-radio.sh

raspA.gif(右のおしゃれな画像をraspA.gifで保存f0021035_23264772.gif)f0021035_01032161.gif
radio

がいる、全て/home/piに置き


$ sudo chmod 755 play_radiko.sh

$ sudo chmod 755 nhk1.sh

$ sudo chmod 755 nhkfm.sh

$ sudo chmod 755 splay.pl

$ sudo chmod 777 radio

$ sudo chmod 755 pi.pl



さらに必要なアプリのインストールが必要である。

sudo apt-get install perl-tk

sudo apt-get install gnome-terminal

sudo apt-get install mplayer

sudo apt-get install vlc

sudo apt-get install mpg321

sudo apt-get install rtmpdump

sudo apt-get install swftools

sudo apt-get install libxml2-utils



ラズベリーパイを起動して、ログインした画面にデーモン小暮として Perl/TK による操作画面を表示するには、

/home/pi/.profile

の下の方に Perl/TK のスクリプトファイル( pi.pl )を起動するように記述する。

sudo -u pi perl /home/pi/pi.pl &

ターミナルで

perl pi.pl

でもよい


ブラウザが煩わしいが、直接ページを開くことも考えた。ubuntuではうまくいくが、raspbianではうまくいかない。研究してみる。

国が四流国家への道を突き進んでいる時に、こんなことをしていていいのだろうか?



[PR]
# by digressive | 2017-10-23 23:13 | Ubuntu | Comments(0)
 
ラズパイスタンド2号用 アンプ付きACアダプター
f0021035_19580205.jpg
f0021035_19575485.jpg
raspberry pi と raspbian によるサウンドデータのランダム再生とTBS等とインターネットラジオの再生ができるラズパイスタンドが不調なのでUSBダックを i2s dac にして作りなおしたところ、モニターが大きくなったので、ACアダプターとアンプは別になった。
f0021035_19580572.jpg
f0021035_19580027.jpg
hifiberry-dacにはボリューム機能がないので、ボリューム付きのヘッドホン用の出力もつけてみた。これでまたラジオが聞ける。

[PR]
# by digressive | 2017-10-06 20:06 | プアオーディオ | Comments(0)
 
Raspbian で i2s DAC
f0021035_14561326.jpg
最近のRaspbianにはi2sダックのドライバーが最初から入っているということで、壊れたラズパイスタンドのUSBダックをi2sにして作りなおした。3.5インチのタッチパネルは GPIO ピンを使っているので、i2sダックと物理的に干渉してしまう。ドライバーの競合も心配である。HDMIでi2sダックと競合しないタッチパネルで一番安いのは7インチのこれになった。ぎりぎり使えるが、タッチペンが使えないというおかしな特徴がある(まあ、そりゃそうだろうと思って、100均でDS用ではなくスマホ用のタッチペンを買ってきたら使えました。)。解像度は5インチパネル相当だが、文字が大きいのでシニアには嬉しい。もっと高解像度のモノもあるので、たいして価格も変わらないし、ヤングにはそちらをオススメする。i2sダックは ES9023 はすでに所有しているので、PCM5102A の安いやつをヤフオクで落札した、
f0021035_14561567.jpg
チップコンデンサばかりのチープな小型基板だが、いいチップコンデンサを使用しているそうで、みかけによらないカッチリとした重厚な音がした。このあたりの安い i2sダックのドライバーはたいがい HiFiberry-Dac である。今回使用した Raspbian のバージョンは 2017-09-17 にも入っていた。

pi@raspberrypi:/lib/modules/4.9.50-v7+/kernel/sound/soc/bcm $ ls -l
合計 360
-rw-r--r-- 1 root root 7684 9月 18 16:11 snd-soc-adau1977-adc.ko
-rw-r--r-- 1 root root 12528 9月 18 16:11 snd-soc-allo-boss-dac.ko
-rw-r--r-- 1 root root 10656 9月 18 16:11 snd-soc-allo-digione.ko
-rw-r--r-- 1 root root 21576 9月 18 16:11 snd-soc-allo-piano-dac-plus.ko
-rw-r--r-- 1 root root 8592 9月 18 16:11 snd-soc-allo-piano-dac.ko
-rw-r--r-- 1 root root 13248 9月 18 16:11 snd-soc-audioinjector-octo-soundcard.ko
-rw-r--r-- 1 root root 10104 9月 18 16:11 snd-soc-audioinjector-pi-soundcard.ko
-rw-r--r-- 1 root root 14976 9月 18 16:11 snd-soc-bcm2835-i2s.ko
-rw-r--r-- 1 root root 16092 9月 18 16:11 snd-soc-digidac1-soundcard.ko
-rw-r--r-- 1 root root 8704 9月 18 16:11 snd-soc-dionaudio-loco-v2.ko
-rw-r--r-- 1 root root 7872 9月 18 16:11 snd-soc-dionaudio-loco.ko
-rw-r--r-- 1 root root 8628 9月 18 16:11 snd-soc-fe-pi-audio.ko
-rw-r--r-- 1 root root 9896 9月 18 16:11 snd-soc-googlevoicehat-codec.ko
-rw-r--r-- 1 root root 8240 9月 18 16:11 snd-soc-googlevoicehat-soundcard.ko
-rw-r--r-- 1 root root 7848 9月 18 16:11 snd-soc-hifiberry-amp.ko
-rw-r--r-- 1 root root 8028 9月 18 16:11 snd-soc-hifiberry-dac.ko
-rw-r--r-- 1 root root 11424 9月 18 16:11 snd-soc-hifiberry-dacplus.ko
-rw-r--r-- 1 root root 11020 9月 18 16:11 snd-soc-hifiberry-digi.ko
-rw-r--r-- 1 root root 11180 9月 18 16:11 snd-soc-iqaudio-dac.ko
-rw-r--r-- 1 root root 10508 9月 18 16:11 snd-soc-iqaudio-digi.ko
-rw-r--r-- 1 root root 9204 9月 18 16:11 snd-soc-justboom-dac.ko
-rw-r--r-- 1 root root 9180 9月 18 16:11 snd-soc-justboom-digi.ko
-rw-r--r-- 1 root root 26244 9月 18 16:11 snd-soc-pisound.ko
-rw-r--r-- 1 root root 9528 9月 18 16:11 snd-soc-raspidac3.ko
-rw-r--r-- 1 root root 23584 9月 18 16:11 snd-soc-rpi-cirrus.ko
-rw-r--r-- 1 root root 7628 9月 18 16:11 snd-soc-rpi-dac.ko
-rw-r--r-- 1 root root 8312 9月 18 16:11 snd-soc-rpi-proto.ko


ひとそろい入っているようである。hifiberry-dacplus とかだと、簡単にドライバーが選べて機能するらしいが、hifiberry-dac ではカード0でデフォルトのALSA(PCM2835)と競合してしまうらしく、いろいろとググらないと動かなかった。

普通は /boot/config.txt

dtoverlay=hifiberry-dac

と追加するといいのだが、hifiberry-dac の場合はさらに

# Enable audio (loads snd_bcm2835)
dtparam=audio=on




# Enable audio (loads snd_bcm2835)
#dtparam=audio=on

とbcm2835をコメントアウトし

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on

#dtparam=i2s=on
#dtparam=spi=on




# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
dtparam=i2s=on
#dtparam=spi=on


とコメントアウトを外して i2s を有効にする。

そして /etc/modules

snd_soc_hifiberry_dac

と追加してやっと音が出た。
f0021035_14560850.jpg
タッチペンは使えない(たぶん今のペンが静電気式じゃないからだとは思う)が、画面がやく4倍に大きくなったので、指でなんとかなる。

f0021035_14561176.jpg
この7インチディスプレーは機能や品質はギリギリなのに、やたらと電気を食う。5AのACアダプターでやっとまともに動いた。単3電池4本でも1時間位はいけるだろうか?

[PR]
# by digressive | 2017-09-22 15:39 | プアオーディオ | Comments(0)
 
Raspbian ウブンツでAIFFもFLACもランダム再生-3
f0021035_00564153.png
splay.pl をターミナルを使わずにワンタッチで起動する pi.pl (改訂版)である。必要なアプリをインストールする。

sudo apt-get install perl-tk

sudo apt-get install gnome-terminal

sudo apt-get install mplayer

sudo apt-get install rtmpdump

sudo apt-get install swftools

sudo apt-get install libxml2-utils

f0021035_01032161.gifraspA.gif







radio(解凍する)

play_radiko.sh、play_nhk-radio.sh を GitHub から入手する。

2017-10-8 スクリプトミス 一部修正しました




pi.pl は以下




#!/usr/bin/perl

use Tk;
use Encode;

## pi.pl# 改訂版 初期設定 ###################################################

my $msg = "yes"; #シャットダウン時にメセージを表示する yes/no

my $geometry = "+10+40"; #表示位置
my $minsize1 = 460; #サイズW
my $minsize2 = 140; #サイズH
my $tmGeometry = "42x3+10+210"; #gnorm-terminal サイズ/表示位置
my $pVol = "75"; #初期ボリューム
my $font = "MS ゴシック 8 bold"; #フォント

my $bt0Img = "./raspA.gif"; #aplayボタン 画像
my $bt0Bac = "#fffacd"; #aplayボタン 背景色
my $bt0ABac = "#ffff00"; #aplayボタン アクティブ背景色

my $nextTxt = "▶"; #ネクストボタン テキスト(Aplay 専用)
my $nextFont = "MS ゴシック 18 bold"; #フォント
my $nextFore = "#333333"; #ネクストボタン 文字色
my $nextAFore = "#ffffff"; #ネクストボタン アクティブ文字色

my $stopTxt = "×"; #ストップボタン テキスト(gnorm-terminal を閉じる)
my $stopFore = "#333333"; #ストップボタン 文字色
my $stopAFore = "#ffffff"; #ストップボタン アクティブ文字色
my $stopABase = "#113355"; #ストップボタン アクティブ背景色

my $swTxt = "◯"; #シャットダウン テキスト
my $swFont = "MS ゴシック 18 bold"; #シャットダウン フォント
my $swBac = "#555555"; #シャットダウン 背景色
my $swABac = "#b50008"; #シャットダウン アクティブ背景色
my $swFore = "#dddddd"; #シャットダウン 文字色
my $swAFore = "#ffffff"; #シャットダウン アクティブ文字色

my $volFore = "#333333"; #ボリューム 文字色
my $volBac = "#fff0f5"; #ボリューム 背景色
my $volABac = "#da70d6"; #ボリューム アクティブ色

my $bt1Id = "TBS"; #Radico1 ID (http://www.norikistudio.com/station-id-list)
my $bt1Txt = "TBS"; #Radico1 テキスト
my $bt1Fore = "#333333"; #Radico1 文字色
my $bt1Bac = "#40e0d0"; #Radico1 背景色
my $bt1AFore = "#dedede"; #Radico1 アクティブ文字色
my $bt1ABac = "#333333"; #Radico1 アクティブ背景色

my $bt2Id = "FMJ"; #Radico2 ID (http://www.norikistudio.com/station-id-list)
my $bt2Txt = "FMJ"; #Radico2 テキスト
my $bt2Fore = "#333333"; #Radico2 文字色
my $bt2Bac = "#87cefa"; #Radico2 背景色
my $bt2AFore = "#dedede"; #Radico2 アクティブ文字色
my $bt2ABac = "#333333"; #Radico2 アクティブ背景色

my $bt3Id = "r1"; #らじるらじる1 ID=r1:NHKラジオ第1/r2:NHKラジオ第2/fm:NHK FM
my $bt3Txt = "NHK1"; #らじるらじる1 テキスト
my $bt3Fore = "#333333"; #らじるらじる1 文字色
my $bt3Bac = "#ffd700"; #らじるらじる1 背景色
my $bt3AFore = "#dedede"; #らじるらじる1 アクティブ文字色
my $bt3ABac = "#333333"; #らじるらじる1 アクティブ背景色

my $bt4Id = "fm"; #らじるらじる2 ID=r1:NHKラジオ第1/r2:NHKラジオ第2/fm:NHK FM
my $bt4Txt = "N-FM"; #らじるらじる2 テキスト
my $bt4Fore = "#333333"; #らじるらじる2 文字色
my $bt4Bac = "#ffe4e1"; #らじるらじる2 背景色
my $bt4AFore = "#dedede"; #らじるらじる2 アクティブ文字色
my $bt4ABac = "#333333"; #らじるらじる2 アクティブ背景色

#SHOUTcastボタン
#ID アクティブ背景色 文字色 背景色 アクティブ文字色 テキスト
my $s1Id = "1734059"; my $s1Ab = "#333333"; my $s1Fo = "#333333"; my $s1Ba = "#98fb98"; my $s1Af = "#dedede"; my $s1Tx = "WNCS";#WNCS The Point!
my $s2Id = "1331549"; my $s2Ab = "#333333"; my $s2Fo = "#333333"; my $s2Ba = "#da70d6"; my $s2Af = "#dedede"; my $s2Tx = "Jamm";#Jamm FM
my $s3Id = "297368"; my $s3Ab = "#333333"; my $s3Fo = "#333333"; my $s3Ba = "#db7093"; my $s3Af = "#dedede"; my $s3Tx = "smooth";#Smooth Jazz Florida Plus
my $s4Id = "15953"; my $s4Ab = "#333333"; my $s4Fo = "#333333"; my $s4Ba = "#ffa500"; my $s4Af = "#dedede"; my $s4Tx = "EI";#El Tocadiscos

my $s5Id = "1108330"; my $s5Ab = "#333333"; my $s5Fo = "#333333"; my $s5Ba = "#c0c0c0"; my $s5Af = "#dedede"; my $s5Tx = "NST";#Nonstop Casiopea
my $s6Id = "1477271"; my $s6Ab = "#333333"; my $s6Fo = "#333333"; my $s6Ba = "#dda0dd"; my $s6Af = "#dedede"; my $s6Tx = "BEST";#BEST SMOOTH JAZZ - UK (LONDON) HOST ROD LUCAS
my $s7Id = "1323717"; my $s7Ab = "#333333"; my $s7Fo = "#f8f8ff"; my $s7Ba = "#dc143c"; my $s7Af = "#dedede"; my $s7Tx = "LOUNGE";#PulsRadio LOUNGE
my $s8Id = "1292701"; my $s8Ab = "#333333"; my $s8Fo = "#333333"; my $s8Ba = "#f0e68c"; my $s8Af = "#dedede"; my $s8Tx = "Lounge";#Nonstop Casiopea

my $s9Id = "1563396"; my $s9Ab = "#333333"; my $s9Fo = "#333333"; my $s9Ba = "#fff5ee"; my $s9Af = "#dedede"; my $s9Tx = "Gloval";#SmoothJazz.com Global
my $s10Id = "419932"; my $s10Ab = "#333333"; my $s10Fo = "#333333"; my $s10Ba = "#da70d6"; my $s10Af = "#dedede"; my $s10Tx = "WSJE";#WSJE-DB - Smooth Jazz Expressions
my $s11Id = "1077152"; my $s11Ab = "#333333"; my $s11Fo = "#333333"; my $s11Ba = "#9acd32"; my $s11Af = "#dedede"; my $s11Tx = "World";#The world
my $s12Id = "1586446"; my $s12Ab = "#333333"; my $s12Fo = "#333333"; my $s12Ba = "#da70d6"; my $s12Af = "#dedede"; my $s12Tx = "Jpop";#J-Pop Sakura 17

my @Id = ($s1Id,$s2Id,$s3Id,$s4Id,$s5Id,$s6Id,$s7Id,$s8Id,$s9Id,$s10Id,$s11Id,$s12Id);
my @Tx = ($s1Tx,$s2Tx,$s3Tx,$s4Tx,$s5Tx,$s6Tx,$s7Tx,$s8Tx,$s9Tx,$s10Tx,$s11Tx,$s12Tx);
my @Ab = ($s1Ab,$s2Ab,$s3Ab,$s4Ab,$s5Ab,$s6Ab,$s7Ab,$s8Ab,$s9Ab,$s10Ab,$s11Ab,$s12Ab);
my @Af = ($s1Af,$s2Af,$s3Af,$s4Af,$s5Af,$s6Af,$s7Af,$s8Af,$s9Af,$s10Af,$s11Af,$s12Af);
my @Ba = ($s1Ba,$s2Ba,$s3Ba,$s4Ba,$s5Ba,$s6Ba,$s7Ba,$s8Ba,$s9Ba,$s10Ba,$s11Ba,$s12Ba);
my @Fo = ($s1Fo,$s2Fo,$s3Fo,$s4Fo,$s5Fo,$s6Fo,$s7Fo,$s8Fo,$s9Fo,$s10Fo,$s11Fo,$s12Fo);

my $padxi = 0;
my $padyi = 0;

#####################################################################

my $bTi = 0;

$mw = new MainWindow();
$mw->minsize($minsize1,$minsize2);
$mw->geometry("$geometry");

$main = $mw->Frame();
$main->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);

$mainL = $main->Frame();
$mainL->pack(
-side => "left",
);

$image = $mainL->Photo( -file => "$bt0Img" );
$bt0 = $mainL->Button(
-image => $image,
-relief => "flat",
-background => "$bt0Bac",
-activebackground => "$bt0ABac",
-padx => 0,
-pady => 0,
-command => \&Ap,
);
$bt0->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$mainL2 = $mainL->Frame();
$mainL2->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$next = $mainL2->Button(
-relief => "flat",
-text => decode("utf8", "$nextTxt"),
-font => "$nextFont",
-activeforeground => "$nextAFore",
-foreground => "$nextFore",
-background => "$bt0Bac",
-activebackground => "$bt0ABac",
-padx => 0,
-pady => 0,
-command => \&Next,
);
$next->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);

$stop = $mainL2->Button(
-relief => "flat",
-text => decode("utf8", "$stopTxt"),
-font => "$font",
-activeforeground => "$stopAFore",
-foreground => "$stopFore",
-background => "$bt0Bac",
-activebackground => "$stopABase",
-padx => 0,
-pady => 0,
-command => \&Chk,
);
$stop->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);

$mainR = $main->Frame();
$mainR->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$mainR1 = $mainR->Frame(
-padx => $padxi,
-pady => $padyi,
);
$mainR1->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);

$bt1 = $mainR1->Button(
-relief => "flat",
-text => decode("utf8", "$bt1Txt"),
-font => "$font",
-activebackground => "$bt1ABac",
-activeforeground => "$bt1AFore",
-background => "$bt1Bac",
-foreground => "$bt1Fore",
-padx => $padxi,
-pady => $padyi,
-command => \&Nr1,
);
$bt1->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$bt2 = $mainR1->Button(
-relief => "flat",
-text => decode("utf8", "$bt2Txt"),
-font => "$font",
-activebackground => "$bt2ABac",
-activeforeground => "$bt2AFore",
-background => "$bt2Bac",
-foreground => "$bt2Fore",
-padx => $padxi,
-pady => $padyi,
-command => \&Nr2,
);
$bt2->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$bt3 = $mainR1->Button(
-relief => "flat",
-text => decode("utf8", "$bt3Txt"),
-font => "$font",
-activebackground => "$bt3ABac",
-activeforeground => "$bt3AFore",
-background => "$bt3Bac",
-foreground => "$bt3Fore",
-padx => $padxi,
-pady => $padyi,
-command => \&Nr3,
);
$bt3->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$bt4 = $mainR1->Button(
-relief => "flat",
-text => decode("utf8", "$bt4Txt"),
-font => "$font",
-activebackground => "$bt4ABac",
-activeforeground => "$bt4AFore",
-background => "$bt4Bac",
-foreground => "$bt4Fore",
-padx => $padxi,
-pady => $padyi,
-command => \&Nr4,
);
$bt4->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);


for($i = 0; $i < 12; $i++){
if($i == 0||$i == 4||$i == 8){
if($i == 0){$fii = 1;}elsif($i == 4){$fii = 2;}elsif($i == 8){$fii = 3;}
$mainRs[$fii] = $mainR->Frame(
-padx => $padxi,
-pady => $padyi,
);
$mainRs[$fii]->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);
}


$sh[$i] = $mainRs[$fii]->Button(
-relief => "flat",
-text => decode("utf8", "$Tx[$i]"),
-font => "$font",
-activebackground => "$Ab[$i]",
-activeforeground => "$Af[$i]",
-background => "$Ba[$i]",
-foreground => "$Fo[$i]",
-padx => $padxi,
-pady => $padyi,
-command => [ \&Scast,$Id[$i] ],
);
$sh[$i]->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);
}

$mvol = $mw->Frame();
$mvol->pack(
-side => "top",
-fill => "both",
-expand => "yes",
);

$sc = $mvol->Scale(
-orient => "horizontal",
-from => 0,
-to => 100,
-variable => \$vol,
-command => \&Cv,
-activebackground => "$volABac",
-background => "$volBac",
-foreground => "$volFore",
);

$sc->set($pVol);

$sc->pack(
-side => "left",
-fill => "both",
-expand => "yes",
);

$sw = $mvol->Button(
-text => decode("utf8", "$swTxt"),
-font => "$swFont",
-relief => "flat",
-text => decode("utf8", "$swTxt"),
-font => "$font",
-activeforeground => "$swAFore",
-activebackground => "$swABac",
-background => "$swBac",
-foreground => "$swFore",
-padx => 0,
-pady => 0,
-command => \&Sdown,
);
$sw->pack(
-side => "left",,
);

MainLoop;

#####################################################################

sub Ap{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry -e \"perl splay.pl -def -list\"");
}

sub Chk{
if($bTi){system("killall -s HUP gnome-terminal-server"); $bTi = 0;};
#Terminal Window Close
}

sub Next{
system("killall -s HUP aplay mpg321 vlc");
}

sub Nr1{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry -e \"/home/pi/play_radiko.sh $bt1Id\""); #ID
}

sub Nr2{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry -e \"/home/pi/play_radiko.sh $bt2Id\""); #ID
}

sub Nr3{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry -e \"/home/pi/play_nhk-radio.sh $bt3Id\""); #ID
}

sub Nr4{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry -e \"/home/pi/play_nhk-radio.sh $bt4Id\""); #ID
}

sub Scast{
&Chk;
$bTi = 8;
system("gnome-terminal --geometry=$tmGeometry -e \"mplayer -playlist http://yp.shoutcast.com/sbin/tunein-station.pls?id=$_[0]\""); #ID
}

sub Cv{
system("amixer -c 0 sset PCM $vol\%"); #ヴォリューム USB (ライン出力の場合は 1 を 0 に)
}

sub Sdown{
if($msg eq "yes"){
my $msgbox = $mw->messageBox(
-title => "really",
-icon => "question",
-type => "OkCancel",
-default => "Cancel",
-message => decode("utf8", "シャットダウン!?"),
);
if($msgbox eq 'Ok'){system("sudo shutdown -h now");}else{return;
}
}
else{system("sudo shutdown -h now");} #Stop
}

###########/home/pi/pi.pl 改訂版 ##################ここまで


すべて同じフォルダに置く

$ sudo chmod 755 play_radiko.sh
$ sudo chmod 755 play_nhk-radio.sh
$ sudo chmod 777 radio
$ sudo chmod 755 pi.pl

ラズベリーパイを起動して、ログインした画面にデーモン小暮として Perl/TK による操作画面を表示するには、

/home/pi/.profile

の下の方に Perl/TK のスクリプトファイル( pi.pl )を起動するように記述する。

sudo -u pi perl /home/pi/pi.pl &

ターミナルで

perl pi.pl

でもよい


[PR]
# by digressive | 2017-09-11 01:21 | プアオーディオ | Comments(2)
 



人間は、考える足である。
by ラーメン
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28
カテゴリ
リンク

おやつ会

人との交流が人を育てます。


ホームページ作成
WEBデザイン(Perl PHP MySQL)
グラフィックデザイン
CI 各種印刷物 広告 SP
はじめました。

■□■□■□






RandomReading《読書記録》
通勤電車が私の書斎さ。
■□■□■□






WEBカラーネーム

WEBカラーチャート

「もう一つの日本」
どう展開するのか、見えませんが楽しみです。

放射NO! 防御プロジェクト
フェイスブック発、自分の身は自分で守ろう

植草一秀の『知られざる真実』
頑張れミラーマン

世に倦む日々
無料版です

奥の横道(写真)
携帯で写真を撮りだすとクセになる。

マニア・マニア
何が彼らをそこまで駆り立てるのか?

天木直人.com
多少偏向していそうだが、
文春よりは参考になる


きっこのブログ
謎のブログ、リンクしていいのかな?

とりまきメモ
ブログというより、日記帳ですね。

LINK MEMO
小生の勝手なリンク集


小金井市の地域SNSです
WEB デザイン モリ のページもあります。

アメブロもよろしく。

pixiv

twitterフォロー ミー

上のボタンが好きな背景色で作れます


青空文庫


お気に入りブログ
ライフログ
以前の記事
2018年 02月
2018年 01月
2017年 12月
2017年 11月
2017年 10月
2017年 09月
2017年 08月
2017年 07月
2017年 06月
2017年 05月
2017年 04月
2017年 03月
2017年 02月
2017年 01月
2016年 12月
2016年 10月
2016年 09月
2016年 08月
2016年 06月
2016年 04月
2016年 03月
2016年 02月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 05月
2015年 04月
2015年 03月
2015年 02月
2015年 01月
2014年 12月
2014年 11月
2014年 10月
2014年 09月
2014年 08月
2014年 07月
2014年 06月
2014年 05月
2014年 04月
2014年 03月
2014年 02月
2014年 01月
2013年 12月
2013年 11月
2013年 10月
2013年 09月
2013年 08月
2013年 07月
2013年 06月
2013年 05月
2013年 04月
2013年 02月
2013年 01月
2012年 12月
2012年 11月
2012年 10月
2012年 09月
2012年 08月
2012年 07月
2012年 06月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2012年 01月
2011年 12月
2011年 11月
2011年 10月
2011年 09月
2011年 08月
2011年 07月
2011年 06月
2011年 05月
2011年 04月
2011年 03月
2011年 02月
2011年 01月
2010年 12月
2010年 11月
2010年 10月
2010年 08月
2010年 07月
2010年 06月
2010年 05月
2010年 04月
2010年 03月
2010年 02月
2010年 01月
2009年 12月
2009年 11月
2009年 10月
2009年 09月
2009年 08月
2009年 07月
2009年 06月
2009年 05月
2009年 04月
2009年 03月
2009年 02月
2009年 01月
2008年 12月
2008年 11月
2008年 10月
2008年 09月
2008年 08月
2008年 06月
2008年 05月
2008年 04月
2008年 03月
2008年 02月
2008年 01月
2007年 12月
2007年 11月
2007年 10月
2007年 09月
2007年 08月
2007年 07月
2007年 06月
2007年 05月
2007年 04月
2007年 03月
2007年 02月
2007年 01月
2006年 12月
2006年 11月
2006年 10月
2006年 09月
2006年 08月
最新のコメント
ご愁傷様です、、、
by 名無しさん at 11:28
ラジオ放送を随時データ化..
by digressive at 18:19
シェルスクリプトですねぇ..
by かえる at 11:06
GoogleのAPIで叩..
by かえる at 16:27
たいていのブログに準備さ..
by digressive at 22:48
つまり、グーグル(全体の..
by かえる at 10:39
ワードからgoogleの..
by digressive at 19:06
googleの検索フォー..
by digressive at 18:59
これは...グーグル指定..
by かえる at 11:14
仕事でやらされたこともあ..
by digressive at 22:52
最新のトラックバック
Macの音楽をオーディオ..
from ちょっとOldなMacの話
グランベリーモール町田
from アウトレットモール・パーク【..
「セオリー」アウトレット
from 町田アウトレット【グランベリ..
アロワナ
from アロワナ
進行中の環境問題
from バナナペーパー!?環境問題を..
バナナが地球を救う。
from バナナが紙に!?そんなバナナ..
インクジェットプリンター..
from ネット専用商社 特選館
【携帯】 アップルの「i..
from 【究極の宗教】Physica..
お得なえびの高原温泉に関..
from 宮崎エリアnavi
TOEIC勉強法
from TOEIC勉強法
検索
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧