Petit projet de débutant, pourquoi ca ne fonctionne pas?

Vous venez de déballer votre Raspberry Pi et vous vous posez des questions ? C'est ici que ça se passe !

Modérateur : Francois

AlpaGont
Messages : 8
Enregistré le : mar. 14 mars 2017 15:20

Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?

Message par AlpaGont » ven. 17 mars 2017 17:35

merci pour les conseils.
Avec l'autostart j'ai su lancer mon programme.
Par contre, en suivant le petit tuto simple pour lancer une page chromium, je tombe sur un soucis

Voilà mon autostart:
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
@/home/pi/Desktop/crg-scoreboard_3.9.0-20160408192330/scoreboard-Linux.sh
@xset s off
@xset -dpms
@xset s noblank
@/usr/lib/chromium-browser/chromium-browser --start-fullscreen "http://google.com"

Chromium s'ouvre, mais avec l'adresse : %22http//google.com"
le problème est apparemment dans les guillemets. mais quand je les enlèves, ca ne lance pas d'adresse.
Du coup, j'ai configuré la page d'acceuil de chromium manuellement avec mon url "localhost:8000/views/scoreboard.html?ani=min" là, ca s'ouvre correctement

PAR CONTRE, mon programme (qui est en fait un genre de serveur de page web sous java) termine de se lancer après que la page s'affiche. du coup la page "localhost:8000/views/scoreboard.html?ani=min" n'existe pas encore.

Comment faire alors pour ouvrir crhomium après un petit temps, ou bien lui demander de faire un refresh de la page après 15 secondes par exemple?

destroyedlolo
Raspinaute
Messages : 1587
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?

Message par destroyedlolo » ven. 17 mars 2017 23:32

Houla, ca fait un moment que je n'ai pas joué avec ça.
J'essaierai un truc du genre

Code : Tout sélectionner

@sh -c 'sleep 5 && /usr/lib/chromium-browser/chromium-browser --start-fullscreen "http://google.com" '
sans garantie, hein, je n'ai pas de LXDE sous la main.

Mais ca reste un peu crade : si ton appli est bien foutue, elle devrait ouvrir le port applicatif une fois que tout est bien initialisé. Dans ce cas, le plus propre est d'attendre que ce soit le cas avant de lancer le navigateur. Voir par exemple la commande lsof.

ps: si tu bloque, relance moi lundi, j'ai fait un script de ce genre pour le taf, mais pas le temps de regarder ce W.E.
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

AlpaGont
Messages : 8
Enregistré le : mar. 14 mars 2017 15:20

Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?

Message par AlpaGont » lun. 20 mars 2017 20:30

destroyedlolo a écrit :ps: si tu bloque, relance moi lundi, j'ai fait un script de ce genre pour le taf, mais pas le temps de regarder ce W.E.
Testé. alors: quand je lance la commande dans le terminal, cela fonctionne, meme si il donne une erreur. Par contre, quand je la met en autostart, rien ne se passé.

Ca avance, ca avance ;)

destroyedlolo
Raspinaute
Messages : 1587
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?

Message par destroyedlolo » mar. 21 mars 2017 10:35

Voila le script dont je te parlais :

Code : Tout sélectionner

#!/bin/bash

trap 'STATUS=$?; echo; echo Erreur $STATUS ligne $LINENO : `sed -n "${LINENO}p" $0`; echo; exit $STATUS' ERR

# Configuration ---

if [ ${#} -ne 3 ]
then
	echo "Syntaxe : $0 PORT TIMEOUT"
	echo "Attent au moins <TIMEOUT> seconds l'apparition du port <PORT>"

	exit 10
fi

PORT=$1
TIMEOUT=$2
SLEEP=15

#
# C'est parti
#

WAITING=0

while [ ${WAITING} -lt ${TIMEOUT} ]
do
	if /usr/local/bin/lsof -i tcp:$PORT | grep LISTEN
	then
		echo "\nINFO : `date '+%Y/%m/%d %H:%M:%S'` Demarrage effectif"
		exit 0
	fi

	echo "${WAITING} : Demarrage en cours ..."
	WAITING=$(expr ${WAITING} + ${SLEEP})
	sleep ${SLEEP}

done

echo
echo "ERREUR : L'application n'a pas demarree dans le temps imparti"

exit 1
Bon, j'ai viré ce qui n'est pas important dans ton cas, c'est un peu verbeux pour rentrez dans les calvat de mon taf, mais du coup, c'est relativement simple a comprendre.

Le script attend jusqu'a TIMEOUT seconde pour l'arriver du port : s'il apparait, retour ok (0), si timeout retour ko (1).
Il ne te reste plus qu'a mettre sans dans un script qui lance ton navigateur si le port apparait dans les temps, et mettre ton script dans l'autostart d'LXDE.

A+
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

AlpaGont
Messages : 8
Enregistré le : mar. 14 mars 2017 15:20

Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?

Message par AlpaGont » mer. 5 avr. 2017 16:22

Merci pour tout ces conseils.

Pas vraiment résolus, mais le projet ne tiens pas la route. un rpi3 rame avec ce programme utilisé a pleine capacité. je vais essayer autrement

Topic peut être fermé ;)

Répondre

Retourner vers « Débutants »