Open Canevame opened 8 years ago
tu as essayé avec les scenarii ? avec commande serveur "python tonfichier.py"
merci pour ta reponse, non ca je n ai pas essayé, j ai utilisé le plugin modele pour y inclure des commandes php exec et autres ce n est pas concluant, surtout que je suis une brele en php :) Je n ai jamais utilisé les scenar ca fonctionne comment? je cree un scenar qui execute directement python ?
en tout cas creer une nouvelle commande vocale de marche pas avec server_command et gpio non plus, mais bizzarement une commande vocale server command avec "gpio -g write 25 1" fonctionne bien comme si je la tapais dans un shell.
Ca ne marche pas non plus avec les scenar, aucune commande python ou meme un simple ls ne marche, que ca soit avec sudo ou pas ni sudo -u www-data enfin rien ! J' utilse x2go pour me connecter sur le rpi et je me demande si le fait que je sois sur le DISPLAY 51:0 au lieu de 0:0 si j etais directement sur le RPI y fait quelque chose ?
ERREUR: Impossible de parser la réponse: Error reading JObject from JsonReader. Path '', line 1, position 1.
Ton problème peux venir de pas mal de choses, perso je pencherais sur les permissions, toutes commande que tu fera depuis yana s'executera avec l'utilisateur de ton serveur http (donc www-data), il est possible que cleui ci n'ai pas les droits pour executer ta commande (verifie au cas ou).
Le plus simple est effectivement d'utiliser le plugin commande vocale ou le plugin scénario ce qui t'évite le moindre développement.
Concernant ton message d'esseur peux tu me donner la manip exacte que tu fait (commande tapée, plugin utilisé etc..) que je vois de quoi il s'agit ?
je me doutais un peu que ca s' execute sur www-data, je suppose que ca vient aussi des permissions ou alors faut-il indiquer le chemin complet de la commande python(usr/bin) et du script que je veux lancer? pour l' instant je l ai copié dans le rep plugins/modele de yana. Au niveau permissions j ai rajouté avec sudo visudo à la fin du texte existant:
pi ALL=(ALL) NOPASSWD:ALL www-data ALL=(ALL) NOPASSWD:ALL
J'ai fait une simple scenario cause phrase genre: test python effet: commande serveur: sudo -u www-data DISPLAY=:50.0 python testQT.py
je viens de remarquer que ca ne marche pas avec sudo -u www-data en ligne de commande directe j ai le message: no protocol specified, testQT.py: cannot connect to X server :50.0
J' ai essayé avec DISPLAY car je me connecte sur le rpi avec x2go et la commande echo $DISPLAY me renvoie :50.0 en ligne de commande un sudo -u www-data sans DISPLAY me renvoie la meme erreur.
Apparement, meme en ligne de commande, je ne peux pas me connecter sur le serveur d affichage avec www-data, alors que si je fais avec sudo -u pi ca fonctionne, meme sans rajouter DISPLAY=:50.0
Dans la commande serveur scenario sur yana j ai essayé plusieurs combinaisons avec sudo -u pi, sudo -u www-data, sans mettre sudo, avec DISPLAY ou pas etc mais rien ne fonctionne, meme une simple commande ls -l ne fait rien. J' avoue que je suis perdu :)
encore une chose: mon programme python affiche un widget QT4 ca joue? sinon j essaye de lancer un sudo -u www-data lxterminal, tjs en ligne de commande ca ne marche pas non plus mais un bete script qui fait un print "hello world" ca fonctionne... tjs en ligne de commande bien sur, avec yana ca ne fonctionne pas
Personellement, j'ai créé un dossier pg dans yana-server dans lequel j'ai mis les radioEmission qui sont en c. Droit sur les dossiers comme d'hab et propriètaire/groupe www.data pour le dossier et son contenu et tout est ok. Commande lancée avec sudo.
j'ai fait aussi un repertoire pg avec les droits pour www-data et copié dedans le contenu du repertoire plugins/radiorelay de yana pour avoir les radioemissions, Si j ouvre un shell sous www-data et que je lance python monprog.py ca fonctionne mais ca ne marche tjs pas avec yana ... dans l historique de client Yana il reconnait bien la commande vocale mais ensuite erreur: impossible de parser la reponse: error reading jobject from jsonreader. path ",line 1,position 1
Bonjour,
C est surement une question bete mais comment faire executer un script python par yana sur le serveur?