Bonjour à tous,
je suis bloqué, j'ai besoin d'aide et je sais que je peux la trouver ici.
J'explique brièvement mon projet : récupérer des mesures de température (Dallas) avec un ESP8266 connecté à ma box et envoyer les mesures sur une feuille créée sur Google.
Tout le début ça fonctionne, c'est envoyer les données sur Google qui merde!
J'arrive bien à partir d'un pc à envoyer des données bidons (https://script.google.com/macros/s/ID du déploiement headA/exec?journ=1710868548&min0=1&moyenne0=2&max0=3&min1=1) mais je n'arrive pas à faire la même chose en partant de l'ESP.
La connexion WiFi ça passe mais je ne sais pas comment poster les valeurs.
Ci dessous une version édulcorée de mon code.
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
const char *ssid = "*****"; // à remplacer par le nom de votre réseau WiFi
const char *password = "******"; // à remplacer par le mot de passe WiFi
const char* host = "script.google.com";
String url;
void setup()
{
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connecte");
}
void loop()
{
Serial.print("Connexion a ");
Serial.println(host);
WiFiClientSecure client;//Secure
const int httpPort = 443;
if (!client.connect(host, httpPort))
{
Serial.println("Echec de la connexion");
delay(10000);
return;
}
client.setInsecure();
url = "https://script.google.com/macros/s/ID_DU_DEPLOIEMENT_HEAD/exec?journ=1710868548&min0=1&moyenne0=2&max0=3&min1=1";
Serial.print("URL: ");
Serial.println(url);
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
delay(500);
String section = "header";
while (client.available())
{
String line = client.readStringUntil('\r');
Serial.print(line);
}
Serial.println("Fermeture de la connexion.");
delay(10000);
}
En cherchant sur Google avec "esp8266 google sheet", on trouve pas mal de tutoriels, mais certains sont assez anciens et il semble que Google modifie des paramètres ou des conditions qui font que ces tutos ne sont plus fonctionnels.
Le plus récent date de décembre dernier et semble fonctionner :
Il est adapté à l'ESP8266 et à l'ESP32, et utilise une bibliothèque qui a été mise à jour très récemment donc qui devrait fonctionner :
Il y a beaucoup d'exemples qui t'aideront à l'utiliser.
Merci, ce n'est pas la solution que je souhaite utiliser (mais je m'y résoudrai si il le faut) car je voudrais l'utiliser sur une longue période de temps. ESP32/ESP8266: Send Data to Google Sheets [2 Methods] méthode 2 étape 4
J'essaie j'essaie mais je ne comprend pas mon erreur
On tient peut être quelque chose, si je mets dans l'adresse d'un navigateur en mode navigation privée l'ID head il faut s'identifier mais si je met l'ID d'un déploiement il me semble que non. Je vais tester sur le µC
Pour résumer il est possible de poster sur un apps script (d'une google sheet) à partir d'un déploiement mais il n'est pas possible de poster sur le head du déploiement (je me rend bien compte que c'est difficile à expliquer et que ça doit l'être encore plus à comprendre).
En effet...
Peut-être que tu pourrais faire un tuto sur le sujet dans la section des tutoriels ? Ca pourrait aider ceux qui en auront besoin dans le futur.
C'est une excellente idée @lesept , est ce que tu sais si je peux faire quelque chose hors ligne (avec note par exemple) pour l'ajouter quand il sera peaufiné? Avec note pour ajouter les images c'est impossible, comment faire donc?
J'en ai fait très peu, donc je ne sais pas. Ce que tu peux faire c'est un message principal et des messages réservés à la suite au cas où tu veux ajouter des détails ou des images par la suite (pour éviter qu'ils se trouvent écartés du premier message par les questions ou réponses)