Bonjour à tous !
J'essaie de mettre en place une communication Bluetooth entre un Arduino Nano et une application Android. Pour l'instant, je veux m'assurer que les messages qui transitent soient bien reçus en clair des 2 côtés, mais ça coince déjà !
Je n'ai pas de problème de connexion, l'application s'appaire correctement au module, et je reçois parfaitement les messages qui me sont envoyés depuis l'appli. Le problème est que dès que je souhaite envoyer un message (ce que je fais depuis le moniteur série), l'appli reçoit le message en 2 parties, comme si j'envoyais 2 messages au lieu d'un. Par exemple, si j'envoie "BONJOUR", l'appli va généralement recevoir un premier message "B", puis un 2e message "ONJOUR".
Je dis "généralement", car la taille des messages est variable (particulièrement quand j'envoie des messages rapidement). Par exemple, "BON" puis "JOUR".
Côté appli, les messages sont visualisés directement depuis les log d'Android Studio, donc je ne pense pas que cela vienne de ce côté.
J'utilise un module HC-05 pour le Bluetooth, configuré comme suit :
- Fréquence : 38.400 Bauds
- 2 bits de stop
- Pas de bit de parité
(en changeant ces paramètres, l'Arduino envoie quand même 2 messages, mais illisibles en plus...)
Pour le moniteur série, je me suis bien mis en fréquence 38.400, et j'ai choisi "Pas de fin de ligne".
Voilà mon code, qui est des plus basiques pour le moment :
#include <SoftwareSerial.h>
SoftwareSerial mavoieserie(2, 3); // (RX, TX) (pin Rx BT, pin Tx BT)
void setup()
{
// Ouvre la voie série avec l'ordinateur
Serial.begin(38400);
// Ouvre la voie série avec le module BT
mavoieserie.begin(38400);
}
void loop()
{
if (mavoieserie.available()) {
Serial.write(mavoieserie.read());
}
if (Serial.available()) {
mavoieserie.write(Serial.read());
}
}
La partie Android n'est pas gérée par moi directement, donc je n'aurai pas trop de détails au niveau de la configuration de cette partie...
Je vous remercie de votre aide !