2016年7月 5日 (火)

Rasiberry Piラジオ:全国版

Rasiberry Piラジオで全国の放送が視聴できないかと関西局を試みたが入らない。
Radikoプレミムという有償版は全国放送の視聴が可能なのに・・・?
調べてみるとRadikoはIPアドレスで視聴エリアのガードをかけているとのこと。
たまに視聴エリアが狂うのはこのせいですか?
Radikoサイトの利用は駄目、別のサイトを探すことにする。
 

| | コメント (0) | トラックバック (0)

2016年7月 1日 (金)

Raspberry Pi ラジオを作る

自宅でラジオの電波状況が悪い。
それでインターネットラジオを物色した。
見つけたのがこれだ!

ところがradikoに対応してないようだ!
PLANEX MZK-WDPR-R01

それでRaspberry Piが遊んでいるので、それを使って作ることにした。
1.ラジオ構築のベースは私のPaspberry Pi
R1
これには下記が設定済だ!

・Raspberry Pi model B+
・Raspbian OSインストール
・日本語環境設定
・ディスプレー設定
・サウンドの出力先設定
・ネットワーク設定
・Bluetooth設定
・無線LAN設定
・X起動設定
・自動ログイン設定


2.次にラジオに必要なmplayerとrtmpdumpをインストール
・mplayer:SHOUTcast, simulradio.jp, radiko, らじる★らじるの再生に使用
・rtmpdump:radiko.jp、らじる★らじるの受信に使用
・他に:swftools,libxml2-utils
$ sudo apt-get update
$ sudo apt-get install mplayer
$ sudo apt-get install rtmpdump swftools libxml2-utils

3.受信用スクリプト保存場所設定
ここでは/home/piに作るとして、piフォルダを開き、何もないところで右クリック→新規作成→radioと入力

4.更に、ここhttps://gist.github.com/ihsoy-s/5292735からダウンロード(右端Raw→歯車→別名保存)して/home/pi/radioに置く
・play_radiko.sh:radiko.jp受信用のスクリプト
・play_nhk-radio.sh:らじる★らじる受信用のスクリプト

5./home/pi/radio/play_nhk-radio.shはテキストエデターnanoを使ってを開き
 
$ sudo nano /home/pi/radio/play_nhk-radio.sh

outdirを指定する

# parameter setting
#
pid=$$
date=`date '+%Y-%m-%d-%H:%M'`
playerurl=http://radiko.jp/player/swf/player_3.0.0.01.swf
# outdir="${XDG_CACHE_HOME}/radio/"
outdir="/home/pi/radio/"

playerfile="${outdir}/player.swf"
keyfile="${outdir}/authkey.png"
auth1_fms_file="${outdir}/auth1_fms_${pid}"
auth2_fms_file="${outdir}/auth2_fms_${pid}"
channel_file="${outdir}/${channel}.xml"
mkdir -p ${outdir}

nanoを終了する ........ Ctrl +  x
ファイルを保存する .... y(yes/no)
[enter]

6.これで準備完了、下記をターミナルに入力して聞いてみる

/home/pi/radio/play_nhk-radio.sh r1 NHK ラジオ第一
/home/pi/radio/play_nhk-radio.sh r2 NHK ラジオ第二
/home/pi/radio/play_nhk-radio.sh fm NHK FM
/home/pi/radio/play_radiko.sh TBS TBS
/home/pi/radio/play_radiko.sh QRR 文化放送
/home/pi/radio/play_radiko.sh LFR ニッポン放送
/home/pi/radio/play_radiko.sh JORF ラジオ日本
/home/pi/radio/play_radiko.sh INT Inter FM
/home/pi/radio/play_radiko.sh FMT Tokyo FM
/home/pi/radio/play_radiko.sh FMJ J-WAVE
/home/pi/radio/play_radiko.sh BAYFM78 Bayfm
/home/pi/radio/play_radiko.sh NACK5 FM NACK5
/home/pi/radio/play_radiko.sh YFM Fm yokohama



