[ESP32]Pas de connexion en Bluetooth classique.
Salut à tous.
Je suis sous la version 1.8.19 de l'IDE Arduino. Pour différentes raisons, je préfère rester dans cette version.
Je désire tester le bluetooth classique, histoire de voir comment cela fonctionne sous mon NodeMCU ESP32.
Le but est d'envoyer un ordre depuis mon Windows, afin d'allumer ou d'éteindre la LED présente sur l'ESP32.
Aucun besoin pour cet exercice de faire un montage électronique.
Voici le sketch :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| /**************************************/
/* */
/* LED With Bluetooth Classic */
/* */
/**************************************/
#include "BluetoothSerial.h"
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif
#if !defined(CONFIG_BT_SPP_ENABLED)
#error Serial Bluetooth not available or not enabled. It is only available for the ESP32 chip.
#endif
/*************************************/
/* */
/* Déclaration des Variables */
/* */
/*************************************/
BluetoothSerial SerialBT;
String _data;
const unsigned short _led = 2;
/*********************/
/* */
/* Démarrage */
/* */
/*********************/
void setup()
{
Serial.begin(115200);
delay(1000);
Serial.write(12); /* Clear Screen */
Serial.println("\t\e[1;31m+--------------------+\e[0m");
Serial.println("\t\e[1;31m| Led With Bluetooth |\e[0m");
Serial.println("\t\e[1;31m+--------------------+\e[0m\r\n");
pinMode(_led, OUTPUT);
digitalWrite(_led, LOW);
SerialBT.begin("ESP32BT");
Serial.println("En attente de connexion Bluetooth...");
delay(1000);
}
/****************************/
/* */
/* Boucle Itérative */
/* */
/****************************/
void loop()
{
if (SerialBT.available())
{
_data = SerialBT.readStringUntil('\n');
Serial.print("Reçu : > ");
Serial.println(_data);
SerialBT.println(_data);
if (_data == "on") { digitalWrite(_led, HIGH); }
if (_data == "off") { digitalWrite(_led, LOW); }
}
delay(1000);
} |
Habituellement, j'utilise le port COM6 pour l'ESP32. Aucun problème, ça fonctionne, je suis bien dans la console.
J'active le bluetooth de Windows et je sélectionne le SSID "ESP32BT". Je me retrouve "couplé. Je suppose que jusque là, je suis correcte.
Je retourne dans le gestionnaire des périphériques et sur "ports (COM et LPT)", je vois deux nouveaux ports qui sont : COM3 et COM4. Je les mets en 115200 bauds.
Je lance la console du port COM3 qui ne s'affiche pas et voilà t'y pas un message d'erreur qui apparait dans la console du port COM6 :
Code:
1 2
| ASSERT_WARN(103 23), in lc_task.c at line 8775
ASSERT_WARN(103 24), in lc_task.c at line 8775 |
A quoi est-ce dû ?
Je fais le même test sur la console du port COM4, aucun message d'erreur sur la console du port COM6.
La console s'affiche mais je ne peux rien saisir. C'est peut-être normal.
Il semblerait que la solution se trouve dans ce lien. Sauf que j'ignore où modifier cette astuce ?
@+