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

Bibliothèques tierces Python Discussion :

raspberry, python et com serie


Sujet :

Bibliothèques tierces Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Points : 5
    Points
    5
    Par défaut raspberry, python et com serie
    Bonjour, je suis en train d'écrire un programme en python pour interfacer un Raspberry et un module GSM Siemens.
    Je suis confronter au problème suivant, pour envoyer un SMS via les commande AT je dois envoyer sur le port série vers le module GSM:
    "AT+CMGS=" + "\"" + "numéro GSM" +"\""+"\r"+"\n" /r retour chariot /n new line

    ensuite j'ai le retour du module GSM ('>' qui m'invite à taper le SMS à envoyer
    je met le message, mais le problème c'est que je dois finir avec un EOF (26 en ascii)

    autant le retour chariot, et le new line c'est ok, autant le EOF....?
    Comment faire?

    voici mon code:

    import serial

    ser = serial.Serial("/dev/ttyAMA0", baudrate=9600, bytesize=8, parity='N', stopbits=1,timeout=1, xonxoff=0, rtscts=0) # open first serial port
    ser.write("AT+CMGS=" + "\"" + "0000" +"\""+"\r"+"\n")
    ser.write("test"+'\0' )
    time.sleep(2)
    print "fin"
    ser.close()

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    EOF n'est pas un caractère

    Pour simuler EOF

    Sous Windows -> CTRL-Z
    Sous Unix -> CTRL-D

    Source
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    merci fred, je sais comment le faire sous windows, ma question est comment faire en python.....

  4. #4
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    mais ça ne fonctionnera pas, ce n'est pas un caractère!

    Du côté du module signal vous trouverez sans doute de quoi faire, voici un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >>> import sys
    >>> import signal
    >>> 
    >>> def handler(signum, frame):
    ...     sys.exit(-1)
    ... 
    >>> signal.signal(signal.SIGTSTP, handler)
    <function handler at 0xb72d63d4>
    >>> while True:
    ...     pass
    ... 
     
    ^Zfred1599@fred:~$
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    je met le message, mais le problème c'est que je dois finir avec un EOF (26 en ascii)
    C'est la documentation de ton module GSM qui te demande d'envoyer EOF et qui te donne cette valeur précise ?

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut
    Bonjour,

    un exemple trouvé dans la doc du module sms:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'AT+CMGS="14161234567"\r\nThis is a message\x1a'
    \x1a correspond bien au ctrl+z et indique la fin du message.

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Tout est dit

    Je trouvais bizarre que ce caractère soit SUBtistute puis j'ai lu ceci : http://en.wikipedia.org/wiki/Control-Z

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    ok ca marche, merci fred et les autres

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

Discussions similaires

  1. Wait sur COM serie
    Par sybe30 dans le forum Windows
    Réponses: 1
    Dernier message: 13/05/2011, 17h12
  2. port COM (serie)
    Par tabbas dans le forum Windows
    Réponses: 1
    Dernier message: 03/05/2007, 09h29
  3. Help ouverture d'un Com serie sous Win98!
    Par alen dans le forum MFC
    Réponses: 7
    Dernier message: 18/12/2006, 16h07
  4. python et interface serie, usb
    Par altair8080 dans le forum Bibliothèques tierces
    Réponses: 1
    Dernier message: 23/11/2006, 22h34
  5. [debutant] : détecter la fin d'une com serie
    Par zoubla dans le forum MFC
    Réponses: 6
    Dernier message: 31/10/2006, 14h04

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