7.最後にRaspberry Piにはスイッチがないので電源ON(バッテリーのスイッチ)でラジオが鳴るようにする
ここでもテキストエデターnanoを使って/etc/rc.localファイルを開き

$ sudo nano /etc/rc.local

'exit 0'の直前に'/home/pi/radio/play_nhk-radio.sh r1'を追加する

# Print the IP address
IP=$(hostname -I) || true
if [ "$_IP" ]; then
   printf "My IP address is %s\n" "$_IP"
fi
play_nhk-radio.sh r1
exit 0

nanoを終了する ........ Ctrl +  x
ファイルを保存する .... y(yes/no)
[enter]

8.ラジオを切るのも電源OFFだ!

9.これでNHK第一を聞くためのSDカードが完成、他の放送を聞くときはこれを修正するか、数枚の放送毎のSDカードを作る

やっぱりスピーカーが欲しい!

R2 イヤフォンで聞いていたが、ラジオを繋がっていて動けない!
 
Bluetoothイヤフォンにしたら何処にでも行けるようになった。
 
ところが一日中なのでBluetoothイヤフォンのバッテリーがなくなくのだ!

ジャンク箱を探したら貰ったデスクトップ用のスピーカーがあった。
電源供給が必要、6Vだ!
これもジャンク箱、あった。
接続したら鳴った!と思ったら切れた!
スピーカーのACコネクタに触ると鳴る!切れる!
接触不良と思いシリコーンスプレーを吹き付けたら治った。

【使用方法】

1.放送選局:放送局毎のSDカードを選択してRaspberryPiに挿入
MicroSD 放送局
Transcend32GBclase10 Xwindow
Transcend8GBclase4 NHK第一
Transcend8GBclase4 TBS
無印8GBclase2 FMヨコハマ

2.ラジオON:RaspberryPiとスピーカーのACアダプターをコンセントに接続、RaspberryPiが起動して1分後に鳴りだす
3.音声調整:スピーカーのボリューム
4.音声ON・OFF:スピーカーのスイッチ
5.選局は一旦RaspberryPi電源OFF後、SDカードを交換して再起動
6.ラジオOFF:RaspberryPiとスピーカーのACアダプターをコンセントから外す
R3
 

スマホをリモコンにする


SDカードの抜き差しで選局というのはやっぱり使い難い!
それでapacheとphpを利用してスマホリモコンをつくることにした。

1.先ず、play_nhk-radio.shとplay_radiko.shをルートデレクトリーに置くことにした
/home/pi/rajio/から/usr/bin/へコピーする

$sudo cp /home/pi/rajio/play_nhk-radio.sh /usr/bin/play_nhk-radio.sh
$sudo cp /home/pi/rajio/play_radiko.sh /usr/bin/play_radiko.sh

2.バーミッションを忘れずに

$sudo chmod 755 /usr/bin/play_nhk-radio.sh
$sudo chmod 755 /usr/bin/play_radiko.sh

3.ここから本題、apacheとphpをダウンロード&インストール

$sudo apt-get install apache2 php5
$sudo reboot

4.apatch2のデフォルトのユーザー名である「www-data」を「audio」グループに追加する
$sudo usermod -G www-data,audio www-data

5.IPアドレスを調べる
ip a

表示された値の中にinet「192.168.x.x」がIPアドレスなので試しにスマホのブラウザに「http://192.168.x.x/」を入力して「It works!・・・・・」が表示されればOK

これはRaspberry PiにインストールしたApacheのドキュメントルートである「 /var/www/index.html 」のファイルが表示されている

6./var/www/index.htmlを修正して試しに/home/pi/blueblocks/test.mp3ファイルが鳴らすindex.phpをつくる

index.phpをnanoで開き
$sudo nano /var/www/index.php

下記を入力する
<?php
exec("mplayer /home/pi/blueblocks/test.mp3");
?>

