Tengo problemas con esta librería WiFi101.h

Soy nuevo en esto, y desearia que me ayudaran.

Tengo una placa NodeMCU 1.0

Cuando en el programa le pongo:

#include<WiFi101.h>

al compilarlo me da errores como este

In file included from c:\Users\gmart\Documents\Arduino\libraries\WiFi101\src/common/include/nm_common.h:45,
                 from c:\Users\gmart\Documents\Arduino\libraries\WiFi101\src/driver/include/m2m_wifi.h:49,
                 from c:\Users\gmart\Documents\Arduino\libraries\WiFi101\src/WiFi101.h:28,
                 from C:\Users\gmart\Desktop\Curso Arduino del Bueno\Sonar\Sonar\Sonar.ino:4:
c:\Users\gmart\Documents\Arduino\libraries\WiFi101\src/bsp/include/nm_bsp.h:110:23: error: conflicting declaration 'typedef long unsigned int uint32'
  110 | typedef unsigned long uint32;
      |                       ^~~~~~
In file included from C:\Users\gmart\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266/esp8266_peri.h:27,
                 from C:\Users\gmart\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266/Arduino.h:39,
                 from C:\Users\gmart\AppData\Local\Temp\arduino\sketches\0689D1B8E1845681070105A981DDE335\sketch\Sonar.ino.cpp:1:
C:\Users\gmart\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/include/c_types.h:49:29: note: previous declaration as 'typedef unsigned int uint32'
   49 | typedef unsigned int        uint32;

Alguien me puede ayudar?

Si no vemos el código no podemos ayudarte, adivinar no es una de nuestras mayores habilidades.

Adjunta el código de acuerdo a las Normas del Foro en Español, punto 7. También usa la opción "Autoformato" del menú "Herramientas" de la IDE antes de copiar el código así nos facilitas su lectura.

Lo más que puedo decirte es que hay un conflicto entre librerías (lo cual no es de mucha ayuda).
¿El código es originalmente para ESP8266 o lo estás adaptando?

Primero edita tal como te lo ha pedido @MaximoEsfuerzo
Segundo, no se porque usas esa librería cuando el Nodemcu viene con librerías por defecto para conectarse via WIFI
Esto dice la referencia de WiFI101
The WiFi101 library is designed for Arduino products using a WINC 1500 module. In this article you will find a series of examples that can be uploaded to your board.
Es para productos Arduino que usan Winc1500 y no tiene nada que ver con un Nodemcu.

Moderador
Para la próxima además de usar etiquetas, todo tema que no involucre Arduino como lo es un ESP8266 por ejemplo va en la sección Microcontroladores.
Movido a dicha sección.


// Incluir bibliotecas e inicializar los pines de control.

#include <ThingSpeak.h>
#include <WiFi101.h>

#define triggerPin 0
#define echoPin 5
#define LEDpin 4

//Definir e inicializar las variables. Asegúrese de editar la información de la red inalámbrica, la ID del canal y las claves API. Encuentra el ID de tu canal en la parte superior de la página principal de tu canal.
// información de red

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

// información de ThingSpeak

char* writeAPIKey = "DYU2527WSP7ACFNO";
char* readAPIKey = "ZD5Z4QF758QG200U";
const long channelID = 000000;
const unsigned int firstReadFieldNumber = 2;
const unsigned int secondReadFieldNumber = 3;
const unsigned int switchField = 4;  // Número de campo (1-8) que se utilizará para cambiar el estado del dispositivo. Determina si los datos se leen desde ThingSpeak.

// Otras constantes

const unsigned long postingInterval = 60L * 1000L;  // Publicar datos cada 60 segundos

// Variables globales

unsigned long lastConnectionTime = 0;
long lastUpdateTime = 0;
float distanceThreshold = 0;
bool getInfo = 1;  // Establece esto en cero si ya no deseas leer datos de ThingSpeak (es decir, calibración completa)
int points = 7;
WiFiClient client;

// Inicialice los pines de entrada y salida y lea los parámetros de calibración por primera vez en la setuprutina.

void setup() {
  Serial.begin(9600);
  pinMode(triggerPin, OUTPUT);
  pinMode(LEDpin, OUTPUT);
  pinMode(echoPin, INPUT);
  connectWifi();
  Serial.println("Start");

  // Obtener los parámetros iniciales de ThingSpeak.
  distanceThreshold = readTSData(channelID, firstReadFieldNumber, readAPIKey);
  points = readTSData(channelID, secondReadFieldNumber, readAPIKey);
}

