Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/07/2009, à 16:54

cyril380

Pyserial

Je cherche a utiliser pyserial et pour cela j'ai installé pyserial comme indiqué dans la doc

Aprés avoir téléchargé le fichier puis extrait je me place dans le répertoire et j'exécute ceci:

sudo python setup.py install


Je teste un des exemple dans le repertoire example sans soucis mais si j'execute ce même fichier en le deplaçant hors de ce repertoire  j'obtient ceci:

cyril@zilo2:~/Bureau/test$ sudo ./test.py
Traceback (most recent call last):
  File "./test.py", line 3, in <module>
    import serial
  File "/home/cyril/Bureau/test/serial.py", line 6, in <module>
AttributeError: 'module' object has no attribute 'Serial'

Comment ceci s'explique t'il? C'est plutot bizarre comme comportement.

#2 Le 14/07/2009, à 21:56

doc212

Re : Pyserial

Salut,

J'suis pas un expert en la matière mais bon ... vais voir ce que j'peux faire pour t'aider ..

C'est quoi le fichier serial.py dans le répertoire test ?

Il se passe quoi si tu l'effaces (ou le renomme) ? Quel est le contenu des fichiers test.py et serial.py ?

Dans le fichier test.py, il y a un import serial à un moment, qui importe le module nommé serial. Soit ce module doit se trouver dans un des répertoires explorés automatiquement lors de import (du genre /usr/lib/pythonX.X/), soit il doit se trouver dans le répertoire courant.

Dans ton cas, je crois que le fichier test.py s'attend à importer le module serial qui a été installé avec pyserial, mais comme il s'avère qu'il y a un fichier serial.py dans le même répertoire, il importe le module serial à partir de ce fichier et du coup, c'est plus le même contenu ... Ce qui expliquerais que le module serial importé n'a pas d'attribut Serial ...

Hors ligne

#3 Le 14/07/2009, à 22:08

cyril380

Re : Pyserial

J'ai supprimé un repertoire serial.pyc et j'ai l'impression que ça fonctionne. C'est surprenant !  Je posterais un nouveau message si ça se reproduit.

Merci a toi doc212

#4 Le 17/07/2009, à 08:56

cyril380

Re : Pyserial

Je rencontre un problème avec mon programme pour commander mon interface avec python et pyserial. Je sais que mon montage fonctionne car j'arrive a lui envoyer des commandes et a en recevoir avec le terminal pour port serie gtkterm.

Par defaut DTR, RTS, CTS sont foncé sur l'interface, Qu'est ce que cela sigbifie? Comment puis je reproduire le fonctionnement par defaut de gtkterm en python?

Voici ici mon scripte actuelle qui semble nepas fonctionner:


#!/usr/bin/python
# -*- coding: iso-8859-1 -*-

import serial
import time

ser = serial.Serial('/dev/ttyS0', baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=None)


while 1:
    ser.open()
    ser.write("1")
    print '--->'
    time.sleep(1)
     
    #ser.drainOutput()
    #ser.setDTR(0)
    # ser.setRTS(0)
    #ser.sendBreak()
    #print ser.readline()

    ser.close

#5 Le 17/07/2009, à 09:29

cyril380

Re : Pyserial

e viens de trouver un morceau de code qui me permet de lire et qui fonctionne mais pas moyen d'envoyer des données:


Trouvé ici: http://www.python-forum.org/pythonforum/viewtopic.php?f=5&t=6768

#!/usr/bin/python
# -*- coding: iso-8859-1 -*-

import serial
ser = serial.Serial('/dev/ttyS0', 9600, bytesize=8, parity='N', stopbits=1, xonxoff=0, timeout=1)


print ser.portstr

while (1):
        line = ser.readline()
        if line != '':
                str = ''
                for i in range(0, len(line)):
                        str = '%s%s ' % (str, hex(ord(line[i])))
                print str
ser.close()

Quelqu'un sait t'il comment envoyer les données? Il semble que les donnée s que ce reçoit soit de cette forme 0x51, et t'il nécessaire d'utiliser ce format pour l'envoi?

#6 Le 06/10/2013, à 10:21

fanfantasy7

Re : Pyserial

cyril380 a écrit :

J'ai supprimé un repertoire serial.pyc et j'ai l'impression que ça fonctionne. C'est surprenant !  Je posterais un nouveau message si ça se reproduit.

Merci a toi doc212

même problème résolu en supprimant le fichier serial.pyc, peut etre que l'erreur était de nommer le fichier avec le nom du module


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne