Kommunikationsproblem Arduino Nano mit Linux-PC

Hallo,

ich habe 3 Arduino Nanos, die an einem PC mit Debian Jessie über USB angebunden sind. In den Sketchen verwende ich die Library “SerialCommand” ((https://github.com/kroimon/Arduino-SerialCommand). PC-seitig erfolgt die Kommunikation über Python 2.7.

Mein Problem: Wenn ich das Python Skript zum ersten Mal starte, reagieren die Arduinos überhaupt nicht. Wenn ich das Skript mit + abbreche und neu starte, kann ich die Arduinos ansprechen. Allerdings muss ich den Vorgang ggf. mehrmals wiederholen, bevor das funktioniert.

Wenn ich die Arduino IDE starte und die Arduinos über den Serial Monitor anspreche, reagieren sie zuverlässig und führen alle Befehle aus.

Weiß jemand einen Rat?

Gruß Jürgen

neubi:
Weiß jemand einen Rat?

Verfolge mal die Logdateien unter /var/log. Eine der vielen. In syslog oder messages solltest Du sehen können, ob das Stöpseln des Arduinos einen Eintrag erzeugt. Probiere mal, eine serielle Kommunikation zw. Arduinos und Python zustande zu bringen. Python kenne ich nicht ansatzweise.

Gruß

Gregor

Hallo Gregor,

vielen Dank für Dein Feedback. Mittlerweile habe ich eine Lösung gefunden.

Das Problem wird hier beschrieben:

Mit dem nachfolgenden Beispielcode funktioniert die Kommunikation bei mir reibungslos.

Ich habe DTR auf Null gesetzt und warte nach dem Öffnen mindestens 2 Sekunden, bevor ich den ersten Befehl an den Arduino absetze.

import serial
import time

ser = serial.Serial()
ser.baudrate = 115200
ser.port = '/dev/ttyACM1'
# DTR auf Null setzen, sonst reagiert der Arduino nicht.
ser.dtr = 0 
ser.open()
# 2 Sekunden warten...
time.sleep(2)
# Ab jetzt Kommunikation mit Arduino aufnehmen

Gruß Jürgen