Nos derniers articles

Vue tout

[Tuto] Remontée des données d'un ESP vers Google sheet

Posté sur: mars 17, 2021

Catégories: Arduino

Auteur: Fabien

Tags: esp , esp32 , arduino , google , sheet , gsheet , iot , wifi , ifttt

Après quelques recherches il existe une librairie pour réaliser ce type de programme Arduino mais nous allons essayer de faire sans. Si vous souhaitez récupérer la librairie voici son adresse https://github.com/romkey/IFTTTWebhook/

Créer un applet IFTTT

Sur IFTTT, vous pouvez créer un Applet pour lier le Webhook IFTTT avec Google Sheet

Capture Ifttt

Tips #1: IFTTT va créer le document Gsheet dans un dossier IFTTT s'il n'existe pas dans votre Google Drive.

Tips #2: Pensez à vérifier que votre IFTTT est bien connecté avec votre compte Google

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 IFTTT_API_KEY "VOTREAPIKEY"
#define IFTTT_EVENT_NAME "VOTREEVENTNAME"

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 ifttt_base = "https://maker.ifttt.com/trigger";

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 Mac = WiFi.macAddress();
  Mac.replace(":",""); // Supprime les :
  String ifttt_url = ifttt_base + "/" + IFTTT_EVENT_NAME + "/with/key/" + IFTTT_API_KEY + "?value1="" + donnee +  ""&value2="" + Mac + """;
  Serial.println(ifttt_url);
  HTTPClient http;
  http.begin(ifttt_url, _ifttt_root_certificate);

  /*** Vérification du bon déroullement ***/
  int httpCode = http.GET();
  if (httpCode > 0) {
    Serial.printf("[HTTP] GET... code: %dn", httpCode);

    if(httpCode == HTTP_CODE_OK) {
      Serial.println(http.getString());
    }
  } 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 My services / Webhooks / Documentation
Tips #3 : Pour récupérer l'Event name, il est visible sur la première fenêtre lorsque vous créez ou modifiez l'applet

Enjoy

Et à chaque branchement de la carte, une data apparait dans le Google Sheet.

Tips: Vous pouvez ajouter des titres de colonne.

Commentaires

laissez un commentaire

Se connecter