Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Verwendung der seriellen Schnittstelle in Python

Frage Entwicklung Python

Mitglied: mabue88

mabue88 (Level 2) - Jetzt verbinden

13.11.2013, aktualisiert 10:54 Uhr, 19881 Aufrufe, 1 Kommentar

Hallo,

ich habe ein Gerät mit serieller Schnittstelle, das mir in unregelmäßigen Abständen einen String über die Schnittstelle ausgibt.
Das Gerät habe ich über einen USB-RS232-Adapter (http://www.delock.de/produkte/F_657_Seriell_61308/merkmale.html) an einen Raspberry Pi angeschlossen.

Der Pi soll als "Server" ständig auf Daten an der seriellen Schnittstelle warten. Dafür habe ich ein kleines Python-Programm geschrieben. Allerdings empfängt das Programm nach einiger Zeit (ich sag jetzt einfach mal ein paar Stunden) nichts mehr.

Ich habe schon mehrere Möglichkeiten, um die Daten von der Schnittstelle zu holen, versucht.

Im folgenden poste ich die wesentlichen Bestandteile des Codes. Das Fehlerhandling lasse ich mal weg. Bei mir treten ohnehin keine Exceptions auf.

Versuch 1: Kein ReadTimeout, solange an "port.read()" warten bis Daten vorliegen
01.
import serial 
02.
 
03.
port = serial.Serial("/dev/ttyUSB0", 9600, timeout = None); 
04.
port.open(); 
05.
 
06.
while true: 
07.
    daten = port.readline(); 
08.
    print daten;
Versuch 2: ReadTimeout = 0.1 Sekunden, nach dem Timeout eine Sekunde warten, danach wieder "port.read()"
01.
import serial 
02.
import time 
03.
 
04.
port = serial.Serial("/dev/ttyUSB0", 9600, timeout = 0.1); 
05.
port.open(); 
06.
 
07.
while true: 
08.
    daten = port.readline(); 
09.
     
10.
    if len(daten) > 0: 
11.
        print daten; 
12.
 
13.
    time.sleep(1);
Wie gesagt, beide Versuche führen zum gleichen Ergebnis. Nach einer Zeit kommen an dem Programm keine Daten mehr an. Klar könnte es auch die Hardware sein. Aber wie kann ich das Überprüfen?

Danke
mabue
Mitglied: mabue88
20.11.2013 um 13:29 Uhr
Hallo,

ich habe den Fehler gefunden. Anscheinend entsprechen die von meinem Gerät verwendeten Pegel nicht ganz der RS232-Spec. Der USB-RS232-Adapter hat ab und zu Probleme die Pegel richtig zu erkennen. Jetzt habe ich einen anderen daran hängen. Mit dem funktioniert es wunderbar. Vermutlich werde ich das Gerät aber irgendwann umbauen, so dass die meisten USB-RS232-Adapter damit klar kommen.

Gruss
mabue
Bitte warten ..
Ähnliche Inhalte
Virtualisierung
gelöst Serielle Schnittstellen durchreichen, Erfahrungen (9)

Frage von Winuser zum Thema Virtualisierung ...

Netzwerke
gelöst Serielle Schnittstelle über W-LAN (26)

Frage von apranet zum Thema Netzwerke ...

Peripheriegeräte
gelöst Serielle Schnittstelle unter Windows Server 2016 (5)

Frage von merome zum Thema Peripheriegeräte ...

Linux
gelöst Schmaler Scrollbalken in Python-Anwendung (14)

Frage von indi955 zum Thema Linux ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(2)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (16)

Frage von kwame501 zum Thema Windows Server ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (12)

Frage von tukawi06 zum Thema Virtualisierung ...