Может ли модуль Wi-Fi ESP82666-01 быть заменой NODEMCU для передачи данных температуры и влажности в Google Sheets?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Может ли модуль Wi-Fi ESP82666-01 быть заменой NODEMCU для передачи данных температуры и влажности в Google Sheets?

Сообщение Anonymous »

В настоящее время я работаю над проектом, который переносит данные и сохраняет их непосредственно на Google Sheets, однако в большинстве других проектов используются такие платы, как Nodemcu и ESP32. Может ли модуль Wi-Fi ESP8266-01 сделать то же самое? < /P>
Я попытался использовать этот код < /p>
#include
#include
#include "HTTPSRedirect.h"

// Enter network credentials:
const char* ssid = "network";
const char* password = "password";

// Enter Google Script Deployment ID:
const char *GScriptId = "AKfycpwCtWuN3BNIO5CR9BtZJAMaRNUgusldcAz6V7rtGCg1L5srZ5iAEZumVeb- 1ea5Y6mg3Q";

// Enter command (insert_row or append_row) and your Google Sheets sheet name (default is Sheet1):
String payload_base = "{\"command\": \"insert_row\", \"sheet_name\": \"Sheet1\", \"values\": ";
String payload = "";

// Google Sheets setup (do not edit)
const char* host = "script.google.com";
const int httpsPort = 443;
const char* fingerprint = "";
String url = String("/macros/s/") + GScriptId + "/exec";
HTTPSRedirect* client = nullptr;

// Declare variables that will be published to Google Sheets
int value0 = 0;
int value1 = 0;
int value2 = 0;

void setup() {

Serial.begin(9600);
delay(10);
Serial.println('\n');

// Connect to WiFi
WiFi.begin(ssid, password);
Serial.print("Connecting to ");
Serial.print(ssid); Serial.println(" ...");

while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println('\n');
Serial.println("Connection established!");
Serial.print("IP address:\t");
Serial.println(WiFi.localIP());

// Use HTTPSRedirect class to create a new TLS connection
client = new HTTPSRedirect(httpsPort);
client->setInsecure();
client->setPrintResponseBody(true);
client->setContentTypeHeader("application/json");

Serial.print("Connecting to ");
Serial.println(host);

// Try to connect for a maximum of 5 times
bool flag = false;
for (int i=0; iconnect(host, httpsPort);
if (retval == 1){
flag = true;
Serial.println("Connected");
break;
}
else
Serial.println("Connection failed. Retrying...");
}
if (!flag){
Serial.print("Could not connect to server: ");
Serial.println(host);
return;
}
delete client; // delete HTTPSRedirect object
client = nullptr; // delete HTTPSRedirect object
}

void loop() {

// create some fake data to publish
value0 ++;
value1 = random(0,1000);
value2 = random(0,100000);

static bool flag = false;
if (!flag){
client = new HTTPSRedirect(httpsPort);
client->setInsecure();
flag = true;
client->setPrintResponseBody(true);
client->setContentTypeHeader("application/json");
}
if (client != nullptr){
if (!client->connected()){
client->connect(host, httpsPort);
}
}
else{
Serial.println("Error creating client object!");
}

// Create json object string to send to Google Sheets
payload = payload_base + "\"" + value0 + "," + value1 + "," + value2 + "\"}";

// Publish data to Google Sheets
Serial.println("Publishing data...");
Serial.println(payload);
if(client->POST(url, host, payload)){
// do stuff here if publish was successful
}
else{
// do stuff here if publish was not successful
Serial.println("Error while connecting");
}

// a delay of several seconds is required before publishing again
delay(5000);
}
< /code>
Когда я использую этот код, он дает ошибку неверной головы пакета (0x00) < /p>
Если уже есть код, пожалуйста, скажите спасибо за ваше время! (Пожалуйста, будьте милосердны, если я ошибся, я все еще новичок в этом :)

Подробнее здесь: https://stackoverflow.com/questions/778 ... ansferring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»