50 lines
1.1 KiB
Python
50 lines
1.1 KiB
Python
import platform
|
|
|
|
import serial
|
|
import time
|
|
|
|
def invia_e_leggi_frase(porta_seriale):
|
|
try:
|
|
porta_seriale.write(b'Connection OK')
|
|
time.sleep(1)
|
|
received_data = porta_seriale.read(15)
|
|
if not received_data:
|
|
print("Nessun dato ricevuto")
|
|
else:
|
|
print(f'Frase ricevuta: {received_data.decode("utf-8")}')
|
|
|
|
except Exception as e:
|
|
print(f"Errore: {e}")
|
|
|
|
|
|
is_win = platform.system().lower() == "windows"
|
|
|
|
if is_win:
|
|
dev="COM5"
|
|
else:
|
|
dev = '/dev/ttyUSB0'
|
|
|
|
try:
|
|
ser = serial.Serial(dev, 9600, timeout=1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS)
|
|
if ser.is_open:
|
|
print(f'Connesso alla porta COM5')
|
|
|
|
try:
|
|
while True:
|
|
invia_e_leggi_frase(ser)
|
|
time.sleep(1)
|
|
|
|
except KeyboardInterrupt:
|
|
pass
|
|
|
|
finally:
|
|
ser.close()
|
|
|
|
else:
|
|
print(f'Impossibile aprire la porta COM5')
|
|
|
|
except OSError as e:
|
|
print(f"Errore nell'apertura della porta COM5: {e}")
|
|
except Exception as e:
|
|
print(f"Errore generico: {e}")
|