Connexion au serveur SinricPro (Arduino)

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

  • l'ESP se connecte à la plateforme Sinric Pro  ;

  • l'ESP affiche "Connected to sinricPro" dans le moniteur série de l'IDE Arduino une fois qu'il est connecté à SinricPro.

Méthode

Ajouter la bibliothèque SinricPro à votre projet en ajoutant la ligne suivante au-dessous des #include existants :

1
#include <SinricPro.h>

Comme le montre le diagramme de séquence, la carte de développement 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 Switch.ino 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 Switch.ino de votre projet 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 ou l'esp8266 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'ESP affiche "Connected to SinricPro" dans le moniteur série.

C'est donc une manière de programmer le comportement de l'esp 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'ESP 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 l'IDE Arduino.