Dans le cadre de mon travail, j’effectue de temps en temps des conferences avec une presence sur un stand.
Ayant un ecran a dispistion, je me suis dis que j’allais construire une « ShowBox » qui me permettait de dérouler les presentations sans avoir un PC raccordé à l’ecran.
J’ai donc pour cela pris un raspberypi en y ajoutant un clef WIFI pour les access à distance.
Je suis partie d’une raspbian et ai ajouté 2 choses :
– les access a distance via le wifi
– la lecture automatique des videos
Hotspot Wifi
Pour cette partie, j’ai repris le travail du site Hardware Libre (voir source en bas d’article) sauf que dans mon cas, le point d’acces ne servira qu’a acceder au Raspberry.
sudo apt-get install hostapd iptables dnsmasq
tout comme eux je dispose d’un carte wifi ayant un chipset Realtek donc :
cd /tmp sudo wget http://fichiers.touslesdrivers.com/39144/RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip sudo unzip RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip cd RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911 cd wpa_supplicant_hostapd sudo tar -xvf wpa_supplicant_hostapd-0.8_rtw_r7475.20130812.tar.gz cd wpa_supplicant_hostapd-0.8_rtw_r7475.20130812 cd hostapd sudo make sudo make install sudo mv hostapd /usr/sbin/hostapd sudo chown root.root /usr/sbin/hostapd sudo chmod 755 /usr/sbin/hostapd
Puis pour remplir le fichier de configuration avec le contenu suivant
sudo vim /etc/hostapd/hostapd.conf ctrl_interface=/var/run/hostapd driver=rtl871xdrv ieee80211n=1 ctrl_interface_group=0 beacon_int=100 interface=wlan0 ssid=MON_SSID hw_mode=g channel=6 auth_algs=1 wmm_enabled=1 eap_reauth_period=360000000 macaddr_acl=0 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=MON_PASSWORD wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Histoire d’avoir le deamon qui demarre en meme temps que le systeme on effectue ces modifications :
sudo vim /etc/default/hostapd Remplacez la ligne #DAEMON_CONF= » » par DAEMON_CONF= »/etc/hostapd/hostapd.conf »
A partir de ce point il est possible de se connecter au reseau Wifi mais le Raspberry ne nous fourni pas d’adresse IP. Pour cela on utilise dnsmasq :
On modifie/ajoute les deux lignes suivantes :
sudo vim /etc/dnsmasq.conf interface=wlan0 dhcp-range=192.168.200.100,192.168.200.200,255.255.255.0,12h
Enfin, il ne nous reste plus qu’à configurer notre reseau.
sudo vim /etc/network/interfaces allow-hotplug wlan0 iface wlan0 inet static address 192.168.200.1 netmask 255.255.255.0 network 192.168.200.0 broadcast 192.168.200.255 up iptables-restore < /etc/iptables.ipv4.nat
puis on lance le tout
sudo service dnsmasq start sudo service hostapd start
Maintenant que le Wifi est configuré on va utiliser omxplayer pour lancer nos videos et un script pour les lire en boucle :
On installe omxplayer :
sudo apt-get install omxplayer
Puis on créer le dossier qui va accueillir nos videos :
mkdir -p /home/pi/videos/auto
On crée le dossier qui va accueillir le script :
mkdir -p /home/pi/script/
Puis on creer le script dedans :
vim /home/pi/script/loopvideo.sh #!/bin/sh # On efface le curseur de la souris de l'écran setterm -cursor off # On définit le chemin de stockage des vidéos VIDEOPATH="/home/pi/videos/auto" # On définit le service à utiliser, ici OMXPLAYER SERVICE="omxplayer" # On scanne en boucle le dossier while true; do if ps ax | grep -v grep | grep $SERVICE > /dev/null then # le script plante parfois si la pause n'est pas assez longue sleep 100; else for entry in $VIDEOPATH/* do clear omxplayer $entry > /dev/null done fi done
On met ajoute les permissions pour que le script soit executable :
chmod +x /home/pi/script/loopvideo.sh
Enfin, on créer le fichier de lancement au demarrage du raspberry :
vim /home/pi/.config/video.desktop [Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Exec=/home/pi/script/loopvideo.sh Terminal=false Name= Videos Autostart Comment=Démarrage automatique de la playlist de videos Categorie=Application;Development;
Merci aux deux sites qui ont déblayé le terrain, garce à eux cela a été très facile de mettre en place la solution.
Sources :