村上や

“TOP”へMC900432676[1]

ニュース

 

2019106

 

Raspberry Pi Zero WH」で作るインターネットラジオです。

 

 

朝の覚まし設定をしたので、今回、スリープタイマー機能を追加しました。

設定は、30分、60分、90分、120分です。

ゆったりとした気分で就寝できます。

 

備忘録です。

30分のシェルスクリプト(/var/www/html/sleep_30m2.sh)です。

sleep 30m

killall vlc

gpio -g mode 2 out

gpio -g write 2 1

gpio -g mode 9 out

gpio -g write 9 0

gpio -g mode 10 out

gpio -g write 10 1

 

60分のシェルスクリプト(/var/www/html/sleep_60m2.sh)です。

sleep 60m

killall vlc

gpio -g mode 2 out

gpio -g write 2 1

gpio -g mode 9 out

gpio -g write 9 0

gpio -g mode 10 out

gpio -g write 10 1

 

90分のシェルスクリプト(/var/www/html/sleep_90m2.sh)です。

sleep 90m

killall vlc

gpio -g mode 2 out

gpio -g write 2 1

gpio -g mode 9 out

gpio -g write 9 0

gpio -g mode 10 out

gpio -g write 10 1

 

120分のシェルスクリプト(/var/www/html/sleep_120m2.sh)です。

sleep 120m

killall vlc

gpio -g mode 2 out

gpio -g write 2 1

gpio -g mode 9 out

gpio -g write 9 0

gpio -g mode 10 out

gpio -g write 10 1

 

↓キャンセルのシェルスクリプト(/var/www/html/sleep_cancel2.sh)です。

pkill sleep_30m.sh

pkill sleep_60m.sh

pkill sleep_90m.sh

pkill sleep_120m.sh

 

↓アップロードしたシェルスクリプトの改行コードを変換します。

# tr -d '\r' < /var/www/html/sleep_30m2.sh > /var/www/html/sleep_30m.sh

# tr -d '\r' < /var/www/html/sleep_60m2.sh > /var/www/html/sleep_60m.sh

# tr -d '\r' < /var/www/html/sleep_90m2.sh > /var/www/html/sleep_90m.sh

# tr -d '\r' < /var/www/html/sleep_120m2.sh > /var/www/html/sleep_120m.sh

# tr -d '\r' < /var/www/html/sleep_cancel2.sh > /var/www/html/sleep_cancel2.sh

 

↓属性を755にします。

# chmod 755 /var/www/html/sleep_30m.sh

# chmod 755 /var/www/html/sleep_60m.sh

# chmod 755 /var/www/html/sleep_90m.sh

# chmod 755 /var/www/html/sleep_120m.sh

# chmod 755 /var/www/html/sleep_cancel.sh

 

sleep_30m2.shsleep_60m2.shsleep_90m2.shsleep_120m2.shsleep_cancel2.shは不要なので、FTPで削除します。

 

