raspberry piでオリジナル目覚まし時計を作成
- 最近chiptune熱が再発
- 毎朝chiptuneを聞いて仕事に行きたい
- けど、おんなじ曲だと飽きる
- オンラインラジオから流せばいいじゃないか!?
てな感じで作りました
1. mplayer
先ずは、mplayerをインストール
apt-get install mplayer
mplayer -h
2. url取得
オンラインラジオを配信しているURLを取得
ググると、下記のサイトが有名どころのよう
rainwave
chipbit
- rainwave
- urlは簡単に取得できたが、mplayerで実行できなかった
- chipbit
- jsを読み解くと、「 http://stream.chipbit.net:8000/live 」これっぽい

今回は、chipbitから音源を取得することにしました
3. ラズパイでテスト実行
テスト実行
$ mplayer http://stream.chipbit.net:8000/live
MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team
Cannot open file '/home/pi/.mplayer/input.conf': No such file or directory
Failed to open /home/pi/.mplayer/input.conf.
Cannot open file '/etc/mplayer/input.conf': No such file or directory
Failed to open /etc/mplayer/input.conf.
Playing http://stream.chipbit.net:8000/live.
Resolving stream.chipbit.net for AF_INET6...
Couldn't resolve name for AF_INET6: stream.chipbit.net
Resolving stream.chipbit.net for AF_INET...
Connecting to server stream.chipbit.net[138.68.142.162]: 8000...
Name : ChipBit
Genre : Electronic, Electronic, Breakbeat
Website: http://chipbit.net
Public : yes
Bitrate: 128kbit/s
Cache size set to 320 KiB
Cache fill: 0.00% (0 bytes)
ICY Info: StreamTitle='Josh Zimmerman - Flourescent Sun, Neon Moon';
Detected file format: Audio only
Selected audio codec: MPEG 1.0/2.0/2.5 layers I, II, III [mpg123]
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
AO: [pulse] Init failed: Connection refused
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
[AO_ALSA] Unable to find simple control 'Master',0.
Video: no video
Starting playback...
A: 3.3 (03.2) of 0.0 (00.0) 1.9% 19%
鳴ってる!!!!チュンチュン鳴ってる!!!
- スペースキーで中断/再開
- qまたはetcで終了
- *または/でボリューム調整
てな感じです
4. cronに登録
cronに登録すると、決まった時間・日にちにプログラムが実行されます
まずはchkconfigを登録
sudo apt-get install chkconfig
cronが動いているか確認
sudo chkconfig cron
cron onが出れば、動いている
cronに登録crontab -e
vim/nanoなどテキストエディタを選択(環境によって省略されているかも)
筆者はnanoがオススメです
最後尾に、以下の文言を追記。手前の数字から、**(分) (時間) (日にち) (曜日) (月) (実行内容)**を表している
30 8 * * * timeout 3600 mplayer http://stream.chipbit.net:8000/live
要するに、毎朝8時30分に目覚ましを起動するということです
実行内容= timeout 3600 mplayer http://stream.chipbit.net:8000/live
これは、
timeout (秒数)
で記述し、(秒数)が経過しても、プログラムが終了していない場合は、強制的にプログラムを終了する
という内容です、
つまり、
毎朝8時30分にmplayerを起動し、ラジオからchiptuneを流し、3600秒(1時間)が経過したら、自動でプログラムが終了する
ということです、
課題
- timeoutで実行を中断しただけでなく、電源を切るべきなのでは??
まとめ
小一時間で意外と簡単にできてびっくりしました、
わたしの環境では、自動でスピーカーを読み込んだので、スピーカーからの出力方法などは、また別の機会に書きたいと思います。(書くとは言っていない)
ではでは