これがスマホの「http://192.168.x.x/」から鳴ればOK

7.次にTBS放送を鳴らすindex.phpをつくってみる

index.phpをnanoで開き

$sudo nano /var/www/index.php

下記を入力する
<?php
exec("play_radiko.sh TBS");
?>

これもスマホの「http://192.168.x.x/」から鳴るはずだが鳴らない!

/var/log/apache2/error.logをみたら

/home/pi/radio//auth1_fms_xxxx: Parmission denied

どうやら/home/pi/radio/に書き込めないと言っているようなのでバーミッションを「すべて」にしたら鳴った!

8.テストOKなので選局のためのindex.phpをつくる

nanoが日本語非対応なのでleafpadを使う
$sudo leafpad /var/www/index.php

下記を入力する
<meta charset="UTF-8" />を入れないと日本語が文字化けする
<?php
if(isset($_GET['id'])){
$id=$_GET['id'];
exec("killall mplayer");
if($id=="stop")exec("killall mplayer");
if($id=="1")exec("play_nhk-radio.sh r1");
if($id=="2")exec("play_nhk-radio.sh r2");
if($id=="3")exec("play_nhk-radio.sh fm");
if($id=="4")exec("play_radiko.sh TBS");
if($id=="5")exec("play_radiko.sh QRR");
if($id=="6")exec("play_radiko.sh LFR");
if($id=="7")exec("play_radiko.sh JORF");
if($id=="8")exec("play_radiko.sh INT");
if($id=="9")exec("play_radiko.sh FMT");
if($id=="10")exec("play_radiko.sh FMJ");
if($id=="11")exec("play_radiko.sh BAYFM78");
if($id=="12")exec("play_radiko.sh NACK5");
if($id=="13")exec("play_radiko.sh YFM");
?>
<html>
<head>
<title>Raspberry Pi Radio</title>
<meta name="viewport" content="width=device-width">
<meta charset="UTF-8" />
</head>
<body bgcolor="white" link="white" alink="yellow" vlink="white">
<center>
<table style="color:white" border="8" cellspacing="1" cellpadding="5">
<tr bgcolor="red">
<th>
Raspberry Pi Radio
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=1">NHK第一</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=2">NHK第二</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=3">NHK FM</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=4">TBSラジオ</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=5">文化放送</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=6">ニッポン放送</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=7">ラジオ日本</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=8">InterFM897</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=9">TOKTO FM</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=10">J-WAVE</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=11">bayfm78</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=12">NACK5</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=13">FMヨコハマ</a>
</th>
</tr>
<tr bgcolor="blue">
<th>
<a href="index.php?id="stop">STOP</a>
</th>
</tr>
</table>
</center>
</body>
</html>


IPアドレスの固定化

R4 Raspberry Piラジオをスマホリモコンで使っているが時々呼び出しのhttp://192.168.x.xが変動する。

そのために、その都度IPアドレスを確認する必要があるのだ!

$ ip a

そこでIPアドレスを固定することにした。
現在のIPアドレスは192.168.x.x、このxを固定化する。

自宅のルーターはNEC Aterm WR8160N STモデル、http://192.168.0.1でこれの管理画面を表示する。
--------------
ユーザー;admin
パスワード;xxxxx
--------------
表示されたトップ画面の詳細設定→LAN側設定で下記を確認する、
・IPアドレス:192.168.x.1
・ネットマスク:255.255.255.0
・アドレス割当パターン:自動指定
・割当先頭アドレス:(指定なし)
・割当数:32

上記はIPアドレスが次のように割当てられているということなので
・192.168.x.0:ネットワークアドレス
・192.168.x.1:ルーターのIPアドレス
・192.168.x.2~192.168.x.33:DHCPにより割当てられたIPアドレス32個
・192.168.x.34~192.168.x.254:固定IPアドレスとして利用可能アドレス
・192.168.x.255:ブロードキャストアドレス

固定するIPアドレスは192.168.x.34~192.168.x.254の中から192.168.x.100にした。

ここで注意Raspbianのバージョンによって設定方法が違うのでバージョン確認をする。
結果はWheezy、この場合/etc/network/interfacesを開く
(Raspbian Jessieの場合は/etc/dhcpcd.conf)

$ sudo nano  /etc/network/interfaces

このファイルの赤字部分を修正する。

auto lo
iface lo inet loopback
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.x.100
netmask 255.255.255.0
gateway 192.168.x.1

allow-hotplug wlan0
# iface wlan0 inet manual
iface wlan0 inet static
address 192.168.x.100
netmask 255.255.255.0
gateway 192.168.x.1

# wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp
 

R5 nanoを閉じる:ctrl+x
保存:y
再起動:sudo reboot

 

ボリュームをつける


いま、いろんなスピーカーを試しているが、ボリュームなしのスピーカーもあるのだ!
そんな訳でボリュームを追加することのした。
$sudo leafpad /var/www/index.php

下記に赤字の部分を追加(削除もあるが省略)
<?php
if(isset($_GET['id'])){
$id=$_GET['id'];
if($id=="1"){exec("killall mplayer");exec("play_nhk-radio.sh r1");}
if($id=="2"){exec("killall mplayer");exec("play_nhk-radio.sh r2");}
if($id=="3"){exec("killall mplayer");exec("play_nhk-radio.sh fm");}
if($id=="4"){exec("killall mplayer");exec("play_radiko.sh TBS");}
if($id=="5"){exec("killall mplayer");exec("play_radiko.sh QRR");}
if($id=="6"){exec("killall mplayer");exec("play_radiko.sh LFR");}
if($id=="7"){exec("killall mplayer");exec("play_radiko.sh JORF");}
if($id=="8"){exec("killall mplayer");exec("play_radiko.sh INT");}
if($id=="9"){exec("killall mplayer");exec("play_radiko.sh FMT");}
if($id=="10"){exec("killall mplayer");exec("play_radiko.sh FMJ");}
if($id=="11"){exec("killall mplayer");exec("play_radiko.sh BAYFM78");}
if($id=="12"){exec("killall mplayer");exec("play_radiko.sh NACK5");}
if($id=="13"){exec("killall mplayer");exec("play_radiko.sh YFM");}
if($id=="v1")exec("amixer set PCM 10%");
if($id=="v2")exec("amixer set PCM 20%");
if($id=="v3")exec("amixer set PCM 30%");
if($id=="v4")exec("amixer set PCM 40%");
if($id=="v5")exec("amixer set PCM 50%");
if($id=="v6")exec("amixer set PCM 60%");
if($id=="v7")exec("amixer set PCM 70%");
if($id=="v8")exec("amixer set PCM 80%");
if($id=="v9")exec("amixer set PCM 90%");
if($id=="v10")exec("amixer set PCM 100%");
if($id=="stop")exec("killall mplayer");}
}
?>
<html>
<head>
<title>Raspberry Pi Radio</title>
<meta name="viewport" content="width=device-width">
<meta charset="UTF-8" />
</head>
<body bgcolor="white" link="white" alink="yellow" vlink="white">
<center>
<table style="color:white" border="8" cellspacing="1" cellpadding="5">
<tr bgcolor="red">
<th>
Raspberry Pi Radio
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=1">NHK第一</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=2">NHK第二</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=3">NHK FM</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=4">TBSラジオ</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=5">文化放送</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=6">ニッポン放送</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=7">ラジオ日本</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=8">InterFM897</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=9">TOKTO FM</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=10">J-WAVE</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=11">bayfm78</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=12">NACK5</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=13">FMヨコハマ</a>
</th>
</tr>
<tr bgcolor="blue">
<th>
Vol.
<a href="index.php?id="v1">1</a>
<
<a href="index.php?id="v2">2</a>
<
<a href="index.php?id="v3">3</a>
<
<a href="index.php?id="v4">4</a>
<
<a href="index.php?id="v5">5</a>
<
<a href="index.php?id="v6">6</a>
<
<a href="index.php?id="v7">7</a>
<
<a href="index.php?id="v8">8</a>
<
<a href="index.php?id="v9">9</a>
<
<a href="index.php?id="v10">10</a>
</th>
</tr>
<tr bgcolor="blue">
<th>
<a href="index.php?id="stop">STOP</a>
</th>
</tr>
</table>
</center>
</body>
</html>

