Help us understand the problem. What is going on with this article?

raspberrypiで作る、chiptune目覚まし

More than 1 year has passed since last update.

raspberry piでオリジナル目覚まし時計を作成

  • 最近chiptune熱が再発
  • 毎朝chiptuneを聞いて仕事に行きたい
  • けど、おんなじ曲だと飽きる
  • オンラインラジオから流せばいいじゃないか!?

てな感じで作りました

1. mplayer

先ずは、mplayerをインストール

apt-get install mplayer
mplayer -h

2. url取得

オンラインラジオを配信しているURLを取得

ググると、下記のサイトが有名どころのよう
rainwave
chipbit

今回は、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で実行を中断しただけでなく、電源を切るべきなのでは??

まとめ

小一時間で意外と簡単にできてびっくりしました、

わたしの環境では、自動でスピーカーを読み込んだので、スピーカーからの出力方法などは、また別の機会に書きたいと思います。(書くとは言っていない)

ではでは

diggy-mo
クソ雑魚エンジニア
https://blog.morifuji-is.ninja/
atma_inc
Change the common sense with algorithm を達成するためのスタートアップ
https://atma.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした