Bubble UPnP ServerをRaspberry Piで動かす
このブログに何度も書いてることなんですが、おさらいの意味でメモ(^^;)
Raspbian(LITE)の最新バージョンをダウンロード。
https://www.raspberrypi.org/downloads/raspbian/
Win32 Disk Imagerで、ダウンロードしたイメージをMicroSDに書き込む。
最新のRaspbianはデフォルトでSSHがOFFになっているので、"SSH"というファイをエディターで作成してMicroSDの"/boot"に書き込む。"SSH"は空のファイルでOK。
起動。
SSHでログイン。
$ssh pi@raspberrypi.local
password: raspberry
(メモ)_/_/_/_/_/_/_/_/_/_/_/
Macのターミナルでログインしようとすると、
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
といった、メッセージが表示されてログインできないことがある。そんな場合は、
$ ssh-keygen -R remote_host_name
もしくは、
$ sed -i '/remote_host_name/d' ~/.ssh/known_hosts
これでOK。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/
java をインストール
$ sudo apt-get update && sudo apt-get install oracle-java8-jdk
BubbleUPnP Server をダウンロードするディレクトリを作る。
$ mkdir bubbleupnp
作ったディレクトリに移動。
$ cd bubbleupnp
BubbleUPnP Server をダウンロード。
$ sudo wget http://www.bubblesoftapps.com/bubbleupnpserver/BubbleUPnPServer-distrib.zip -O bubbleupnpserver.zip
解凍.。
$ unzip bubbleupnpserver.zip
"launch.sh" のアクセス権を変更
$ sudo chmod +x launch.sh
BubbleUPnP サーバーを起動。
$ sudo ./launch.sh > /dev/null 2>&1 &
ブラウザで動作チェック。
http://raspberrypi.local:58050/
起動時にBubbleUPnP Server がスタートするよう設定。nano を使って /etc/init.d/ に "BubbleUPnPServer" というファイルを作成し、以下のテキストをコピペしてセーブ。
$ sudo nano /etc/init.d/BubbleUPnPServer
---------------------------------------------------------------------------------------------
#!/bin/bash
### BEGIN INIT INFO
# Provides: BubbleServer
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: BubbleUPnP Server Background Service Management
# Description: Used to ensure BubbleUPnP starts/stops etc
### END INIT INFO
DAEMON_PATH="/home/pi/bubbleupnp"
DAEMON="java -Xss256k -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding="UTF-8" -jar BubbleUPnPServerLauncher.jar"
DAEMONOPTS=""
NAME=BubbleUPnPServer
DESC="Runs BubbleUPnPServer"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
case "$1" in
start)
printf "%-50s" "Starting $NAME..."
cd $DAEMON_PATH
PID=`$DAEMON $DAEMONOPTS > /dev/null 2>&1 & echo $!`
#echo "Saving PID" $PID " to " $PIDFILE
if [ -z $PID ]; then
printf "%sn" "Fail"
else
echo $PID > $PIDFILE
printf "%sn" "Ok"
fi
;;
status)
printf "%-50s" "Checking $NAME..."
if [ -f $PIDFILE ]; then
PID=`cat $PIDFILE`
if [ -z "`ps axf | grep ${PID} | grep -v grep`" ]; then
printf "%sn" "Process dead but pidfile exists"
else
echo "Running"
fi
else
printf "%sn" "Service not running"
fi
;;
stop)
printf "%-50s" "Stopping $NAME"
PID=`cat $PIDFILE`
cd $DAEMON_PATH
if [ -f $PIDFILE ]; then
kill -HUP $PID
printf "%sn" "Ok"
rm -f $PIDFILE
else
printf "%sn" "pidfile not found"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {status|start|stop|restart}"
exit 1
esac
---------------------------------------------------------------------------------------------
コピペしたら、
DAEMON_PATH="/var/www/bubbleupnp"
を
DAEMON_PATH="/home/pi/bubbleupnp" (解凍したディレクトリを指定)
に変更。
ctrl + x ----> y enter で終了。
"/etc/init.d/BubbleUPnPServer" のアクセス権を変更。
$ sudo chmod 755 /etc/init.d/BubbleUPnPServer
"rc.d" ディレクトリにシンボリックリンクを張る。
$ sudo update-rc.d BubbleUPnPServer defaults
iPad でシャットダウンするため固定IPアドレスを設定。以下を末尾に追加。
$ sudo nano /etc/dhcpcd.conf
---------------------------------------
interface eth0
static ip_address=192.168.x.x/24
static routers=192.168.x.x
static domain_name_servers=192.168.x.x
---------------------------------------------------
ctrl + x ----> y enter で終了。
再起動。
$ sudo reboot
ブラウザで動作を確認。
http://raspberrypi.local:58050/
(追記)
今はこんな状態(^^;)で運用していますがすこぶる快適です^^
SDカードへの書き込みが頻繁に起きるのでカードの寿命が心配なのですが、当面これで行こうかなと(笑)
ゆくゆくはこれかな。
http://www.physical-computing.jp/product/1335
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
(直接関係ないけど今回お世話になったコマンド)
不要なパッケージを削除
# sudo apt-get remove --purge {package名}
依存関係がなく不要と判断されたパッケージを削除
# sudo apt-get autoremove
Raspbian(LITE)の最新バージョンをダウンロード。
https://www.raspberrypi.org/downloads/raspbian/
Win32 Disk Imagerで、ダウンロードしたイメージをMicroSDに書き込む。
最新のRaspbianはデフォルトでSSHがOFFになっているので、"SSH"というファイをエディターで作成してMicroSDの"/boot"に書き込む。"SSH"は空のファイルでOK。
起動。
SSHでログイン。
$ssh pi@raspberrypi.local
password: raspberry
(メモ)_/_/_/_/_/_/_/_/_/_/_/
Macのターミナルでログインしようとすると、
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
といった、メッセージが表示されてログインできないことがある。そんな場合は、
$ ssh-keygen -R remote_host_name
もしくは、
$ sed -i '/remote_host_name/d' ~/.ssh/known_hosts
これでOK。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/
java をインストール
$ sudo apt-get update && sudo apt-get install oracle-java8-jdk
BubbleUPnP Server をダウンロードするディレクトリを作る。
$ mkdir bubbleupnp
作ったディレクトリに移動。
$ cd bubbleupnp
BubbleUPnP Server をダウンロード。
$ sudo wget http://www.bubblesoftapps.com/bubbleupnpserver/BubbleUPnPServer-distrib.zip -O bubbleupnpserver.zip
解凍.。
$ unzip bubbleupnpserver.zip
"launch.sh" のアクセス権を変更
$ sudo chmod +x launch.sh
BubbleUPnP サーバーを起動。
$ sudo ./launch.sh > /dev/null 2>&1 &
ブラウザで動作チェック。
http://raspberrypi.local:58050/
起動時にBubbleUPnP Server がスタートするよう設定。nano を使って /etc/init.d/ に "BubbleUPnPServer" というファイルを作成し、以下のテキストをコピペしてセーブ。
$ sudo nano /etc/init.d/BubbleUPnPServer
---------------------------------------------------------------------------------------------
#!/bin/bash
### BEGIN INIT INFO
# Provides: BubbleServer
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: BubbleUPnP Server Background Service Management
# Description: Used to ensure BubbleUPnP starts/stops etc
### END INIT INFO
DAEMON_PATH="/home/pi/bubbleupnp"
DAEMON="java -Xss256k -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding="UTF-8" -jar BubbleUPnPServerLauncher.jar"
DAEMONOPTS=""
NAME=BubbleUPnPServer
DESC="Runs BubbleUPnPServer"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
case "$1" in
start)
printf "%-50s" "Starting $NAME..."
cd $DAEMON_PATH
PID=`$DAEMON $DAEMONOPTS > /dev/null 2>&1 & echo $!`
#echo "Saving PID" $PID " to " $PIDFILE
if [ -z $PID ]; then
printf "%sn" "Fail"
else
echo $PID > $PIDFILE
printf "%sn" "Ok"
fi
;;
status)
printf "%-50s" "Checking $NAME..."
if [ -f $PIDFILE ]; then
PID=`cat $PIDFILE`
if [ -z "`ps axf | grep ${PID} | grep -v grep`" ]; then
printf "%sn" "Process dead but pidfile exists"
else
echo "Running"
fi
else
printf "%sn" "Service not running"
fi
;;
stop)
printf "%-50s" "Stopping $NAME"
PID=`cat $PIDFILE`
cd $DAEMON_PATH
if [ -f $PIDFILE ]; then
kill -HUP $PID
printf "%sn" "Ok"
rm -f $PIDFILE
else
printf "%sn" "pidfile not found"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {status|start|stop|restart}"
exit 1
esac
---------------------------------------------------------------------------------------------
コピペしたら、
DAEMON_PATH="/var/www/bubbleupnp"
を
DAEMON_PATH="/home/pi/bubbleupnp" (解凍したディレクトリを指定)
に変更。
ctrl + x ----> y enter で終了。
"/etc/init.d/BubbleUPnPServer" のアクセス権を変更。
$ sudo chmod 755 /etc/init.d/BubbleUPnPServer
"rc.d" ディレクトリにシンボリックリンクを張る。
$ sudo update-rc.d BubbleUPnPServer defaults
iPad でシャットダウンするため固定IPアドレスを設定。以下を末尾に追加。
$ sudo nano /etc/dhcpcd.conf
---------------------------------------
interface eth0
static ip_address=192.168.x.x/24
static routers=192.168.x.x
static domain_name_servers=192.168.x.x
---------------------------------------------------
ctrl + x ----> y enter で終了。
再起動。
$ sudo reboot
ブラウザで動作を確認。
http://raspberrypi.local:58050/
(追記)
今はこんな状態(^^;)で運用していますがすこぶる快適です^^
SDカードへの書き込みが頻繁に起きるのでカードの寿命が心配なのですが、当面これで行こうかなと(笑)
ゆくゆくはこれかな。
http://www.physical-computing.jp/product/1335
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
(直接関係ないけど今回お世話になったコマンド)
不要なパッケージを削除
# sudo apt-get remove --purge {package名}
依存関係がなく不要と判断されたパッケージを削除
# sudo apt-get autoremove