| | コメント (0) | トラックバック (0)

Raspberry Piラジオ;ボリューム追加

P1000517 Raspberry Piラジオを作る


いま、いろんなスピーカーを試しているが、ボリュームなしのスピーカーもあるのだ!
そんな訳でボリュームを追加することのした。
$sudo leafpad /var/www/index.php

下記に赤字の部分を追加(削除もあるが省略)


<?php
if(isset($_GET['id'])){
$id=$_GET['id'];
if($id=="1"){exec("killall mplayer");exec("play_nhk-radio.sh r1");}
if($id=="2"){exec("killall mplayer");exec("play_nhk-radio.sh r2");}
if($id=="3"){exec("killall mplayer");exec("play_nhk-radio.sh fm");}
if($id=="4"){exec("killall mplayer");exec("play_radiko.sh TBS");}
if($id=="5"){exec("killall mplayer");exec("play_radiko.sh QRR");}
if($id=="6"){exec("killall mplayer");exec("play_radiko.sh LFR");}
if($id=="7"){exec("killall mplayer");exec("play_radiko.sh JORF");}
if($id=="8"){exec("killall mplayer");exec("play_radiko.sh INT");}
if($id=="9"){exec("killall mplayer");exec("play_radiko.sh FMT");}
if($id=="10"){exec("killall mplayer");exec("play_radiko.sh FMJ");}
if($id=="11"){exec("killall mplayer");exec("play_radiko.sh BAYFM78");}
if($id=="12"){exec("killall mplayer");exec("play_radiko.sh NACK5");}
if($id=="13"){exec("killall mplayer");exec("play_radiko.sh YFM");}
if($id=="v1")exec("amixer set PCM 10%");
if($id=="v2")exec("amixer set PCM 20%");
if($id=="v3")exec("amixer set PCM 30%");
if($id=="v4")exec("amixer set PCM 40%");
if($id=="v5")exec("amixer set PCM 50%");
if($id=="v6")exec("amixer set PCM 60%");
if($id=="v7")exec("amixer set PCM 70%");
if($id=="v8")exec("amixer set PCM 80%");
if($id=="v9")exec("amixer set PCM 90%");
if($id=="v10")exec("amixer set PCM 100%");
if($id=="stop")exec("killall mplayer");}
}
?>
<html>
<head>
<title>Raspberry Pi Radio</title>
<meta name="viewport" content="width=device-width">
<meta charset="UTF-8" />
</head>
<body bgcolor="white" link="white" alink="yellow" vlink="white">
<center>
<table style="color:white" border="8" cellspacing="1" cellpadding="5">
<tr bgcolor="red">
<th>
Raspberry Pi Radio
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=1">NHK第一</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=2">NHK第二</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=3">NHK FM</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=4">TBSラジオ</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=5">文化放送</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=6">ニッポン放送</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=7">ラジオ日本</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=8">InterFM897</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=9">TOKTO FM</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=10">J-WAVE</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=11">bayfm78</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=12">NACK5</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=13">FMヨコハマ</a>
</th>
</tr>
<tr bgcolor="blue">
<th>
Vol.
<a href="index.php?id="v1">1</a>
<
<a href="index.php?id="v2">2</a>
<
<a href="index.php?id="v3">3</a>
<
<a href="index.php?id="v4">4</a>
<
<a href="index.php?id="v5">5</a>
<
<a href="index.php?id="v6">6</a>
<
<a href="index.php?id="v7">7</a>
<
<a href="index.php?id="v8">8</a>
<
<a href="index.php?id="v9">9</a>
<
<a href="index.php?id="v10">10</a>
</th>
</tr>
<tr bgcolor="blue">
<th>
<a href="index.php?id="stop">STOP</a>
</th>
</tr>
</table>
</center>
</body>
</html>
 
 
 
 

