I have some problems with the following code, that i use to send temperature and humidity datas to a google spreadsheet file. I use a Wemos D1 mini board and SHT30 shield. Here is the original project How to post data to Google sheets using ESP8266 | Embedded Lab
When i run the code serial monitor show me this error segnal:
maunet
. IP address:
172.16.0.6
Connecting to script.google.com
Connection failed. Retrying…
Connection failed. Retrying…
Connection failed. Retrying…
Connection failed. Retrying…
Connection failed. Retrying…
Connection Status: 0
Could not connect to server: script.google.com
Exiting…
Someone can help me? Thank's.
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#include <ESP8266WiFi.h>
#include <HTTPSRedirect.h>
#include <WEMOS_SHT3X.h>
#define PIN_RESET 255
#define DC_JUMPER 0
#define OLED_RESET 0
Adafruit_SSD1306 display(OLED_RESET);
SHT3X sht30(0x45);
const char* ssid = "my ssid";
const char* password = "my password";
const char *GScriptId = "my google script ID";
const int dataPostDelay = 120; //seconds
const char* host = "script.google.com";
const char* googleRedirHost = "script.googleusercontent.com";
const int httpsPort = 443;
HTTPSRedirect client(httpsPort);
String url = String("/macros/s/") + GScriptId + "/exec?";
const char* fingerprint = "F0 5C 74 77 3F 6B 25 D7 3B 66 4D 43 2F 7E BC 5B E9 28 86 AD";
float t = 0.0;
float h = 0.0;
void setup() {
Serial.begin(115200);
Serial.setTimeout(2000);
Serial.println("Connecting to wifi: ");
Serial.println(ssid);
Serial.flush();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" IP address: ");
Serial.println(WiFi.localIP());
Serial.print(String("Connecting to "));
Serial.println(host);
bool flag = false;
for (int i = 0; i < 5; i++) {
int retval = client.connect(host, httpsPort);
if (retval == 1) {
flag = true;
break;
}
else
Serial.println("Connection failed. Retrying…");
}
Serial.println("Connection Status: " + String(client.connected()));
Serial.flush();
if (!flag) {
Serial.print("Could not connect to server: ");
Serial.println(host);
Serial.println("Exiting…");
Serial.flush();
return;
}
if (client.verify(fingerprint, host)) {
Serial.println("Certificate match.");
} else {
Serial.println("Certificate mis-match");
}
}
void postData(float h, float t) {
if (!client.connected()) {
Serial.println("Connecting to client again...");
client.connect(host, httpsPort);
}
String urlFinal = url + "tag=" + String(h) + "&value=" + String(t);
client.printRedir(urlFinal, host, googleRedirHost);
}
void loop() {
delay(2000);
if (sht30.get() == 0) {
t = sht30.cTemp;
h = sht30.humidity;
postData(h, t);
Serial.print("Temperature in Celsius : ");
Serial.println(t);
Serial.print(" *C ");
Serial.print("Relative Humidity : ");
Serial.print(sht30.humidity);
Serial.print(" %\t");
Serial.println();
delay(200);
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 0);
display.clearDisplay();
display.println("Temp.");
display.print(t);
display.println(" *C");
display.println("Humidity");
display.print(h);
display.println(" %");
display.display();
ESP.deepSleep(dataPostDelay * 1000000);
}
else
{
Serial.println("Error!");
}
}
Ardulogging_MF.ino (2.93 KB)