Senden serielle Kommunikation vom Raspberry pi

Ich bin das senden von seriellen Daten aus einem Raspberry Pi, einem Arduino mit einem Python-Programm. Ich bin mit Python 2.7.3. Das Programm:

import serial

ser = serial.Serial('/dev/ttyACM0', 115200)

ser.write(b'\x4c\xff\x46')

Das problem ist, dass nichts scheint gesendet zu werden, indem Sie diese drei Zeilen, wenn Sie ausgeführt werden, ein Programm. Aber wenn ich Sie laufen Zeile für Zeile in eine Python-shell, Sie funktionieren.

Auch, wenn ich die Arduino Serial Monitor öffnen, das Programm arbeitet auch gut, ohne dass die Linien eine nach der anderen in die Schale.

BEARBEITET, UM HINZUFÜGEN:

Es scheint, dass es einige Verzögerung bei der übermittlung an das Arduino. Also bei mir läuft der code im interpretativen Modus, funktioniert es, aber wenn so ein Programm, gibt es nicht. Ich denke, dass, weil ich versucht, das gleiche Programm auf einer Windows-Maschine.

import serial

ser = serial.Serial('COM8', 115200)

ser.write(b'\x4c\x20\x46')

Wenn ich das Programm im interpretativen Modus, oder auch im debugging-Modus mit Haltepunkt auf der ser.- schreiben-Befehl, funktioniert es. Aber nicht, wenn als ein Programm ausgeführt.

BEARBEITET, UM HINZUFÜGEN MEHR:

Es stellt sich heraus, dass der Arduino hat eine auto-reset über die serielle Kommunikation, der muss deaktiviert werden:

http://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection#.UwP_wfldV8E

http://forum.arduino.cc/index.php/topic,28723.0.html

Benutzte ich einen 220 uF Kondensator zwischen RESET-pin und Masse. Das funktioniert.

Hart gebissen zu werden von einem bug! Es noch smarts.

Sind Sie unter dem gleichen Benutzer mit den gleichen Berechtigungen?
Ja, ich bin unter dem gleichen user auch in der gleichen shell. Wenn ich den line interpreter, es funktioniert. In derselben shell, wenn ich es als ein Programm, es funktioniert nicht, es sei denn, ich habe die Arduino Serial Monitor öffnen.
So mussten Sie zum hinzufügen von einem Kondensator zum senden von Daten erfolgreich von einem pi, einem arduino?

InformationsquelleAutor Daanii | 2014-02-18

Schreibe einen Kommentar