Je veux envoyer des données à un Arduino via pyserial en Python. Tout ce que je veux faire à l'Arduino est de lire les données de chaîne de longueur variable du port série, et de le réécrire pour que Python puisse le lire. Comme j'ai été incapable de le faire, le code ci-dessous n'a que Python qui envoie un caractère. Voici le code Python:Programme Echo entre Arduino et Python
import serial
import sys
import pywapi
import time
def main():
ser = serial.Serial(3, 9600, timeout=1)
print "Conn established"
print "Sending: %s" % "z".__repr__()
print ser.write('z'.encode("ascii"))
time.sleep(2)
print "Received: %s" % ser.read(10).__repr__()
ser.close()
Voici le code Arduino:
void setup(){
analogReference(DEFAULT);
Serial.begin(9600);
}
void loop(){
if(Serial.available() > 0)
Serial.println("x");
while(Serial.available() > 0){
Serial.print(Serial.read(), BYTE);
}
}
La sortie:
Conn established
Sending: 'z'
1
Received: ''
Je sais que le code de l'Arduino fonctionne parce qu'il fonctionne lorsque les données sont envoyées depuis le terminal Arduino. Cependant, le moment où j'essaye d'envoyer quelque chose de Python échoue. J'ai lutté avec ça toute la journée. Toute aide serait grandement appréciée.
que signifie "résultats étranges"? C'est peut-être un problème de poignée de main. –
Désolé, des résultats étranges signifient exactement ce que j'ai posté ici, c'est-à-dire rien. – JohnS
Quel est votre système d'exploitation? Windows ou * nix? – Earlz