NodeMCU esp8266 e libreria arduinoHttpClient

Salve ragazzi, premetto che sono nuovo nel forum ed è da poco che uso arduino. :slight_smile:
Volevo provare a far accendere un LED con la voce grazie all’ausilio di Google Assistant, sto quindi utilizzando IFTTT e AdafruitIO per finire questo piccolo progettino. Mi sono aiutato con una guida che ho trovato su internet, ho installato tutte le librerie e configurato completamente tutti gli ambienti di lavoro ma quando vado a caricare il codice sulla NodeMCU esp8266 viene prodotto un errore che non riesco a risolvere :fearful: .


Codice:

/************************ Adafruit IO Configuration *******************************/

// visit io.adafruit.com if you need to create an account,
// or if you need your Adafruit IO key.
#define IO_USERNAME    "****"
#define IO_KEY         "****"

/******************************* WIFI Configuration **************************************/

#define WIFI_SSID       "****"
#define WIFI_PASS       "****"

#include "AdafruitIO_WiFi.h"
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);

/************************ Main Program Starts Here *******************************/
#include <ESP8266WiFi.h>
#include <AdafruitIO.h>
#include <Adafruit_MQTT.h>
#include <ArduinoHttpClient.h>


AdafruitIO_Feed *command = io.feed("Comandi vocali"); // Set up the 'command' feed

int LED = D5;

// SETUP
void setup()
{
  // Configure pins
  pinMode(LED, OUTPUT);

  // disable both motors
  digitalWrite(LED,LOW);
  
  // Start serial communication
  Serial.begin(9600);
  delay(500);

  // connect to io.adafruit.com
  Serial.print("Connecting to Adafruit IO");
  io.connect();

  // set up a message handler for the 'command' feed.
  // the handleMessage function (defined below)
  // will be called whenever a message is
  // received from adafruit io.
  command->onMessage(handleMessage);  

  while(io.status() < AIO_CONNECTED) {
    Serial.print(".");
    delay(50);
  }

  // we are connected
  Serial.println();
  Serial.println(io.statusText());
  
}

// MAIN CODE
void loop()
{
  io.run();
}

// this part of the code runs whenever there's a new message on Adafruit.io feed
void handleMessage(AdafruitIO_Data *data) {
  
  String commandStr = data->toString(); // store the incoming commands in a string
  
  // received message
  Serial.print("received <- ");
  Serial.println(commandStr);

  String cmd;
  int angle;

  // separate text and number ingredients
  for (int i = 0; i < commandStr.length(); i++) {
    if (commandStr.substring(i, i+1) == ":") {
      cmd = commandStr.substring(0, i);
      angle = commandStr.substring(i+1).toInt();
      break;
    }
  }

  // print command
  Serial.println();
  Serial.print("Comand: ");
  Serial.println(cmd);
  Serial.print("LUX: ");
  Serial.println(angle);
  
  // TURNING ON & TURNING OFF
  // TURN ON
  if (cmd.equalsIgnoreCase("accendi")){    
    Serial.println();
    Serial.print("Accensione luce ");
    Serial.println(angle);
    digitalWrite(LED,HIGH);
    delay(200);
    Serial.println("Accesa correttamente");
  }
  
  // TURN OFF
  else if(cmd.equalsIgnoreCase("spegni")) {
    Serial.println();
    Serial.print("Spegnimento luce ");
    Serial.println(angle);
    digitalWrite(LED,LOW);
    delay(200);
    Serial.println("Spenta correttamente");
  }  
}

Naturalmente al posto degli ‘*’ di SSID e PASSWORD ho inserito i miei dati.
LINK libreria: GitHub - arduino-libraries/ArduinoHttpClient: Arduino HTTP Client library

Errore:

Arduino:1.8.8 (Windows 10), Scheda:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Enabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

Opzioni di compilazione cambiate, ricompilo tutto
In file included from C:\Users\Simone\Documents\Arduino\libraries\ArduinoHttpClient\src/ArduinoHttpClient.h:8:0,

                 from C:\Users\Simone\Documents\Arduino\libraries\Adafruit_IO_Arduino-master\src/AdafruitIO.h:23,

                 from C:\Users\Simone\Documents\Arduino\libraries\Adafruit_IO_Arduino-master\src/wifi/AdafruitIO_ESP8266.h:18,

                 from C:\Users\Simone\Documents\Arduino\libraries\Adafruit_IO_Arduino-master\src/AdafruitIO_WiFi.h:32,

                 from C:\Users\Simone\Documents\Arduino\Blynk_tank_voice_v1-1\Blynk_tank_voice_v1-1.ino:29:

C:\Users\Simone\Documents\Arduino\libraries\ArduinoHttpClient\src/HttpClient.h: In member function 'virtual void HttpClient::flush()':

C:\Users\Simone\Documents\Arduino\libraries\ArduinoHttpClient\src/HttpClient.h:310:50: error: return-statement with a value, in function returning 'void' [-fpermissive]

     virtual void flush() { return iClient->flush(); };

                                                  ^

exit status 1
Errore durante la compilazione per la scheda NodeMCU 1.0 (ESP-12E Module).

Non riesco a capire cosa sto sbagliando.

PS: ho installato in modo corretto anche i driver per far funzionare la NodeMCU e vi confermo in anticipo che essa funziona perchè l’ho fatta funzionare con il seguente programma:

#include <ESP8266WiFi.h>

const char* ssid="****";
const char* password="****";

int led = D7;
void setup() {
  //pinMode(LED_BUILTIN,OUTPUT);
  //digitalWrite(LED_BUILTIN,HIGH);
  delay(500);
  //digitalWrite(LED_BUILTIN,LOW);
  //delay(2000);

  Serial.begin(115200);
  Serial.println();
  Serial.print("WiFi connectin to ");
  Serial.println(ssid);

  WiFi.begin(ssid,password);

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

  while(WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println();
  Serial.print("Connected to ");
  Serial.print(ssid);
  Serial.println();
  Serial.print("My IP ADDRESS: ");
  Serial.print(WiFi.localIP());
  }

void loop() {
  if(WiFi.status() == WL_CONNECTED)
  {
   //digitalWrite(LED_BUILTIN,LOW);
   digitalWrite(led,HIGH);
   delay(2000);
   digitalWrite(led,LOW);
   delay(700);
  }
  else
    digitalWrite(LED_BUILTIN,HIGH);

  delay(1);
}

Naturalmente anche qui, come prima, al posto di ‘*’ ho inserito ssid e password in modo corretto.