//Cada vez que se ejecuta el bucle principal, tome varias medidas.
//Si los datos no se han escrito en ThingSpeak durante un tiempo, escríbalos en el canal de salida.
//Además, si la última vez que el indicador de lectura fue leído como verdadero,
//verifique los datos de calibración y los indicadores en cada ciclo.

void loop() {

  float distance = 0;

  // Make sure there is an Internet connection.
  if (WiFi.status() != WL_CONNECTED) {

    connectWifi();
  }

  for (uint16_t loops = 0; loops < points; loops++) {
    distance += getDistance(triggerPin, echoPin);  //realiza una medición, almacena la suma de todas las mediciones
    delay(5);
  }

  distance = distance / points;

  if (distance < distanceThreshold) {
    digitalWrite(LEDpin, HIGH);
  }

  else {

    digitalWrite(LEDpin, LOW);
  }


  Serial.println("Ave: " + String(distance) + " cm");

  if (millis() - lastUpdateTime >= postingInterval) {

    lastUpdateTime = millis();

    if (!(getInfo == 0)) {

      distanceThreshold = readTSData(channelID, firstReadFieldNumber, readAPIKey);
      points = readTSData(channelID, secondReadFieldNumber, readAPIKey);
      getInfo = (bool)readTSData(channelID, switchField, readAPIKey);
    }

    if (distance < distanceThreshold) {

      // Escribe datos en el canal ThingSpeak.
      writeTSData(channelID, 1, distance, writeAPIKey);
    }
  }

  delay(500);  // // Proporcionar cierto retraso entre mediciones.

  // Utilice estas funciones para leer y escribir datos hacia y desde ThingSpeak Utilice estas funciones para leer y escribir datos hacia y desde ThingSpeak


  int writeTSData(long TSChannel, unsigned int TSField, float data, char* ReadAPIKey) {
    int writeSuccess = ThingSpeak.writeField(TSChannel, TSField, data, writeAPIKey);  //write the data to the channel
    return writeSuccess;
  }

  // Use this function if you want multiple fields simultaneously.
  /*
int writeTDData(long TSChannel,unsigned int TSField1,float data1,unsigned int TSField2,data2,char* ReadAPIKey){
  ThingSpeak.setField(TSField1,data1);
  ThingSpeak.setField(TSField1,data2);
   
  writeSuccess = ThingSpeak.writeFields(TSChannel, writeAPIKey);
  return writeSuccess;
}
*/

  float readTSData(long TSChannel, unsigned int TSField, char* ReadAPIKey) {

    float data = 0;

    data = ThingSpeak.readFloatField(TSChannel, TSField, ReadAPIKey);
    Serial.println(" Data read from ThingSpeak " + String(data));
    return data;
  }

  //6) Utilícelo getDistancepara obtener una única medición del sensor.

  float getDistance(int tPin, int ePin) {

    long duration, distance;

    digitalWrite(tPin, LOW);  // Reset the trigger pin.
    delayMicroseconds(2);
    digitalWrite(tPin, HIGH);          // Start a measurement.
    delayMicroseconds(10);             //
    digitalWrite(tPin, LOW);           // Complete the pulse.
    duration = pulseIn(ePin, HIGH);    // Wait for a reflection pulse.
    distance = (duration / 2) / 29.1;  // Calculate the appropriate distance using the estimated speed of sound.

    // This section is useful when debugging the sensor.
    /*
  if (distance >= 200 || distance <= 0){
    Serial.println("Out of range");
  }
  else {
   Serial.print(distance);
   Serial.println(" cm");
  }
  */
    return distance;
  }
  //Conecte su dispositivo a una red inalámbrica usando la connectWiFifunción.

  int connectWifi() {

    while (WiFi.status() != WL_CONNECTED) {
      WiFi.begin(ssid, password);
      delay(2500);
      Serial.println("Connecting to WiFi");
    }

    Serial.println("Connected");
    ThingSpeak.begin(client);
  }

Perdona pero es que la verdad, estoy empezando con esto, y no tengo conocimiento suficiente para responderte. Gracias de todas formas

Ya esta logrado,

El error estaba en haber cargado la libreria WiFi101.h, la quité y cargue la libreria ESP8266WiFi.h

con lo que se quedó resuelto.

Muchas gracias por todo

Fue lo que te dije. para que usar WIFI101 que corresponde a MKR Arduino.