Bonjour,
Je bloque depuis un moment sur un problème de communication sur le port série en USB entre mon arduino et le RPI3.
Je suppose que c'est un problème de débutant (que je suis) mais je n'arrive pas à comprendre malgré mes recherches.
Mon contexte est le suivant :
J'ai réalisé un petit montage avec une sonde de distance à ultra-son HC-SR04.
Le sketch coté Arduino récupère cette donnée et après conversion en centimètre l'envois sur le port série.
Je vous passe les détails mais en gros c'est :
void setup() {
blablabla ...
// Initialise port serie
Serial.begin( 1200 );
Serial.println( "Setup done" );
}
void loop() {
blablabla ...
// Calcul la distance d = t*v/2 (t en us ) et envois sur port serie
distance = mesure * vitesse_son / 20000 ; // conversion pour avoir des cm
int arrondi = int( distance );
Serial.print( "Distance=" );
Serial.println( arrondi, DEC );
delay( 1000 );
}
Coté Raspberry j'ai écris un script python tout bête :
#!/usr/bin/python
-- coding: utf-8 --
import sys
import time
import serial
print( "Debut" )
ser = serial.Serial( "/dev/ttyACM2", 1200, timeout = 1 )
time.sleep( 4 )
while True:
print( ser.readline() )
time.sleep(1)
Quand l'Arduino est connecté à mon PC et que je reçois les données sur le moniteur série de l'IDE tout s'affiche correctement.
Par contre quand je suis connecté sur le port USB du Raspberry j'ai toujours les soucis suivants :
-
Toutes les chaines de caractère que je reçois s'affichent avec un b devant. Par exemple :
b'Distance=360\r\n'
b'Distance=360\r\n'
b'Distance=362\r\n'
Que signifie ce b et pourquoi je ne l'ai pas sur le moniteur de l'IDE arduino ? -
Le problème le plus important est celui là : Les données s'affichent un certain nombre de fois mais au bout d'un moment je ne reçois plus que des chaines vides :
b''
b''
b''
b''
Cela se produit toujours entre 30 secondes et une minute. Donc environ 30 à 60 mesures. -
Et derniere question : parfois le RPI ne reçois pas la chaine complète. Par exemple :
b'istance=360\r\n'
Il manque le "D" de Distance.
D'avance un grand merci à tous ceux qui pourront m'aider.
Campeaux