| | コメント (0) | トラックバック (0)

2016年6月11日 (土)

AC-ACアダプター

P1000515


Raspberry Piでジャンクスピーカーを使っているが、ACアダプターのコネクタ接触不良で触ると落ちる。
スピーカーの電源入力コネクタをよく見たらAC9Vと刻印されていた。
よく見ないで9Vだからと・・・
これもジャンク箱から探し出したコネクタサイズの合うDC6VのACアダプターを接続していた。
接触不良でなかったのだ!
だけどAC9V出力のアダプターってあるの?
調べたらAC-ACアダプターというのがあった。
(通常ACアダプターと言っているのはAC-DCアダプターというのだそうだ)
でも、どうしてAC9VにDC6Vを供給して動作するんだろう?

スピーカーを分解して見たらダイオードが4個あった。
AC9Vを全波整流してDC5Vを得ていたとすると・・・
ここに今回はDC6Vのアダプターを接続したら接触不良状態、
試しにDC3.7Vアダプターを接続したら切れることもなく快調だ!
どうして・・・直流を入力すると整流・変圧回路をスルーするのかな?
だけど理屈がわからないと危ないよね!
誰か教えて下さい。
 

| | コメント (0) | トラックバック (0)

2016年5月30日 (月)

Raspbian Wheezy のIPアドレス固定化

