Bonsoir !
J'ai un petit soucis, je n'arrive pas a initialiser une communication PC<->Arduino avec un script Python (en utilisant la lib. pySerial).
Le but est d'envoyer à l'arduino le message 'START', lorsqu'il a reçu celui-ci renvoie 'START_INIT'.
Coté Arduino, en réduisant au nécessaire j'ai ceci :
void setup() {
Serial.begin(9600);
String line = "";
while (line != "START") {
line = readLine();
}
Serial.println("START_INIT");
}
void loop() {
}
String readLine() {
String message = "";
while (Serial.available()) {
delay(3);
if (Serial.available() > 0) {
char c = Serial.read();
message += c;
if (c == '\n') {
break;
}
}
}
delay(50);
return message;
}
J'ai le programme en envoyant le 'START' à l'aide de l'IDE Arduino et ça fonctionne. Aucun souci de ce coté là à priori.
Au niveau du script Python j'ai ceci :
#!/usr/bin/python
# -*- coding: utf-8 -*-
SERIAL_BAUDS = 9600
import serial
from serial.tools import list_ports
port = list_ports.comports()[-1][0]
print 'Begining serial connexion using port ' + port + '.'
ser = serial.Serial(port, SERIAL_BAUDS)
ser.write('START\n')
while True:
print '> ' + ser.readline()
ser.close()
Et là rien ne se passe sur la console : je suis toujours en attente du message d'init...
Une idée ?