Siehe auch das gleiche Beispiel für einen lokalen seriellen Port: PySerial minimales Beispiel: Vom seriellen Port empfangene Daten auf stdout kopieren
Dieses Beispiel verbindet sich mit dem RFC2217-Remote-Seriell-Port auf 10.1.2.3 Port 1234. Es sendet keine Daten an den seriellen Port, sondern kopiert nur die vom seriellen Port empfangenen Daten auf stdout.
pyserial_rfc2217_copy.py
#!/usr/bin/env python3
import serial
with serial.serial_for_url("rfc2217://10.1.2.3:1234", baudrate=115200) as ser:
try:
while True:
response = ser.read()
if response:
print(response.decode("iso-8859-1"), end="")
finally:
ser.close()pyserial_rfc2217_copy.py
#!/usr/bin/env python3
import serial
with serial.serial_for_url("rfc2217://10.1.2.3:1234", baudrate=115200) as ser:
try:
while True:
response = ser.read()
if response:
print(response.decode("iso-8859-1"), end="")
finally:
ser.close()Durch die Verwendung der iso-8859-1-Dekodierung stellen wir sicher, dass sogar binäre Bytes irgendwie dekodiert werden und keine Ausnahme verursachen.
Wenn dieser Beitrag dir geholfen hat, erwäge, mir einen Kaffee zu spendieren oder per PayPal zu spenden, um die Recherche und Veröffentlichung neuer Beiträge auf TechOverflow zu unterstützen