39 lines
1.1 KiB
Python
Executable File
39 lines
1.1 KiB
Python
Executable File
#!python
|
|
import serial
|
|
import serial.tools.list_ports
|
|
|
|
def list_serial_ports():
|
|
ports = serial.tools.list_ports.comports()
|
|
for port in ports:
|
|
print(port.device)
|
|
|
|
def read_from_serial_port(port_name, baud_rate=9600):
|
|
try:
|
|
# Ouvrir le port série
|
|
ser = serial.Serial(port_name, baud_rate, timeout=1)
|
|
print(f"Lecture du port série {port_name}...")
|
|
|
|
while True:
|
|
# Lire une ligne du port série
|
|
line = ser.readline()
|
|
if line:
|
|
hex_line = ' '.join(f'{byte:02x}' for byte in line)
|
|
print(f"Reçu (hexa): {hex_line}")
|
|
|
|
except serial.SerialException as e:
|
|
print(f"Erreur: {e}")
|
|
finally:
|
|
if 'ser' in locals():
|
|
ser.close()
|
|
print("Port série fermé.")
|
|
|
|
if __name__ == "__main__":
|
|
# Lister les ports série disponibles
|
|
print("Ports série disponibles:")
|
|
list_serial_ports()
|
|
|
|
# Remplacer 'COM3' par le nom de votre port série
|
|
port_name = input("Entrez le nom du port série à lire (par exemple, COM3 ou /dev/ttyUSB0): ")
|
|
read_from_serial_port(port_name)
|
|
|