Bonjour,
Je débute en Python et on me demande aujourd'hui de créer un script me permettant de sniffer un port usb, un port RS232 et un port ethernet d'un raspberry vers un pc sous windows 10 (ou debian en VM)...
Et ... Je me perds dans tout ce qu'il est possible de faire..
J'ai trouvé un script pour le RS232 qui me parait répondre à ce que l'on attend mais erreur, et je ne sais pas trop quoi faire ...
Voici le script:
Cela me retourne les erreurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 #!/usr/bin/env python # -*- coding: utf-8 -*- # # Ce programme réalise un test sur un bouchon série # Relier ensemble : RD(2) et TD(3), DTR(4) et DSR(6), RTS(7) et CTS(8) # Si vous n'avez pas les droits pour écrire vers le port série faites un chmod 666 /dev/ttyS0 import serial def main(): print("TEST DE PySerial") print("----------------") print ser = serial.Serial('/dev/ttyUSB0', 19200, timeout=1) # ser = serial.Serial('/dev/ttyS0', 19200, timeout=1) ser.open() print ("Toutes les informations sur votre port série :") print("Port = %s" % ser.port) print("Baudrate = %s" % ser.baudrate) print("Bits = %s" % ser.bytesize) print("Parité = %s" % ser.parity) print("Bit de stop = %s" % ser.stopbits) print("Time out = %s" % ser.timeout) print("Xon/Xoff = %s" % ser.xonxoff) print("Rts/Cts = %s" % ser.rtscts) # print("Time out entre caractères = %s" % ser.interCharTimeout) chaine="BONJOUR LE MONDE et tous les autres de l'univers!!!" print("Envoi de la chaine : %s" % chaine) envoi=ser.write(chaine) # Envoi de la chaine de caracteres lecture=ser.readline() # Lecture du port jusqu'au \n (retour ligne) print("Lecture du port : %s" % lecture) if (chaine==lecture): print("OK : La chaîne envoyée est égale à la chaîne reçue") else: print("ERREUR : La chaîne envoyée n'est pas égale à la chaîne reçue") print("ETAT DU SIGNAL CTS : %s" % ser.getCTS()) print("ETAT DU SIGNAL DSR : %s" % ser.getDSR()) print("ETAT DU SIGNAL RI : %s" % ser.getRI()) print("ETAT DU SIGNAL DCD : %s" % ser.getCD()) ser.close() return 0 if __name__ == '__main__': main()
Pour la ligne 14 je pense que la fréquence est mauvaise mais pour la ligne 44, je ne sais pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Traceback (most recent call last): File "testpyserial.py", line 44, in <module> main() File "testpyserial.py", line 14, in main ser = serial.Serial('/dev/ttyUSB0', 19200, timeout=1) AttributeError: 'module' object has no attribute 'Serial'
Auriez vous une aide à m'apporter s'il vous plait, je vous avoue que je ne vois pas trop quoi faire...
En vous remerciant![]()
Partager