↓スリープタイマーのPHPファイル(/var/www/html/sleep.php)です。(属性:755

<?php

if(isset($_GET['sleep'])) {

$sleep = $_GET['sleep'];

if($sleep=="Cancel") {

exec("pkill -f sleep_30m.sh");

exec("pkill -f sleep_60m.sh");

exec("pkill -f sleep_90m.sh");

exec("pkill -f sleep_120m.sh");

} else {

exec("pkill -f sleep_30m.sh");

exec("pkill -f sleep_60m.sh");

exec("pkill -f sleep_90m.sh");

exec("pkill -f sleep_120m.sh");

exec("/var/www/html/sleep_" .$sleep. ".sh");

}

}

?>

<html>

<head>

<meta name="viewport" charset="utf-8" content="width=device-width">

<title>Sleep Timer</title>

<link rel="shortcut icon" href="favicon.ico">

</head>

<body>

Sleep Timer

&nbsp;&nbsp;&nbsp;

<a href="index.php">Top</a><br>

&nbsp;<a href="sleep.php?sleep=30m">30min</a><br>

&nbsp;<a href="sleep.php?sleep=60m">60min</a><br>

&nbsp;<a href="sleep.php?sleep=90m">90min</a><br>

&nbsp;<a href="sleep.php?sleep=120m">120min</a><br>

&nbsp;<a href="sleep.php?sleep=Cancel">Cancel</a><br>

</body>

</html>

 

↓メインのPHPファイル(/var/www/html/index.php)です。(属性:755

<?php

if(isset($_GET['stop'])) {

exec("killall vlc");

exec("gpio -g mode 2 out");

exec("gpio -g write 2 1");

exec("gpio -g mode 9 out");

exec("gpio -g write 9 0");

exec("gpio -g mode 10 out");

exec("gpio -g write 10 1");

}

 

if(isset($_GET['vol'])) {

$vol = $_GET['vol'];

exec("amixer sset PCM " .$vol. "%");

}

 

if(isset($_GET['url'])) {

$url = $_GET['url'];

exec("killall vlc");

exec("cvlc " .$url. " > /dev/null &");

exec("gpio -g mode 2 out");

exec("gpio -g write 2 0");

exec("gpio -g mode 9 out");

exec("gpio -g write 9 1");

exec("gpio -g mode 10 out");

exec("gpio -g write 10 0");

}

 

if(isset($_GET['radiko'])) {

$radiko = $_GET['radiko'];

exec("killall vlc");

system("/var/www/html/play_radiko.sh " .$radiko. " > /dev/null &");

exec("gpio -g mode 2 out");

exec("gpio -g write 2 0");

exec("gpio -g mode 9 out");

exec("gpio -g write 9 1");

exec("gpio -g mode 10 out");

exec("gpio -g write 10 0");

}

 

if(isset($_GET['music'])) {

$music = $_GET['music'];

exec("killall vlc");

exec("cvlc -Z -L /var/www/html/music/" .$music. "/*.mp3 > /dev/null &");

exec("gpio -g mode 2 out");

exec("gpio -g write 2 0");

exec("gpio -g mode 9 out");

exec("gpio -g write 9 1");

exec("gpio -g mode 10 out");

exec("gpio -g write 10 0");

}

 

?>

 

<html>

<head>

<meta name="viewport" charset="utf-8" content="width=device-width">

<title>Raspberry Pi</title>

<link rel="shortcut icon" href="favicon.ico">

 

<script type="text/javascript">

function disp(){

              if(window.confirm('LEDが消えてから電源プラグを抜いてください!')){

                            location.href = "shutdown.php";

              }

}

</script>

 

</head>

<body>

<Div Align="right">

<a href="#" onClick="disp(); return false;">Shutdown</a>

</Div>

<a href="index.php?stop=stop">Stop</a>

&nbsp;&nbsp;&nbsp;

<a href="sleep.php">Sleep Timer</a>

<br>

<br>

Volum

(Min)

<a href="index.php?vol=0">0</a>

<a href="index.php?vol=60">1</a>

<a href="index.php?vol=70">2</a>

<a href="index.php?vol=80">3</a>

<a href="index.php?vol=85">4</a>

<a href="index.php?vol=90">5</a>

<a href="index.php?vol=92">6</a>

<a href="index.php?vol=94">7</a>

<a href="index.php?vol=96">8</a>

<a href="index.php?vol=98">9</a>

<a href="index.php?vol=100">10</a>

(Max)

<br>

<br>

Radio

<br>

&nbsp;<a href="index.php?url=https://nhkradiolkr1-i.akamaihd.net/hls/live/512088/1-r1/1-r1-01.m3u8">NHK R1</a><br>

&nbsp;<a href="index.php?url=https://nhkradioakr2-i.akamaihd.net/hls/live/511929/1-r2/1-r2-01.m3u8">NHK R2</a><br>

&nbsp;<a href="index.php?url=https://nhkradiolkfm-i.akamaihd.net/hls/live/512097/1-fm/1-fm-01.m3u8">NHK FM</a><br>

 

&nbsp;<a href="index.php?radiko=RKB">RKB</a><br>

&nbsp;<a href="index.php?radiko=KBC">KBC</a><br>

&nbsp;<a href="index.php?radiko=FMFUKUOKA">FM FUKUOKA</a><br>

&nbsp;<a href="index.php?radiko=LOVEFM">Love FM</a><br>

&nbsp;<a href="index.php?radiko=CROSSFM">CROSS FM</a><br>

&nbsp;<a href="index.php?radiko=RN1">ラジオNIKKEI1</a><br>

&nbsp;<a href="index.php?radiko=RN2">ラジオNIKKEI2</a><br>

&nbsp;<a href="index.php?radiko=HOUSOU-DAIGAKU">放送大学</a><br>

 

&nbsp;<a href="index.php?url=http://yp.shoutcast.com/sbin/tunein-station.pls?id=1695718">1.FM - Adore Jazz</a><br>

&nbsp;<a href="index.php?url=http://yp.shoutcast.com/sbin/tunein-station.pls?id=1782029">Cool Jazz New York</a><br>

&nbsp;<a href="index.php?url=http://yp.shoutcast.com/sbin/tunein-station.pls?id=1794791">Cool Jazz FLA</a><br>

&nbsp;<a href="index.php?url=http://yp.shoutcast.com/sbin/tunein-station.pls?id=1605192">Cool Jazz Global</a><br>

 

&nbsp;<a href="index.php?url=http://ottava.out.airtime.pro:8000/ottava_b">OTTAVA</a><br>

&nbsp;<a href="index.php?url=http://yp.shoutcast.com/sbin/tunein-station.pls?id=103145">Classical WETA 90.9 FM - Washington D.C.</a><br>

&nbsp;<a href="index.php?url=http://yp.shoutcast.com/sbin/tunein-station.pls?id=22146">Venice Classic Radio Italia</a><br>

 

 

&nbsp;<a href="index.php?url=http://yp.shoutcast.com/sbin/tunein-station.pls?id=1656313">J-Pop - PowerPlay</a><br>

&nbsp;<a href="index.php?url=http://yp.shoutcast.com/sbin/tunein-station.pls?id=1586446">J-Pop Sakura 17</a><br>

&nbsp;<a href="index.php?url=http://yp.shoutcast.com/sbin/tunein-station.pls?id=1659345">Asia DREAM Radio - Japan Hits</a><br>

&nbsp;<a href="index.php?url=http://yp.shoutcast.com/sbin/tunein-station.pls?id=1659314">J-Pop - PowerPlay Kawaii</a><br>

 

<br>

Music

<br>

&nbsp;<a href="index.php?music=joehisaishi">久石譲</a><br>

&nbsp;<a href="index.php?music=Paul_Mauriat">ポール・モーリア</a><br>

&nbsp;<a href="index.php?music=Shakatak">シャカタク</a><br>

&nbsp;<a href="index.php?music=12_Girls_Band">女子十二楽坊</a><br>

&nbsp;<a href="index.php?music=Yo-Yo_Ma">ヨーヨー・マ</a><br>

<br>

 

</body>

</html>

 

 

 

 

【バックナンバー】

MC900053825[1] 2019929

MC900053825[1] 2019921

MC900053825[1] 2019916

MC900053825[1] 201997

MC900053825[1] 2019831

MC900053825[1] 2019825

MC900053825[1] 2019817

MC900053825[1] 2019813

MC900053825[1] 2019812

MC900053825[1] 201984

MC900053825[1] 2019728

MC900053825[1] 2019721

MC900053825[1] 2019715

MC900053825[1] 201977

MC900053825[1] 2019630

MC900053825[1] 2019623

MC900053825[1] 2019616

MC900053825[1] 201969

MC900053825[1] 201962

MC900053825[1] 2019526

MC900053825[1] 2019512

MC900053825[1] 201956

MC900053825[1] 201953

MC900053825[1] 2019430

MC900053825[1] 2019421

MC900053825[1] 2019414

MC900053825[1] 201947

MC900053825[1] 2019330

MC900053825[1] 2019323

MC900053825[1] 2019321

MC900053825[1] 2019317

MC900053825[1] 201939

MC900053825[1] 201933

MC900053825[1] 2019224

MC900053825[1] 2019217

MC900053825[1] 2019211

MC900053825[1] 201923

MC900053825[1] 2019127

MC900053825[1] 2019120

MC900053825[1] 2019114

MC900053825[1] 201916

MC900053825[1] 201913

MC900053825[1] 2019年1月1

MC900053825[1] 2018

MC900053825[1] 2017

MC900053825[1] 2016

MC900053825[1] 2015

MC900053825[1] 2014

MC900053825[1] 2013

MC900053825[1] 2012

MC900053825[1] 2011