ECMD funktioniert nicht beim Senden eines ganzen Wortes

Begonnen von Grave, 21 Juli 2015, 21:34:43

Vorheriges Thema - Nächstes Thema

Grave

Hi,

ich möchte einen Befehl über USB von meinem Raspberry an einen Arduino senden. Dies funktioniert auch problemlos, solange ich nur eine Ziffer sende. Ich habe mein Arduino Sketch jetzt soweit abgeändert, dass er ein Wort empfangen kann:

Zitatif (Serial.available() >= 5) {
      for (int i = 0; i <= 4; i++) {
      incomingByte = Serial.read();
      }
incomingByte[5]='\0';
Serial.print(incomingByte);
    if (strcmp(incomingByte, "Bibdo")==0)
    {
      transmitCode(Bibliothek_Down);
      digitalWrite(ledPin, HIGH);
      delay(20);
    }

Wenn der Arduino am PC an der IDE hängt, kann ich per seriellem Monitor den Befehl senden und es funktioniert.
Meine classdef habe ich wie folgt angepasst:

Zitat
set down cmd {chr(66).chr(105).chr(98).chr(100).chr(111)}

Leider passiert nichts. Deswegen habe ich ein kleines python script geschrieben. Dort wird es noch seltsamer. Führe ich folgenden Code aus, passiert nichts:

Zitat
import serial
DEVICE = '/dev/ttyACM0'
BAUD = 9600
ser = serial.Serial(DEVICE, BAUD)
ser.write('Bibdo')

Füge ich vor "ser.write" ein "print('Bibup')" hinzu, um zu sehen, ob die Verbindung zum Arduino klappt, funktioniert alles und die Rollade fährt runter.

Kann mit einer erklären, wo mein Fehler liegt?

Gruß Christoph