Bonjour, je suis tout nous nouveau sur Arduino, j'ai fait un Vario pour le parapente avec un nano et un module barométrique.
J'ai voulu ensuite ajouter un module bluetooth pour que ça communique avec mon application de parapente.
En commandant le module bluetooth je n'ai pas fait attention et j'ai pris un module HM-19 et je n'arrive pas a me connecter a celui ci et dans le Moniteur source je n'ai pas de retour. J'ai tester les commandes AT et bizarrement seulement la commande AT+NAME fonctionne les autres ne retourne rien. Bref je viens un peu voir si quelqu'un utilise ce module HM-19 et connais une façon de vérifier son fonctionnement.
Si c'est bien ce module il faut tenir compte du fait qu'il est assez récent puisqu'il fait le BLE en Bluetooth 5.0 (et peut être 4.1 ou 4.2 selon le firmware) Tu est le premier à le mentionner sur ce forum. (il faut un premier !!)
Le firmware du HM-19 a sans doute des commandes AT supplémentaires par rapport au HM-10 que nous connaissons (BLE BT 4.0 seulement)
-> Sur le site du fabricant en cliquant sur HM-19 il vient un fichier à télécharger, à l'intérieur plusieurs documents dont la Data Sheet du HM-19 avec ses instructions AT, on y lit :
8 AT Commands
Factory default setting:
Name: HMSoft; Baud: 9600, N, 8, 1; Peripheral Role; transmit mode.
AT Command format:
Uppercase AT command format. string format, without any other
symbol. (e.g. \r or \n).
Bonjour Al1fch et merci pour votre réponse. Alors non, c'est celui ci :DSD-TECH
De la marque DSD TECH, du coup, j'ai récupéré la datasheet sur le site pour regarder les commandes AT et j'ai trouvé.
Mon autre question est comment je peux tester facilement le fait que le module envoie bien les infos et j'arrive à les lires sur mon smartphone. Connaissez-vous un programme pour tester cela avant de le reproduire dans celui qui fonctionne déjà en USB. JE vais regarder du côté des programmes basic de L'IDE pour voir si je trouve des infos.
Jinan Huamao et Ddtech semblent faire des gammes de produits jumellles !
Jusqu'aux Data Sheet ......
Pour les tests BT BLE deux applications complémentaires sur smartphone Android :
nRF Connect de Nordic Semiconductor (pour entrer dans le détail de la structure)
BlueTooth Serial terminal , de Kai Morich (pour tester la communication série) qui dialogue avec divers modules BT BLE d'origine diverses et peut être déjà le(s) HM-19
Si les modules HM-19 d'origines diverses sont identiques physiquement ils peuvent présenter des différences de firmware, donc des différences dans les jeux de commandes AT.
A première vue le HM-19 a la même manière que le HM-10 d'émuler en BLE un port série.
Le BLE, dans les détails, me parait plus compliqué que le BlueTooth classique, mais on peut utiliser simplement un HM-10 sans entrer les détails, tout aussi simplement qu'un HC-05 à partir du moment ou , à l'autre bout , il y a un système compatible avec l'émulation série proposée par le HM-10 ou HM-19.
Contrairement au BlueTooth classique il n'y a pas en BLE de profil générique 'émulation port série', plusieurs constructeurs de puce BLE ou fabricants de modules proposent leur solution maison.
On n'a pas en BLE l'universalité du progfil SPP du BlueTooth classique
L'application Serial Bluetooth Terminal mentionée plus haut comprend plusieurs de ces solutions maisons.
ah du coup si comprend bien la library softwareserial.h ne fonctionne pas en BLE ?
c'esta sans rapport : sofwareSerial ne concerne que la création et le gestion d'un port série 'logiciel' à l'intérieur du microcontrolleur , indépendamment de ce que l'on y raccorde à l'extérieur !
Cela va créer des bornes Tx et RX supplémentaires sur lesquelles il est possible de raccorder un module BT ou BLE quelconque
le port série logiciel est la seule solution propre pour une carte Nano qui ne propose pas de port série matériel libre
Bon du coup, j'ai réussi via les commandes At à modifier mon baud rate et faire fonctionner mon app. J'ai aussi réussi à me connecter sur smartphone notamment via l'app DSD Tech Tools.
Effectivement, l'app serial bluetooth fonctionne très bien une fois qu'on est connecté pour voir le trafic. Donc maintenant ça fonctionne très bien.
Du coup, j'ai adapté le code pour que ça fonctionne avec le bluetooth.
Ensuite une fois que ça marche, j'ai envie de l'optimiser et je me suis posé deux questions peut-être bête.
Voici un bout du code : (Alors c'est un code que j'ai récupéré d'un github et qui fonctionne très bien j'ai juste ajouté la partie bluetooth.
Serial.begin(UART_SPEED);
BTSerial.begin(UART_SPEED);// set up arduino serial port
Serial.println(compile_date);
BTSerial.println(compile_date);
Serial.println("checking MS5611 sensor...");
BTSerial.println("checking MS5611 sensor...");
wdt_enable(WDTO_1S); //enable the watchdog 1s without reset
if (sensor.connect() > 0) {
Serial.println("Error connecting MS5611...");
Serial.println("reset in 1s...");
BTSerial.println("Error connecting MS5611...");
BTSerial.println("reset in 1s...");
J'ai donc copié chaques commandes Serial et demandé qu'il l'exécute sur le bluetooth (je ne sais pas si c'est la bonneméthode, mais ça marche.)
Du coup les deux questions que je me pose.
Est ce que ça ne surcharge pas le traitement de l'info et donc peut causer des bugs ?
Existe t'il un code qui permet de détécté quel port série est branché et ainsi faire en sorte d'envoyer seulement sur l'usb quand il est branché et seulement sur le bluetooth quand il est connecté ?