Inviare dati da scheda WeMos D1 R1 a modulo google
Sulla base di uno sketch di esempiohttps://www.elettronicain.it/blog/2011/08/29/i-dati-da-arduino-a-google-spreadsheet/ , modificando i parametri necessari, ho provare ad inviare dati al mio modulo ma praticamente non funziona nonostante è vera la connessione alla WiFi e la connessione al client. Di seguito posto lo sketch nella speranza che qualcuno possa darmi il giusto suggerimento di come risolvere il problema.
GRAZIE
GRAZIE
- Codice: Seleziona tutto
#ifdef ESP8266
extern "C" {
#include "user_interface.h"
}
#endif
#include <ESP8266WiFi.h>;
#include <WiFiClientSecure.h>
String ssid = "ASUS_X01AD";
String pass = "";
String Modulo;
String URL;
String URI;
String Host;
int status = WL_IDLE_STATUS;
// Initialize the client library
WiFiClient client;
boolean wifiConnection()
{
WiFi.begin(ssid.c_str(), pass.c_str());
int count = 0;
Serial.print("Waiting for Wi-Fi connection");
while ( count < 20 ) {
if (WiFi.status() == WL_CONNECTED) {
Serial.println();
Serial.println("Connesso a " + ssid);
return (true);
}
delay(500);
Serial.print(".");
count++;
}
Serial.println("Timed out.");
return false;
}
void setup()
{
Serial.begin(9600);
if (!wifiConnection())
{
Serial.println("Couldn't get a wifi connection");
// don't do anything else:
while (true);
}
else
{
Serial.println("Connected to wifi");
Serial.println("\nStarting connection...");
Modulo = "1ZR0e0BrEZW277FpzsvjJ2JCH2xZOFR53fYccZO6ED_E";
Host = "www.docs.google.com";
URL = "/forms/d/" + Modulo + "/formResponse ";
URI = "hl=it&submit=Submit&ifq&entry.789331733=111&entry.209226252=31&entry.660359469=1290&submit=Submit";
}
}
void loop()
{
if (client.connect("www.docs.google.com", 443))
{
Serial.println("connesso");
client.println("POST " + URL + " HTTP/1.1");
client.println("Host: " + Host);
client.println("User-Agent: IotDevice/1.0");
client.println("Connection: close");
client.println("Content-Type: application/x-www-form-urlencoded;");
client.print("Content-Length: ");
client.println(URI.length());
client.println();
client.println(URI);
String line = client.readStringUntil('\r');
Serial.print(line);
client.stop();
delay(5000);
}
}