Raspberry Piラジオをスマホリモコンで使っているが時々呼び出しのhttp://192.168.x.xが変動する。
そのために、その都度IPアドレスを確認する必要があるのだ!
$ ip a
そこでIPアドレスを固定することにした。
現在のIPアドレスは192.168.x.x、このxを固定化する。
Ip 自宅のルーターはNEC Aterm WR8160N STモデル、http://192.168.0.1でこれの管理画面を表示する。
--------------
ユーザー;admin
パスワード;xxxxx
--------------
表示されたトップ画面の詳細設定→LAN側設定で下記を確認する、
・IPアドレス:192.168.x.1
・ネットマスク:255.255.255.0
・アドレス割当パターン:自動指定
・割当先頭アドレス:(指定なし)
・割当数:32
上記はIPアドレスが次のように割当てられているということなので
・192.168.x.0:ネットワークアドレス
・192.168.x.1:ルーターのIPアドレス
・192.168.x.2~192.168.x.33:DHCPにより割当てられたIPアドレス32個
・192.168.x.34~192.168.x.254:固定IPアドレスとして利用可能アドレス
・192.168.x.255:ブロードキャストアドレス
固定するIPアドレスは192.168.x.34~192.168.x.254の中から192.168.x.100にした。
ここで注意Raspbianのバージョンによって設定方法が違うのでバージョン確認をする。
結果はWheezy、この場合/etc/network/interfacesを開く
(Raspbian Jessieの場合は/etc/dhcpcd.conf)
$ sudo nano  /etc/network/interfaces
このファイルの赤字部分を修正する。
auto lo
iface lo inet loopback
# iface eth0 inet dhcp
iface eth0 inet static

address 192.168.x.100
netmask 255.255.255.0
gateway 192.168.x.1

allow-hotplug wlan0
# iface wlan0 inet manual
iface wlan0 inet static

address 192.168.x.100
netmask 255.255.255.0
gateway 192.168.x.1

# wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp
nanoを閉じる:ctrl+x
保存:y
再起動:sudo reboot
 

| | コメント (0) | トラックバック (0)

