A reproduire sur APPINVENTOR






Cablage Arduino :



Code Arduino à téléverser sur l'ESP32 :



#include <Arduino.h>

#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


BluetoothSerial SerialBT;

//definition des entrées sorties

const int LED1 = 18;

const int LED2 = 19;

const int LED3 = 23;

//déclaration des variables

word w;//variable qui recoit les trames emises

//initialisation des entrees sortie E/S et communication

String message = "";

char incomingChar;


//procedure qui lit les trames du smartphone

void recevoir(){


 if(Serial.available()) {

    Serial.write("Début de reception");

    w=Serial.read();

    Serial.flush();

 }


   // Read received messages (LED control command)

  if (SerialBT.available()){

    char incomingChar = SerialBT.read();

    if (incomingChar != '\n'){

      message += String(incomingChar);

    }

    else{

      message = "";

    }

    //Serial.println(incomingChar);

  }

  delay(200);

}


void setup() { 

  Serial.begin(115200);//vitesse de transmission

  pinMode(LED1,OUTPUT); //Led1 en sortie

  pinMode(LED2,OUTPUT); 

  pinMode(LED3,OUTPUT);

  SerialBT.begin("TestESP32 METTEZ ICI VOTRE NOM SINON VOUS ALLEZ AVOIR DES PROBLEMES D IDENTIFICATION DE VOTRE CARTE LORS DE L APPAIRAGE"); //Bluetooth device name

  Serial.println("Le périphérique est demarre, vous pouvez l'appairer via le bluetooth !");

}


//programme pricipal

void loop() {

  recevoir(); //fonction recevoir


  if(message=="led1_on") {

      digitalWrite(LED1,HIGH);

      Serial.println("led1_on recu");

      SerialBT.println("led1_on recu");

    }else if (message=="led1_off") {

      digitalWrite(LED1,LOW);

      Serial.println("led1_off recu");

      SerialBT.println("led1_off recu");

    }else if (message=="led2_on") {

      digitalWrite(LED2,HIGH);

    }else if(message=="led2_off") {

      digitalWrite(LED2,LOW);

    }else if (message=="led3_on") {

    digitalWrite(LED3,HIGH);

    }else if(message=="led3_off") {

    digitalWrite(LED3,LOW);

    } else {

      SerialBT.println("pas compris");

    }


  delay(500);

}

//fin du programme




Attention, il faut appairer l'ESP32 avant de lancer l'application APPINVENTOR.



La réception des caractères sur l'ESP32 est longue (2 secondes en moyenne), essayer d'envoyer moins de caractères depuis l'application APPINVENTOR vers l'ESP32, dans ce cas bien changer le caractère échangé dans les deux programmes : arduino sur VSCode et sur l'APPInventor.


Faites les tests entre un binôme Hardware (qui s'occupera de la partie Arduino) et Software (partie APPInventor).

Si le binôme Hardware a terminé avant, il doit commencer à réfléchir à l'intégration des différents capteurs sous Arduino. Librairies à utiliser et action à effectuer. Et aussi déterminer qui fait les actions (appinventor ou arduino).

Créé avec HelpNDoc Personal Edition: Créer des documents d'aide PDF facilement