[Tuto] Contrôler un ESP32 via Google sheet avec Integromat

Nous allons nous inspirer du tutoriel de remontée d'information par IFTTT pour créer cette fonctionnalité. Nous faisons ce test avec un ESP32.

Créer un scenario Integromat

Les 3 blocks de ce scenario Integromat sont:

  • Webhooks -> Custom Webhook : Permet de créer l'url à appeler
  • Google sheet -> Get a cell : Récupère l'information dans un Google sheet
  • Webhooks -> Webhook response : Permet de construire la réponse à envoyer

On peut tester directement l'url fourni par Integromat:

Coté Google Sheet, on a fait un menu déroullant pour vérrouiller son contenu à "ON" ou "OFF", ça évite les erreurs.

Créer le Sketch Arduino

Le logiciel Arduino est basé sur les exemple de base httpsclient dédié à l'ESP32.

#include <WiFi.h>
#include <HTTPClient.h>
#define WIFI_SSID "Letmeknow"
#define WIFI_PASSWORD "AAAAAAA"
#define INTEGROMAT_API_KEY "VOTREAPIKEY"
#define LEDPIN 15
const char* _ifttt_root_certificate =
"-----BEGIN CERTIFICATE-----n" "MIIE0DCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx" "EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT" "EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp" "ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAwMFoXDTMxMDUwMzA3" "MDAwMFowgbQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH" "EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UE" "CxMkaHR0cDovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQD" "EypHbyBEYWRkeSBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi" "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC54MsQ1K92vdSTYuswZLiBCGzD" "BNliF44v/z5lz4/OYuY8UhzaFkVLVat4a2ODYpDOD2lsmcgaFItMzEUz6ojcnqOv" "K/6AYZ15V8TPLvQ/MDxdR/yaFrzDN5ZBUY4RS1T4KL7QjL7wMDge87Am+GZHY23e" "cSZHjzhHU9FGHbTj3ADqRay9vHHZqm8A29vNMDp5T19MR/gd71vCxJ1gO7GyQ5HY" "pDNO6rPWJ0+tJYqlxvTV0KaudAVkV4i1RFXULSo6Pvi4vekyCgKUZMQWOlDxSq7n" "eTOvDCAHf+jfBDnCaQJsY1L6d8EbyHSHyLmTGFBUNUtpTrw700kuH9zB0lL7AgMB" "AAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV" "HQ4EFgQUQMK9J47MNIMwojPX+2yz8LQsgM4wHwYDVR0jBBgwFoAUOpqFBxBnKLbv" "9r0FQW4gwZTaD94wNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v" "b2NzcC5nb2RhZGR5LmNvbS8wNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5n" "b2RhZGR5LmNvbS9nZHJvb3QtZzIuY3JsMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEG" "CCsGAQUFBwIBFiVodHRwczovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkv" "MA0GCSqGSIb3DQEBCwUAA4IBAQAIfmyTEMg4uJapkEv/oV9PBO9sPpyIBslQj6Zz" "91cxG7685C/b+LrTW+C05+Z5Yg4MotdqY3MxtfWoSKQ7CC2iXZDXtHwlTxFWMMS2" "RJ17LJ3lXubvDGGqv+QqG+6EnriDfcFDzkSnE3ANkR/0yBOtg2DZ2HKocyQetawi" "DsoXiWJYRBuriSUBAA/NxBti21G00w9RKpv0vHP8ds42pM3Z2Czqrpv1KrKQ0U11" "GIo/ikGQI31bS/6kA1ibRrLDYGCD+H1QQc7CoZDDu+8CL9IVVO5EFdkKrqeKM+2x" "LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB" "-----END CERTIFICATE-----n";
String integromat_base = "https://hook.integromat.com";
void setup() {
Serial.begin(115200);
Serial.println("RUNNING");
/*** Connexion au Wifi ***/
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to ");
Serial.print(WIFI_SSID);
while (WiFi.status() != WL_CONNECTED)
{
delay(100);
Serial.print(".");
}
Serial.print("Connected! IP address: ");
Serial.println(WiFi.localIP());
Serial.print("MAC: ");
Serial.println(WiFi.macAddress());
/*** Création de la requête IFTTT ***/
String donnee = String(random(100));
String integromat_url = integromat_base + "/" + INTEGROMAT_API_KEY;
Serial.println(integromat_url);
HTTPClient http;
http.begin(integromat_url, _ifttt_root_certificate);
/*** Vérification du bon déroullement ***/
int httpCode = http.GET();
if (httpCode > 0) {
Serial.printf("[HTTP] GET... code: %dn", httpCode);
String buff = "";
if(httpCode == HTTP_CODE_OK) {
buff = http.getString();
Serial.println(buff);
}
if(buff == "ON") {
Serial.println("LED ON");
digitalWrite(LEDPIN, HIGH);
} else {
Serial.println("LED OFF");
digitalWrite(LEDPIN, LOW);
}
} else {
Serial.printf("[HTTP] GET... failed, error: %sn", http.errorToString(httpCode).c_str());
}
}
void loop() {
}

Tips #1 :Pensez bien à mettre votre SSID et mot de passe Wifi (AAAAAAA n'est pas notre mot de passe ????)
Tips #2 : Pour récupérer vos clés d'API VOTREAPIKEY, vous pouvez aller dans Webhooks

Enjoy

Et à chaque branchement de la carte, la LED s'allume ou pas selon l'état de la case associée dans Google Sheet.

laissez un commentaire

Se connecter