Raspbianのテキストエディタはleafpadでいい!

Raspberry PiのRaspbianで今までnanoを使っていたが
日本語が使えない
コピー&ペーストができない
などと不便を感じていた。
そんな時にデフォルトでスタートメニューに入っているテキストエディタ、
これ、何?と調べてみたらleafpad
端末で使える。
日本語もコピー&ペーストもできる。
これでいい!

| | コメント (0) | トラックバック (0)

2016年5月29日 (日)

Raspbianのバージョン確認

現在、RaspbianにはwheezyとJessieのふたつのバージョンがあるようだ!
自分のはどっちだ!
lsb_releaseをインストールしてバージョンを確認する。
$ sudo apt-get install lsb-release
lsb_release コマンドを -a オプションを付けて実行すると、コードネームを含めて確認できる。
$ lsb_release -a
結果は古いwheezyだった。
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.8 (wheezy)
Release:        7.8
Codename:       wheezy
あとでバージョンアップしよう!

| | コメント (0) | トラックバック (0)

2016年5月20日 (金)

Raspberry Pi ラジオ;スマホリモコン対応

P1000506

 
でイヤフォンで聞いていたが、ラジオを繋がっていて動けない!
Bluetoothイヤフォンにしたら何処にでも行けるようになった。
ところが一日中なのでBluetoothイヤフォンのバッテリーがなくなくのだ!
 
今度は

これでいい!
 
しかし、SDカードの抜き差しで選局というのはやっぱり使い難い!
それでapacheとphpを利用してスマホリモコンをつくることにした。
 
1.先ず、play_nhk-radio.shとplay_radiko.shをルートデレクトリーに置くことにした
/home/pi/rajio/から/usr/bin/へコピーする
$sudo cp /home/pi/rajio/play_nhk-radio.sh /usr/bin/play_nhk-radio.sh
$sudo cp /home/pi/rajio/play_radiko.sh /usr/bin/play_radiko.sh

2.バーミッションを忘れずに
$sudo chmod 755 /usr/bin/play_nhk-radio.sh
$sudo chmod 755 /usr/bin/play_radiko.sh

3.ここから本題、apacheとphpをダウンロード&インストール
$sudo apt-get install apache2 php5
$sudo reboot

4.apatch2のデフォルトのユーザー名である「www-data」を「audio」グループに追加する
$sudo usermod -G www-data,audio www-data

5.IPアドレスを調べる
ip a
表示された値の中にinet「192.168.x.x」がIPアドレスなので試しにスマホのブラウザに「http://192.168.x.x/」を入力して「It works!・・・・・」が表示されればOK
これはRaspberry PiにインストールしたApacheのドキュメントルートである「 /var/www/index.html 」のファイルが表示されている

6./var/www/index.htmlを修正して試しに/home/pi/blueblocks/test.mp3ファイルが鳴らすindex.phpをつくる
index.phpをnanoで開き
$sudo nano /var/www/index.php
下記を入力する
<?php
exec("mplayer /home/pi/blueblocks/test.mp3");
?>
これがスマホの「http://192.168.x.x/」から鳴ればOK

7.次にTBS放送を鳴らすindex.phpをつくってみる
index.phpをnanoで開き
$sudo nano /var/www/index.php
下記を入力する
<?php
exec("play_radiko.sh TBS");
?>
 
これもスマホの「http://192.168.x.x/」から鳴るはずだが鳴らない!
/var/log/apache2/error.logをみたら
/home/pi/radio//auth1_fms_xxxx: Parmission denied
どうやら/home/pi/radio/に書き込めないと言っているようなのでバーミッションを「すべて」にしたら鳴った!

