Webradio
jeudi 20 juillet 2017 à 15:26Download a RPI image, in this case, I choose : pipaOS A lighweight, fast, Raspbian based distro for the Raspberry PI
Once the image unziped, copy to a fresh high performance micro SD card
sudo dd bs=4M if=./pipaos-tamarillo-4.7.img of=/dev/mmcblk0
in order to boost performances, I use a Samsung EVO+ for high performance for a very fast boot
ssh sysop@192.168.1.84 (password posys)
Connect to WIFI network
Rpi 3 rev B and Zero W have integrated wifi
Edit WIFI credentials
The file /etc/network/interfaces should NOT be modified, as it’s overwritten at start.
Edit the file
sudo nano /boot/network.ini
To add your credential:
# # interfaces - setup your networking devices here # auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug usb0 iface usb0 inet dhcp # pipaOS Will automatically try to connect # to wireless ESSID "pipaos" passphrase "pipa123pass" allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid YOUR_SSSID wpa-psk YOUR_WIFI_KEY
High quality sound
Rasberry Pi have 3.5mm stereo jack output but the quality is pure crap, wondering why they even bother populate a jack.
So lets connect a cheap UBS sound card and check what appends
dmesg
sould display something like
[ 106.865142] usb 1-1.2: new full-speed USB device number 5 using dwc_otg [ 107.006372] usb 1-1.2: New USB device found, idVendor=0d8c, idProduct=0102 [ 107.006387] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ 107.006395] usb 1-1.2: Product: USB Sound Device [ 107.042816] input: USB Sound Device as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.3/0003:0D8C:0102.0002/input/input1 [ 107.105630] hid-generic 0003:0D8C:0102.0002: input,hidraw0: USB HID v1.00 Device [USB Sound Device ] on usb-3f980000.usb-1.2/input3
and
lsusb
will output:
Bus 002 Device 009: ID 0d8c:0102 C-Media Electronics, Inc. CM106 Like Sound Device Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Create startup service : webradio
sudo apt-get install mplayer
mplayer `curl -w "%{url_effective}\n" -I -L -s -S http://direct.fipradio.fr/live/fip-midfi.mp3 -o /dev/null`
Webradio player script
create non returning script:
sudo nano /home/sysop/webradio.sh
while true do mplayer http://chai5she.cdn.dvmr.fr:80/fip-midfi.mp3 sleep 1 done
create init.d service: webradio
#!/bin/bash #webradio daemon # chkconfig: 345 20 80 # description: mwebradioapp daemon # processname:webradio DAEMON_PATH="/" DAEMON=/home/sysop/webradio.sh DAEMONOPTS="" NAME=myapp DESC="My daemon description" 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 "%s\n" "Fail" else echo $PID > $PIDFILE printf "%s\n" "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 "%s\n" "Process dead but pidfile exists" else echo "Running" fi else printf "%s\n" "Service not running" fi
Install startup service
update-rc.d webradio defaults
Start service manually
sudo service webradio start
Check startup time and performance
Startup time with RPI 3 B: Startup finished in 2.602s (kernel) + 4.386s (userspace) = 6.988s
Not bad at all for a full featured computer with wifi and usb audio