Bonjour à vous. Suite aux posts précédents su ce forum. Je synthétise un peu ce que j’ai réalisé pour pouvoir écouter notre webradio associative en wifi depuis un PI2. L’idée est de proposer un dispositif facile d’utilisation qui se branche sur le son de la webradio au démarrage. Il n’y a pas d’écran. Le pi est relié et alimente deux enceintes 3W.
Une fois configuré le pi lance l’écoute de la webradio. Si l’écoute s’arrête il la relance automatiquement. La configuration wifi est réalisée lorsqu’on insère une clef usb avec le fichier « configuration_wifi_dispositif.txt » à la racine.
J’ai réalisé un programme en purebasic, un exécutable que je place à la racine de la clef usb. Depuis cve programme, sous Windows l’utilisateur renseigne dans un formulaire le nom de sa box et la clef le fichier « configuration_wifi_dispositif.txt » correspondant à sa box est alors enregistré sur la clef usb.
Rien n’est parfait. Par exemple les fichiers sonores .wav ne sont pas lus et le job cron ne fonctionne pas vraiment, je suis obligé de le faire à la main (crontab -e, puis insérer la ligne * * * * * /home/webradio/Documents/webradio/checkradio.sh)
Le script que j’utilise pour installer sur un nouveau pi2 :
#
# Installation dispositif sonore
# Radio Les Floralies
#
#
cd/
sudo mkdir /home/webradio/Documents/webradio/
sudo mkdir /media/usbout
cd /home/webradio/Documents/webradio/
sudo wget http://www.lesfloralies.info/raspberry/installation.txt
sudo wget http://www.lesfloralies.info/raspberry/configradio.sh
sudo chmod a+x configradio.sh
sudo wget http://www.lesfloralies.info/raspberry/scriptradio.sh
sudo chmod a+x scriptradio.sh
sudo wget http://www.lesfloralies.info/raspberry/checkradio.sh
sudo chmod a+x checkradio.sh
sudo wget http://www.lesfloralies.info/raspberry/lancement_dispositif_sonore.wav
sudo chmod a+rw lancement_dispositif_sonore.wav
sudo wget http://www.lesfloralies.info/raspberry/configuration_wifi_ok.wav
sudo chmod a+rw configuration_wifi_ok.wav
sudo apt-get -y install mpc mpd
sudo wget http://www.lesfloralies.info/raspberry/rc.local
sudo cp -f rc.local /etc/rc.local
cd /etc/udev/rules.d
sudo wget http://www.lesfloralies.info/raspberry/99_ajout_clefusb.rules
sudo mkdir /home/webradio/Documents/webradio/crontab/
cd /home/webradio/Documents/webradio/crontab/
sudo wget http://www.lesfloralies.info/raspberry/pi.crontab
sudo chmod a+rw pi.crontab
sudo crontab /home/webradio/Documents/webradio/crontab/pi.crontab
cd /home/webradio/Documents/webradio/
Le fichier checkradio.sh
#!/bin/bash
if pgrep -f « mpc play » > /dev/null
then
#is running
exit
else
#not running, restart them
nohup /home/webradio/Documents/webradio/scriptradio.sh >/dev/null 2>&1 &
fi
Le fichier configradio.sh
#!/bin/bash
if [ -e « /dev/sda1 » ]
then
sudo mount -t vfat /dev/sda1 /media/usbout -w
#copie du fichier de configuration wifi depuis la clef USB, le renomme et le place dans le dossier adéquat.
if [ -e « /media/usbout/configuration_wifi_dispositif.txt » ]
then
sudo cp -f /media/usbout/configuration_wifi_dispositif.txt /boot/wpa_supplicant.conf
sudo cp -f /media/usbout/configuration_wifi_dispositif.txt /etc/wpa_supplicant/wpa_supplicant.conf
sudo mv /media/usbout/configuration_wifi_dispositif.txt /media/usbout/configuration_wifi_dispositif_realisee.txt
sudo aplay /home/webradio/Documents/webradio/configuration_wifi_ok.wav
sleep 20
sudo reboot
sleep 60
fi
sudo umount /media/usbout
sleep 10
fi
Le fichier scriptradio.sh
#!/bin/bash
amixer cset numid=3 1
mpc add http://lesfloralies.ovh:8000/floralies.ogg
mpc play
Le rc.local
#!/bin/sh -e
#
# rc.local
#
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
cd /
cd home
cd webradio
cd Documents
cd webradio
./configradio.sh
./scriptradio.sh
sudo aplay /home/webradio/Documents/webradio/lancement_dispositif_sonore.wav
exit 0
Le fichier pi.crontab
# Crontab utilisateur
* * * * * /home/webradio/Documents/webradio/checkradio.sh
Le fichier 99_ajout_clefusb.rules
ACTION=="add", KERNEL=="sd*", RUN+="/home/webradio/Documents/webradio/configradio.sh"
Le fichier configuration_wifi_dispositif.txt
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=FR
network={
ssid=« NomBox »
psk=« Clef box »
key_mgmt=WPA-PSK
}