8.テストOKなので選局のためのindex.phpをつくる
nanoが日本語非対応なのでleafpadを使う
$sudo leafpad /var/www/index.php
下記を入力する
<meta charset="UTF-8" />を入れないと日本語が文字化けする
<?php
if(isset($_GET['id'])){
$id=$_GET['id'];
exec("killall mplayer");
if($id=="stop")exec("killall mplayer");
if($id=="1")exec("play_nhk-radio.sh r1");
if($id=="2")exec("play_nhk-radio.sh r2");
if($id=="3")exec("play_nhk-radio.sh fm");
if($id=="4")exec("play_radiko.sh TBS");
if($id=="5")exec("play_radiko.sh QRR");
if($id=="6")exec("play_radiko.sh LFR");
if($id=="7")exec("play_radiko.sh JORF");
if($id=="8")exec("play_radiko.sh INT");
if($id=="9")exec("play_radiko.sh FMT");
if($id=="10")exec("play_radiko.sh FMJ");
if($id=="11")exec("play_radiko.sh BAYFM78");
if($id=="12")exec("play_radiko.sh NACK5");
if($id=="13")exec("play_radiko.sh YFM");
}
?>
<html>
<head>
<title>Raspberry Pi Radio</title>
<meta name="viewport" content="width=device-width">
<meta charset="UTF-8" />
</head>
<body bgcolor="white" link="white" alink="yellow" vlink="white">
<center>
<table style="color:white" border="8" cellspacing="1" cellpadding="5">
<tr bgcolor="red">
<th>
Raspberry Pi Radio
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=1">NHK第一</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=2">NHK第二</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=3">NHK FM</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=4">TBSラジオ</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=5">文化放送</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=6">ニッポン放送</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=7">ラジオ日本</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=8">InterFM897</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=9">TOKTO FM</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=10">J-WAVE</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=11">bayfm78</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=12">NACK5</a>
</th>
</tr>
<tr bgcolor="black">
<th>
<a href="index.php?id=13">FMヨコハマ</a>
</th>
</tr>
<tr bgcolor="blue">
<th>
<a href="index.php?id="stop">STOP</a>
</th>
</tr>
</table>
</center>
</body>
</html>
 
 
 
 

| | コメント (0) | トラックバック (0)

2016年5月 7日 (土)

Rapsberry Piラジオにスピーカーを付けた

P1000438

Rapsberry Piラジオ、やっぱりスピーカーが欲しい!
ジャンク箱を探したら貰ったデスクトップ用のスピーカーがあった。
電源供給が必要、6Vだ!
これもジャンク箱、あった。
接続したら鳴った!と思ったら切れた!
スピーカーのACコネクタに触ると鳴る!切れる!
接触不良と思いシリコーンスプレーを吹き付けたら治った。

【使用方法】
1.放送選局:放送局毎のSDカードを選択してRaspberryPiに挿入

MicroSD 放送局
Transcend32GBclase10 Xwindow
Transcend8GBclase4 NHK第一
Transcend8GBclase4 TBS
無印8GBclase2 FMヨコハマ

2.ラジオON:RaspberryPiとスピーカーのACアダプターをコンセントに接続、RaspberryPiが起動して1分後に鳴りだす

3.音声調整:スピーカーのボリューム

4.音声ON・OFF:スピーカーのスイッチ

5.選局は一旦RaspberryPi電源OFF後、SDカードを交換して再起動

6.ラジオOFF:RaspberryPiとスピーカーのACアダプターをコンセントから外す

| | コメント (0) | トラックバック (0)

2016年5月 3日 (火)

Raspberry Piサウンドの出力先変更

Raspberry Piの音声出力は、HDMIケーブルからの出力と
本体の音声ラインからの出力(ステレオ・ミニ・ジャック)の2系統ある。

サウンドの出力先変更は、
$ sudo amixer cset numid=3 1(本体のラインへ出力)
$ sudo amixer cset numid=3 2(HDMI端子へ出力)
※一度実行すれば、再起動後もその設定が有効となる。

サウンドの再生確認は、
$ aplay /usr/share/sounds/alsa/Front_Center.wav
を実行すると女性の声「???」

| | コメント (0) | トラックバック (0)