Connexion au serveur SinricPro (VSC)

L'objectif est de programmer la carte de développement pour que :

  • elle se connecte à la plateforme Sinric Pro  ;

  • elle affiche "Connected to sinricPro" dans le moniteur série de VSC une fois qu'elle est connectée à SinricPro.

Méthode

Ajouter la bibliothèque SinricPro à votre projet puis inclure la bibliothèque SinricPro en dessous des #include déjà présents (Arduino et Wifi).

1
#include "SinricPro.h"

Comme le montre le diagramme de séquence, l'ESP32 doit tout d'abord se connecter à la plateforme SinricPro (message connect()) à l'aide d'un identifiant d'application (APP_KEY) et d'un mot de passe d'application (APP_SECRET).

Rendez-vous sur votre compte SinricPro et identifier les valeurs de APP KEY et APP SECRET dans le menu "Credentials" :

Insérez sous les #include du fichier main.cpp les constantes symboliques APP_KEY et APP_SECRET puis remplacer les x par les valeurs de APP KEY et de APP SECRET de SinricPro (le bouton vous permet de copier ces valeurs dans le fichiers main.cpp).

1
#define APP_KEY "xxxx" // remplacer les x par l'identifiant de votre application SinricPro
2
#define APP_SECRET "xxxx" // remplacer les x par le mot de passe de votre application SinricPro

Insérez dans le fichier main.cpp de votre projet Switch la fonction setupSinricPro() suivante avant la fonction setup() :

1
void setupSinricPro() {    
2
    /* Si la connexion est réussie alors "Connected to SinricPro"
3
       est affiché dans le moniteur série. */
4
    SinricPro.onConnected([]()
5
    { Serial.printf("Connected to SinricPro\r\n"); });
6
    SinricPro.onDisconnected([]()
7
    { Serial.printf("Disconnected from SinricPro\r\n"); });
8
    // Connexion à la plateforme SinricPro
9
    SinricPro.begin(APP_KEY, APP_SECRET);
10
}

Dans le code précédent on observe une écriture particulière :

1
SinricPro.onConnected([]()
2
{ Serial.printf("Connected to SinricPro\r\n"); });

Cette instruction permet de programmer la réaction de l'ESP32 lorsqu'il recevra un message de SinricPro l'avertissant que la connexion a réussi (response_SinricPro()). On peut résumer cette instruction en disant :

lorsque le serveur SinricPro envoit le message de "connexion réussie" (responseSinricPro()) l'ESP32 affiche "Connected to SinricPro" dans le moniteur série.

C'est donc une manière de programmer le comportement de l'ESP32 lorsqu'un événement se produit. On peut résumer cela avec le diagramme de séquence suivant :

Q3. Expliquer le rôle de la fonction setupSinricPro().

Le code suivant permet dans le setup() d'appeller la fonction précédente setupSinricPro(). Complétez votre setup() pour appeller la fonction setupSinricPro().

1
void setup() {    
2
    ......
3
    setupSinricPro();
4
}

Le code suivant permet dans le loop() d'appeller la fonction SinricPro.handle() qui gère la communication entre l'ESP32 et le serveur SinricPro (connect(), request(), response(), event(), etc). Compléter votre loop() pour appeler la fonction SinricPro.handle().

1
void loop() {    
2
    ......
3
    SinricPro.handle();
4
}

Valider le bon fonctionnement de la connexion à SinricPro en observant le moniteur série de VSC .