IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Commande Server1% ?


Sujet :

Python

  1. #1
    Membre éprouvé Avatar de Nightmare Theater
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Juin 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 127
    Par défaut [Resolu] Commande Server1% ?
    Bonjour,

    Je dois en ce moment réaliser un projet pour ma fac en bossant sur un robot (le Scorpion d'ERSP si ça dit quelquechose à quelqu'un). Ce robot peut être programmé en C++ (VS .NET 2003) et en Python (Python 2.2).

    Il a été fourni avec quelques programmes d'exemples. Le premier est sensé permettre au robot de se déplacer (suivre la ligne d'un triangle imaginaire). Je sais que ce code marche car j'ai vu des mecs ayant eu leur master derniérement le faire marcher (malheureusement, ils ont fini leurs études et je ne peux pas les contacter).

    En gros, le robot est connecté via USB à un ordi portable (qui est partie intégrante dudit robot) commandé à distance par un autre ordinateur.

    Un tuto est fourni avec, expliquant comment faire marcher les programmes d'exemples. Voici ce qu'il dit :

    The robot needs a clear space roughly 4 feet in diameter for this exercise. To execute
    the program, invoke the Python interpreter with triangles.py as an argument. From the command line,
    this is done by typing something similar to the following:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    server1% python triangles.py
    The robot begins moving, speaking, and printing messages to the console about its progres
    Déjà, je ne sais pas de quelle invite de commande il s'agit. Celle de windows ou celle de python? Dans les deux cas, il m'envoi paître. J'ai copié / collé "python.exe" dans le répertoire où se trouve "triangles.py" mais ca n'a pas aidé : il ne comprends pas ce "server1%". Quand je me contente d'écrire "python triangles.py" le programme s'execute mais le robot ne bouge pas (ce qui semble logique étant donné que le programme s'execute sur le PC et non sur le robot...).

    Bref, je suis un peu aux fraises, je sais pas trop d'où le probléme viens, j'espére juste avoir été assez clair pour que quelqu'un me donne une pite a suivre concernant ce probléme.

    Merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Bonjour,


    À mon avis, il ne faut pas déplacer uniquement "python.exe" dans un répertoire, ça ne suffit pas parce qu’une fois Python lancé en console, il aura de toutes façons besoin des ressources qui sont restées dans le répertoire initial.

    Il faut spécifier des choses au niveau des PATH qui doivent être suivis. Mais comme je ne maîtrise pas ce sujet, j’espère que quelqu’un pourra te renseigner mieux que moi.



    Cependant tu pourrais nous dire tout de suite de quoi il s’agit sous le nom "server1%".

    Est-ce le nom d’un répertoire ou d’un fichier dans l’ordinateur ?

    S’agit-il de la forme du PROMPT ?
    Car si tu parles de python.exe, c’est la console Python qui est lancée par ce fichier, et dans la console il y a les chevrons >>> du prompt.

    Est-ce que "server1%" aurait à voir avec la liaison entre les deux ordinateurs?

    D’ailleurs comment se fait cette liaison du portable avec l’ordinateur maître ? Par cable ou par ondes ?

  3. #3
    Membre éprouvé Avatar de Nightmare Theater
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Juin 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 127
    Par défaut
    La liaison entre les deux ordinateur se fait par onde (wifi). Ensuite, c'est un bureau virtuel qui me donne accés a tout ce qui est sur l'autre ordinateur (exactement la même interface que si j'utilisais l'ordinateur).

    Pour ce server1%, je n'ai ai vraiment aucune idée. Le tutorial ne précise rien de plus. Il n'a a priori rien a voir avec la liaison entre les deux ordianteurs (cette lisions est d'ailleurs facultative. Je pourrais travailler directement sur l'ordinateur relié par USB au robot, mais comme je ne suis ni contorsionniste, ni liliputien et que le robot est amené à bouger, il est plus confortable de contrôler cet ordinateur a distance).

    Ce serveur1% serait a priori lié a la communication entre l'ordinateur et le robot (Je vais essayer de rendre ça plus compréhensible... Disons qu'il y a deux ordinateur (ordi1 et ordi2) et un robot (nommé robot). ordi2 est placé sur le robot et relié a lui via USB. Comme le robot est petit et amené à se déplacer, on configure ordi1 et ordi2 de manière à ce qu'ordi1 puisse avoir le controle total sur ordi2 (en simplifiant à l'extrême, on pourrait dire qu'ordi 1 est juste un écran, un clavier, une souris et une carte wifi). ordi1 et ordi2 sont dans la même pièce. Tous les programmes, python, les bibliothéques... etc sont sur ordi2 .

    Lorsque j'interpréte des programmes utilisant les bibliothéques du robot mais sensé être executés sur ordi2 (programmes jouant des sons, utilisant la webcam), ceux-ci fonctiennent (la commande "python nomduprog.py" suffit). Par contre, lorsque j'interprète les programmes sensé utiliser les composants du robot (moteurs, capteurs... etc), le tutorial me dit d'utiliser la commande "server1% python nomduprog.py". D'une, ça marche pas, et de deux, il n'explique pas ce qu'est ce "server1%".

    C'est la réponse à cette derniére question que j'espérai trouver ici...

    En tout cas, merci pour ta réponse

  4. #4
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Salut,
    Je pense qu'il s'agit d'un genre de tunnélisation. Sur ton ordi1 tu dois lancer un client qui crée un tunnel vers ordi2 (avec ssh par exemple). A partir de ton client ssh, tu lances ta commandes python.
    Regarde quels services réseaux tournent sur ordi2 (avec nmap ou netstat en local, par exemple) et essai de te connecter aux services ouverts, voir ce qu'ils retournent.
    C'est plus un soucis de réseau que de python...

  5. #5
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Pour la partie :
    python triangles.py
    c'est dans la console système que ça se passe, python fait référence à l'exe, et sera cherché par le système dans la variable d'environnement PATH. Par défaut, lors de l'installation python, le programme d'installation n'effectue pas les ajouts nécessaires à cette variable, il faut le faire manuellement.

    Pour ce faire : clique-Droit sur 'Poste de travail' > Propriétés > Onglet 'Avancé' > 'Variables d'environnement' > partie 'Variables système', trouver la variable 'Path' ou 'PATH' > Modifier > se positionner à la fin de la chaîne > ajouter un ";" sans les guillemets et rajouter le chemin vers le répertoire d'installation de python > Et enfin, valider toutes les fenêtres.
    Si une console cmd était déja lancée, il faut la fermer et en rouvrir une nouvelle (les modifications effectuées n'ont pas d'influence sur les consoles déjà ouvertes)

    Et la partie triangle.py indique le fichier, donc pour executer la commande citée, il faut ouvrir une console système (cmd), naviguer depuis cette dernière jusqu'au repertoire où se trouve le fichier triangle.py et taper la dite commande.

    Pour la partie server1%, il faudrait avant-tout savoir si le script que tu veux faire tourner se trouve sur l'ordi connecté physiquement au robot, ou sur l'ordi 'interface'. Si le script se trouve sur l'ordi interface, essayes de voir si tu peux pas transférer le fichier vers l'ordi connecté physiquement au robot.

  6. #6
    Membre éprouvé Avatar de Nightmare Theater
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Juin 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 127
    Par défaut
    Je pense pas que le probléme vienne du réseau. J'ai tenté de lancer directement le programme depuis ordi2 (sans passer par le contrôle à distance) et le résultat est le même... Il connait pas server1% et je trouve pas le moyen de bouger ce robot :/ .

    EDIT :

    Citation Envoyé par N.tox Voir le message
    Pour la partie :

    python triangles.py

    c'est dans la console système que ça se passe, python fait référence à l'exe, et sera cherché par le système dans la variable d'environnement PATH. Par défaut, lors de l'installation python, le programme d'installation n'effectue pas les ajouts nécessaires à cette variable, il faut le faire manuellement.
    Oui, j'avais suivi jusque là. Et quand je fais ça, le programme est interprété et toute la partie exécutée par l'ordinateur (affichage des 'prints' dans l'invite de commance... etc) fonctionne. Seul la partie robot reste immobile.

    Pour ce qui est du Path, ca peut être une idée. Je vais essayer ça demain, quand j'aurais a nouveau accès au lab de robotique.

    Merci beaucoup

  7. #7
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Si le fait de taper "python [LeScript]" dans la console système lance le prog, pas besoin de trifouiller PATH : c'est déjà fait. Et puis mes indications ne sont valables que sur windows.

    si le script se trouve sur ordi2, t'as essayé de lancer le dit script sans server1% ?
    Sinon, server1% peut faire référence à l'interface de communication entre ordi2 et les modules motorisés du robot (j'ai supposé que c'est ordi2 qui possède les enceintes, et que la webcam est connectée à ce dernier). Ici s'arrêtent mes théories.

  8. #8
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Je viens de trouver ça. Ca vient de leur wiki. T'arrives à le faire bouger avec les commandes systèmes du Quick start ?

  9. #9
    Membre éprouvé Avatar de Nightmare Theater
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Juin 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 127
    Par défaut
    Citation Envoyé par N.tox Voir le message
    si le script se trouve sur ordi2, t'as essayé de lancer le dit script sans server1% ?
    Oui oui, c'est ce que j'expliquait dans mon poste précédent. Ca interprète, mais le robot bouge pas.

    Citation Envoyé par N.tox Voir le message
    Sinon, server1% peut faire référence à l'interface de communication entre ordi2 et les modules motorisés du robot (j'ai supposé que c'est ordi2 qui possède les enceintes, et que la webcam est connectée à ce dernier). Ici s'arrêtent mes théories.
    Je t'avouerais que ma théorie est strictement la tienne. Mais ca fait pas trop avancer le schmilblik non plus '^^.


    Citation Envoyé par dahtah Voir le message
    Je viens de trouver ça. Ca vient de leur wiki. T'arrives à le faire bouger avec les commandes systèmes du Quick start ?
    A priori c'est pas le bon constructeur. Je dois bosser sur le Scorpion d'ERSP, et j'ai pas de bibliothéque playerc. J'ai déjà essayé de contacter le constructeur (pour un autre probléme lié au C++) et ils m'ont dit que le produit était vieux et plus suivi. Si je trouvais pas mes réponses dans els tutos, ben tant pis pour moi -_________-.

    Enfin voilà, merci pour tout, je vous tiens au courant aprés mes tests de demain

  10. #10
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Juste une idée:

    Le "%1" me fait penser au passage de paramètre dans l'appel d'un fichier de commande ".bat" (console dos). Peut-être manque-t-il un espace? Ce serait alors "server %1 ..." à mettre dans un fichier bat avec le %1 à remplacer par un paramètre à l'appel.

    Peux-tu voir s'il y a un exécutable qui s'appelle "server.exe" ou "server.bat"?

    Tyrtamos

  11. #11
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Une idée m'a traversé l'esprit... le tutoriel comporte peut-être une faute de frappe : soit % n'a rien à faire ici, ou bien ce ne serait pas Server1% mais Server1 % [...].

    Si cela ne marche pas, j'ai deux proposition très 'hasardeuses'...
    • mettre dans un fichier log tous les noms(chemins compris) des exe contenus dans LES variables path (utilisateur et système). et tester au petit bonheur la chance les programmes susceptible d'avoir un rapport...
    • télécharger un module python permettant de communiquer avec l'USB, et écrire toi-même l'interface de communication...


    Sur ce, je te souhaite bonne chance/courage... ***part en sifflant***

    EDIT: ***grilled ***

  12. #12
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Du coup tu passerai l'[IP:port] du serveur au script. Plus qu'à trouver le script...

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 105
    Par défaut
    Bonjour,

    Pour ma part, je lirais "ce fameux server1%" comme un prompt.
    J'imagine assez que dans ton exemple, ordi2 correspond dans le tuto à server1.
    Le serveur (server1) sur lequel il faut se connecter pour exécuter des commandes.

    Aussi, je crois que ton problème vient plus de la liaison USB entre l'ordinateur embarqué sur ton robot (ordi2 ou server1) et ton robot scorpion.
    Il se pourrait que la référence au port USB soit fausse dans ton script triangle.py et correcte dans les autres scripts que tu as testés.

    En espérant t'avoir donné une autre piste pour résoudre ton problème.

    Salutations.

  14. #14
    Membre éprouvé Avatar de Nightmare Theater
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Juin 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 127
    Par défaut
    L'heure du constat est arrive. Apres avoir triture le probleme en long, en large et en travers, il est resolu (desole au passage pour l'abscence d'accents)

    Citation Envoyé par N.tox Voir le message
    Pour ce faire : clique-Droit sur 'Poste de travail' > Propriétés > Onglet 'Avancé' > 'Variables d'environnement' > partie 'Variables système', trouver la variable 'Path' ou 'PATH' > Modifier > se positionner à la fin de la chaîne > ajouter un ";" sans les guillemets et rajouter le chemin vers le répertoire d'installation de python > Et enfin, valider toutes les fenêtres.
    Si une console cmd était déja lancée, il faut la fermer et en rouvrir une nouvelle (les modifications effectuées n'ont pas d'influence sur les consoles déjà ouvertes)
    Ca n'a pas resolu le probleme mais ca m'aide grandement. Je connaissais pas ce coin de windows, merci beaucoup de me l'avoir montre ^^

    Citation Envoyé par aepli Voir le message
    Bonjour,

    Pour ma part, je lirais "ce fameux server1%" comme un prompt.
    J'imagine assez que dans ton exemple, ordi2 correspond dans le tuto à server1.
    Le serveur (server1) sur lequel il faut se connecter pour exécuter des commandes.

    Aussi, je crois que ton problème vient plus de la liaison USB entre l'ordinateur embarqué sur ton robot (ordi2 ou server1) et ton robot scorpion.
    Il se pourrait que la référence au port USB soit fausse dans ton script triangle.py et correcte dans les autres scripts que tu as testés.

    En espérant t'avoir donné une autre piste pour résoudre ton problème.

    Salutations.
    And the winner is... Aeply

    Effectivement, le server1% etait bien une commande a distance pour le robot. Travaillant directement sur l'ordi auquel est connecte le robot, cette commande est inutile et n'etait pas la source du probleme. Le probleme etait bien un probleme Hardware. Pas les ports USB mais, tout simplement, la batterie HS -_______- . N'etant pas alimente, une partie des librairies embarquees dans sa rom n'etaient pas dispo, d'ou les problemes lors de l'interpretation des programmes.

    En lancant les programmes de mouvement alors aue le robot etait relie au secteur, tout s'est resolu "par magie".

    Merci a tous pour votre aide. Et desole pour le derangement avec ce "faux probleme"

  15. #15
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 105
    Par défaut
    Hello,

    A part le fait que tu as mal orthographié mon nom (aepli et non aeply), je suis contant d'avoir pu orienté tes recherches de solutions.
    Bien que mon hypothèse ne soit pas exactement la source de ton soucis.

    Salutations.

    PS: Bon Noël et bonnes fêtes!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Interception des commandes in et out
    Par KDD dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 18/12/2002, 17h55
  2. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 11h48
  3. [Kylix] Commandes linux ss kylix
    Par csnickos dans le forum EDI
    Réponses: 3
    Dernier message: 15/09/2002, 21h24
  4. Réponses: 3
    Dernier message: 02/09/2002, 19h49
  5. Réponses: 2
    Dernier message: 11/08/2002, 22h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo