//Include required libraries
//https://iotdesignpro.com/articles/esp32-data-logging-to-google-sheets-with-google-scripts
#include "WiFi.h"
#include <HTTPClient.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
int state=0;
String URL = "https://hook.eu2.make.com/b2xktm5e51dug261m23v866bwropisbr";
int buttonPin = 19;
int potPin = 4;
int G_LEDPin = 23;
int R_LEDPin = 22;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(G_LEDPin, OUTPUT);
pinMode(R_LEDPin, OUTPUT);
delay(1000);
Serial.begin(115200);
delay(1000);
// connect to WiFi
Serial.println();
Serial.print("Connecting to wifi: ");
Serial.println(ssid);
Serial.flush();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
}
void loop() {
String func;
if (digitalRead(buttonPin)==HIGH){
state = (state+1) %2;
if (state==1 ){
digitalWrite(G_LEDPin,1);
func="putdata";
run(func);
}
else{
digitalWrite(G_LEDPin,0);
func="getdata";
run(func);
}
}
}
void run(String func){
String urlFinal;
if (WiFi.status() == WL_CONNECTED) {
if (func=="putdata"){
urlFinal = URL+"?func=" + func + "&potentiometer=" + analogRead(potPin);
}
else if (func=="getdata"){
urlFinal = URL+"?func=" + func;
}
//String urlFinal = "http://api.pushingbox.com/pushingbox?devid=vBB11C6F4259F247&func=" + func + "&row=" + row+ "&col=" + col+ "&name=" + name+ "&gift=" + gift;
Serial.print("POST data to spreadsheet:");
Serial.println(urlFinal);
HTTPClient http;
http.begin(urlFinal.c_str());
http.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS);
int httpCode = http.GET();
Serial.print("HTTP Status Code: ");
Serial.println(httpCode);
//---------------------------------------------------------------------
//getting response from google sheet
String payload;
if (httpCode > 0) {
payload = http.getString();
Serial.println("Payload: "+payload);
if (func== "getdata"){
if (payload=="1"){
digitalWrite(R_LEDPin,1);
}
else{
digitalWrite(R_LEDPin,0);
}
}
}
//---------------------------------------------------------------------
http.end();
}
delay(1000);
}