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 :

[pyserial.py] Débutant qui s'embourbe avec ce module


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 41
    Points : 25
    Points
    25
    Par défaut [pyserial.py] Débutant qui s'embourbe avec ce module
    Bonsoir à tous...
    Je débute en python apres une longue periode d'inactivité sur n'importe quel language qui soit...
    J'ai été bien formé en C, et... c'est tout lol
    Mais j'ai ecrit ce week end un petit programme en Python qui transforme 2 fichiers vers 1 seul (protocoles differents quand meme lol) et je m'en suis sorti grace aux 24 pages d'archive du forum...et j'en suis assez fier

    Pourtant, en me lancant dans mon second programme, je me retrouve bloqué presque au début:
    Je veux simplement envoyer quelques commandes à mon modem connecté à mon COM1... Je precise que c'est un vieux portable sur lequel je fais mes essais, la carte mere de mon PC de bureau ne possedant pas de PORT COM.
    Pour l'instant, mon modem repond gentiment à l'ATZ (le modem me joue sa musique), mais refuse de composer un numero de TEL (ATD...)...
    Le code.... quasi le meme que les exemples de la librairie pyserial.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import serial
    modem = serial.Serial(0)            #si je met le 1 ca ne marche pas du tout
    modem.writelines("ATZ\r\n")
    modem.writelines("ATD0120304050\r\n")
    modem.close()
    Déjà, j'ai bien mis 3/4 d'heure avant de mettre le "\r" ABSOLUMENT necessaire, sinon la commande n'etait pas prise en compte....
    Mais bon ca change rien à mon probleme, l'appel ATD ne part pas, et je ne sais pas comment resoudre ce probleme.... en gros:
    A L'AIDE
    Je ne vais pas en mourir, mais j'aimerais vraiment savoir pourquoi ca ne marche pas, culture perso

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Personne n'a une piste? Un indice?

  3. #3
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 129
    Points : 184
    Points
    184
    Par défaut
    Me rappelle les BBS tout ça, est-ce que tu ne dois pas rajouter la commande "T" pour Tone Dialing kekchose ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    modem.writelines("ATDT0120304050\r\n")
    "Un langage de programmation est sensé être une façon conventionnelle de donner des ordres à un ordinateur (...). Il n'est pas sensé être obscure, bizarre et plein de pièges subtils (ça, ce sont des attributs de la magie)." D.Small

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Arf c'est trop bete, j'y croyais mais malheureusement ca ne marche toujours pas...
    Des infos en plus pour faire avancer mon projet: toutes ces commandes ATZ, ATD, ATDT... fonctionnent nickel sur l'hyperterminal (diriger vers le port com), les chaines sont bien recues par le modem depuis mon programme... mais je comprends pas pourquoi rien ne part....
    En fait si, ca ne viendrait pas du fait que je close() le port trop rapidement apres l'envoi de la chaine ATD??? si oui comment faire pour tester ca?

    Edit: Le ATZ fonctionne sans \r\n, moi je sais plus quoi faire
    Edit: en fait non ca ne marche pas sans, le buffer d'envoi ne devait pas etre vide c'est tout lol, n'empeche je comprends plus rien

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par Levaillant
    Arf c'est trop bete, j'y croyais mais malheureusement ca ne marche toujours pas...
    Des infos en plus pour faire avancer mon projet: toutes ces commandes ATZ, ATD, ATDT... fonctionnent nickel sur l'hyperterminal (diriger vers le port com), les chaines sont bien recues par le modem depuis mon programme... mais je comprends pas pourquoi rien ne part....
    En fait si, ca ne viendrait pas du fait que je close() le port trop rapidement apres l'envoi de la chaine ATD??? si oui comment faire pour tester ca?

    Edit: Le ATZ fonctionne sans \r\n, moi je sais plus quoi faire
    Edit: en fait non ca ne marche pas sans, le buffer d'envoi ne devait pas etre vide c'est tout lol, n'empeche je comprends plus rien

    C'est bien ce que je pensais precedement, le close() arrive bien trop vite, du coup le modem n'a pas le temps de gerer le message, le buffer doit etre vidé, le port fermé, le modem annule les operations en cours, mais bon passer 3 jours sur ca c'est super lourd, c'est pas grave, c'est le metier qui re-rentre

  6. #6
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 129
    Points : 184
    Points
    184
    Par défaut
    mais bon passer 3 jours sur ca c'est super lourd
    Welcome back home!

    N'oublie pas le résolu
    "Un langage de programmation est sensé être une façon conventionnelle de donner des ordres à un ordinateur (...). Il n'est pas sensé être obscure, bizarre et plein de pièges subtils (ça, ce sont des attributs de la magie)." D.Small

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

Discussions similaires

  1. Débutant qui se bat avec 1 MLP (et qui gagne pas)
    Par gastoudou dans le forum Intelligence artificielle
    Réponses: 13
    Dernier message: 16/10/2008, 18h34
  2. Débutant qui galère avec un formulaire
    Par Bounty Killer dans le forum Struts 1
    Réponses: 4
    Dernier message: 30/05/2007, 08h16
  3. Gérer ce qui se lance avec linux
    Par Harry dans le forum Mandriva / Mageia
    Réponses: 7
    Dernier message: 26/07/2004, 16h05
  4. [Débutant] SWT: composant Texte avec \n
    Par bonnefr dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 18/05/2004, 11h44
  5. [débutant] choix de postgre avec php / migration
    Par bilbon.S dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 23/03/2004, 14h05

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