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 :
Habituellement, j'utilise le port COM6 pour l'ESP32. Aucun problème, ça fonctionne, je suis bien dans la console.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
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 :
A quoi est-ce dû ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ASSERT_WARN(103 23), in lc_task.c at line 8775 ASSERT_WARN(103 24), in lc_task.c at line 8775
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 ?
@+
Partager