Installer et utiliser le bluetooth avec un VESC

Enorme !
Le problème avec Ackmaniac, c’est qu’il n’a jamais dévoilé ses sources donc tu seras cantonné aux data de monitoring.
Dommage, car la fonctionnalité des modes est plutôt cool.
Quant à la police, il suffit de faire un paramétrage de VESC adhoc et de créer un mode full power.
Si tu les rencontres, tu fais off/on et tu reviens sur les paramètres par défaut (donc Police).

Enorme !
Le problème avec Ackmaniac, c’est qu’il n’a jamais dévoilé ses sources donc tu seras cantonné aux data de monitoring.

J’ai pas vraiment regardé ce qu’il y a dedans mais j’ai les sources du firmware, il est ouvet je pense. Seule l’app android est fermée.

T’as les sources du FW ??? Comment ?

EDIT : Ok, j’suis vraiment débile, elles sont dans son dropbox… :roll:

ETAPE 2 : LA CONFIGURATION DU MODULE BLUETOOTH (FACULTATIF)

Cette étape est facultative, il est possible d’utiliser les paramètres par défaut pour que cela fonctionne.

Ici, nous allons configurer le module bluetooth à l’aide de commande AT.

Connecter le module à un Arduino en reprenant le schéma précédent (le VESC est remplacé par l’Arduino).
Tout en maintenant enfoncé le petit bouton sur le module bluetooth, brancher le câble USB de l’Arduino.

NE PAS RELACHER LE BOUTON PENDANT TOUTE L’OPERATION !

Ouvrir le moniteur série de l’IDE Arduino, configurer en 38400 bauds et “Les deux NL et CR”.

Puis entrer les commandes suivantes :


AT //Demande si le module est bien en mode de confguration. Doit renvoyer OK.
AT+NAME? // Demande le nom du module. Doit renvoyer HC-05 si par défaut.
AT+NAME=nomdumodule //Donne un nouveau nom au module. Doit renvoyer OK.
AT+NAME? //Redemande le nom au module. Doit renvoyer le nom renseigné à la commande précédente.
AT+PSWD? //Demande le code jumelage. Doit renvoyer 1234 si par défaut.
AT+PSWD=xxxx //Donne un nouveau code de jumelage au module. Doit renvoyer OK.
AT+PSWD? //Redemande le code jumelage. Doit renvoyer le code renseigné à la commande précédente.
AT+UART? //Demande la config. de comm. série. Doit renvoyer 9600,0,0 si par défaut
AT+UART=115200,0,0 //Donne la nouvelle config de comm. série. Doit renvoyer OK.
AT+UART? //Redemande la config. de comm. série. Doit renvoyer 115200,0,0.

Si tout s’est bien déroulé, relâcher le bouton et débrancher le câble USB.
Le module est configuré. :smiley:

Bon, je me tente à la configuration du HM10 mais je ne suis pas un expert Arduino.
j’ai installé le soft Arduino
je connecte mon Arduino en USB
j’arrive a y déverser un programme “blink” et cela fonctionne.

je connecte mon HM10 (VCC sur 5V, GND sur GND, Digital 0 sur RX et Digital 1 sur TX)

je lance le moniteur série - NL, et CR, 38400 baud

j’entre une commande “AT” / enter >> rien ne se passe … :slight_smile:
j’appuie sur aucun bouton pendant la manip car j’en vois pas sur mon HM10 :slight_smile:

une idée ?

no idea, mais t’es sur d’avoir besoin de le conf ?

pour Ackmaniac le HM10 que j’ai commandé fonctionnait en 9600 bauds sans mot de passe directement, rien à configurer. Donc essaye de baisser la vitesse sur le arduino à 9600 bauds.

Tu as uploadé le code pour forwarder les comm entre elles dans l’Arduino ?

Edit : en relisant le quote du tuto que tu as mis, je me rends compte que c’est pas super complet.

En effet cela fonctionnait sans conf. Mais Comme j’avais un peu de temps et un arduino je voulais changer le nom du BT et la vitesse.
Mais Comme Je suis pas un expert en arduino je galère un peu !
Il me manque surement un bout de code …

Quel Arduino as-tu ?

Un Uno
Elegoo UNO R3 Project The Most Complete Ultimate Starter Kit w/ TUTORIAL, UNO R3 controller board, LCD1602, Servo, Stepper Motor for Arduino UNO Project https://www.amazon.co.uk/dp/B01IUY62RM/ … NzbM3QM81V

Ok.
Il te faut installer la librairie SoftwareSerial et utiliser le sketch suivant :

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600); //moniteur série sur PC
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

// set the data rate for the SoftwareSerial port
mySerial.begin(9600); //baudrate du HM10
}

void loop() { // run over and over
if (mySerial.available()) {
Serial.write(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
}

Comme tu peux le voir, il faut connecter le HM10 sur les pins 10 (Tx HM10) et 11 (Rx HM10).

Ok je te remercie. Mon sketch ressemblait à cela mais c’est la librairie que j’avais pas du installer. Je vais regarder cela :wink:

Tu Le rajoute dans la page 1 ?

Oui m’sieur ! :smiley:

bon, je galère

j’ai bien ce code :

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10,11); // RX, TX

void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600); //moniteur série sur PC
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

// set the data rate for the SoftwareSerial port
mySerial.begin(9600); //baudrate du HM10
}

void loop() { // run over and over
if (mySerial.available()) {
Serial.write(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
}

mais il se passe rien dans le moniteur série quand je tape une commande.
il y a pas de bouton sur le HM10.
j’ai lu qlq part qu’il fallait se connecter avec un smartphone et une app BLE pour entrer en mode “commandes” mais ca fait rien non plus (la diode rouge du HM10 passe du clignotant au fixe)

Il me semble pas que tu puisses passer de commandes AT par le bluetooth il me semble.
As-tu bien sélectionné “Les deux LN, CR” ?

oui j’ai bien sélectionné !
non, la connexion BT c’était juste pour le passer en mode “prêt à modifier” car il y a pas de bouton dessus … (dans ton auto tu indiques qu’il faut appuyer sur un bouton tout au long du process… mais jai pas de bouton sur le HM10)

bon, j’ai fait une sortie aujourd’hui et un mec avait l’app me tr sur iOs, elle est top. du coup je viens de craquer et commander le module au mec (il faut le module chez lui pour que l’app fonctionne…)

à suivre

Quand même bizarre de pas avoir réussi à dialoguer avec le HM-10. Shit !

Petite info pour le bluetooth et les vesc 6 : hormis le fait que le connecteur JST-PH soit en 8 pin sur le vesc les branchements restent ils identiques au vesc 4.12 ?

Non, il faut inverser le Tx et Rx.

D’ailleurs dans ton branchement je pense qu’il y a une erreur.

je connecte mon HM10 (VCC sur 5V, GND sur GND, Digital 0 sur RX et Digital 1 sur TX)

Le D0 de ton UNO correspond au RX de ton UNO et doit donc être connecté au TX de ton module HM10.
Ensuite il faut que les bauds sont alignés, mais si ton module HM10 fonctionne avec ton VESC alors c’est surement en 9600.