Update Discuter avec une ESP32 with AI2 authored by Tom Dugué's avatar Tom Dugué
......@@ -92,7 +92,7 @@ void loop() {
c[0] = (char) SerialBT.read();
c[1] = '\0';
if(c[0] == '\r' || c[0] == '\n'){ // detect crlf (\r \n)
if(c[0] == '\r' || c[0] == '\n' || c[0] == '$'){ // detect crlf (\r \n) and $ (for MIT APP)
// check if the buffer is empty
if(buffer[0] == '\0') return;
......@@ -121,3 +121,21 @@ void exeCommande()
SerialBT.println("Unknow command");
}
```
# Contrôler avec AI2 #
On peut facilement construire des applications basiques avec [MIT App Inventore 2](https://appinventor.mit.edu/). On essayera de pouvoir communiquer entre notre app et l'ESP32.
On utilisera que quelque éléments dans un seul `Screen` principal:
- 1 `ListPicker` pour sélectionner le terminal Bluetooth
- 1 `Label` pour écrire le statut de la connexion
- 1 `Switch` pour allumer et éteindre la led
- 1 `BluetoothClient` pour se connecter et envoyer les requêtes
![Capture_d_écran_2023-01-25_161723](uploads/1b38c90cbe17419e41724fc19f524fa0/Capture_d_écran_2023-01-25_161723.png)
Avec l'algorithme suivant, on peut se connecter et envoyer les deux commandes à la carte Bluetooth.
![Capture_d_écran_2023-01-25_162455](uploads/44b95d63be31a0a081cae86e5daaac5d/Capture_d_écran_2023-01-25_162455.png)
Bien évidemment, on pourrait directement envoyer un byte avec deux valeurs au lieu d'un string. À noter que contrairement à l'application `Serial Bluetooth Terminal` la fonction *sendText()* n'envoie pas le crlf. Ainsi, on fait le choix ici d'envoyer un `$` pour signifier la fin de la commande.