ช่วยดูให้หน่อยครับ verify ไม่ผ่าน Multiple libraries were found for "WiFi.h"

ก่อนหน้านี้ verify ผ่านครับ แต่พอผมเพิ่ม library #include <FirebaseArduino.h> เข้ามากลับไม่ผ่านครับ

เจอ Multiple libraries were found for “WiFi.h” ผมเลยลองลบ library Not used: C:\Program Files (x86)\Arduino\libraries\WiFi ไป ก็ verify ไม่ได้อยู่ดีครับ มันขึ้นว่า

fatal error: ESP8266WiFi.h: No such file or directory

แปลกใจที่ผมใช้ ESP32 แต่ทำไมขึ้นให้ลง libraries ของ ESP8266

ลองลง ESP8266WiFi.h ก็ไม่หายครับรบกวนช่วยหน่อยนะครับ

ผมลบ WiFi จาก dir นี้ครับ

อันนี้ libraries ที่ลงไว้ครับ

อันนี้โค้ตเต็มครับ

#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
#include <FirebaseArduino.h>

#define FIREBASE_HOST "smart-farm-a44eb-default-rtdb.firebaseio.com/"             // the project name address from firebase id
#define FIREBASE_AUTH "BKSC8Hpz3eQm6EpFYJ69QuWNslUEZWrhzpogND8g"       // the secret key generated from firebase

#define BLYNK_PRINT Serial
#define DHTPIN 5
#define DHTTYPE DHT11

#define PUMP 16

//https://smart-farm-a44eb-default-rtdb.firebaseio.com/
//BKSC8Hpz3eQm6EpFYJ69QuWNslUEZWrhzpogND8g
 

int soilsensorPin = A0; 


int soilmoisture_value = 0;
int temperature_value = 0;
int humidity_value = 0;

int soilMoistureLimit = 0;
int temperatureLimit = 0;
int humidityLimit = 0;




DHT dht(DHTPIN, DHTTYPE);
float h = dht.readHumidity();
float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit




char auth[] = "WIHixIXfQWenw0A4x__N0T_Mykzwjrjf";
char ssid[] = "mukmug";
char pass[] = "024610687";



bool switchStatus = 0; // 0 = manual,1=auto

bool manualSwitch = 0; // 0 = water pump off , 1 = water pump on


BlynkTimer timer;

// sync all status
BLYNK_CONNECTED() {
    Blynk.syncAll();
}

// mode selection 0 = manual , 1 = auto
BLYNK_WRITE(V0)
{   
  switchStatus = param.asInt(); // Get value as integer
}

// set soil moisture limit
BLYNK_WRITE(V1)
{
  soilMoistureLimit = param.asInt(); // Get value as integer
}
// set temperature limit
BLYNK_WRITE(V2)
{
  temperatureLimit = param.asInt(); // Get value as integer
}
// set humidity limit
BLYNK_WRITE(V3)
{
  humidityLimit = param.asInt(); // Get value as integer
}


// update manualSwitch
BLYNK_WRITE(V4)
{
  manualSwitch = param.asInt();
}



void manualAutoAction()
{
  soilmoisture_value = analogRead(soilsensorPin);  
  float humidity_value = dht.readHumidity();
  float temperature_value = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit

  String fireHumid = String(h) + String("%");                                         //convert integer humidity to string humidity 
  
  String fireTemp = String(t) + String("°C");   
  Firebase.pushString("/DHT11/Humidity", fireHumid);                                  //setup path and send readings
  Firebase.pushString("/DHT11/Temperature", fireTemp);                                //setup path and send readings        

  Blynk.virtualWrite(V5, humidity_value);  //V5 is for Humidity
  Blynk.virtualWrite(V6, temperature_value);  //V6 is for Temperature
  Blynk.virtualWrite(V7, soilmoisture_value);  //V7 is for soilmoisture

  Blynk.virtualWrite(V8, humidityLimit);  
  Blynk.virtualWrite(V9, temperatureLimit);
  Blynk.virtualWrite(V10, soilMoistureLimit);
  
  Serial.print("Humid = ");
  Serial.println(humidity_value);
  delay(500);
  Serial.print("temp = ");
  Serial.println(temperature_value);
  delay(500);
  Serial.print("Soil Moist = ");
  Serial.println(soilmoisture_value);
  delay(500);
  

  
  
  if(switchStatus)
  {
    // auto
    if(soilmoisture_value <= soilMoistureLimit||(temperature_value <= temperatureLimit)||(humidity_value <= humidityLimit))
    {
      digitalWrite(PUMP,HIGH);
      //digitalWrite(relayone,HIGH);
    }  
    else
    {
      digitalWrite(PUMP,LOW);
      //digitalWrite(relayone,LOW);
    }
  }


  //manual
  else
  {
    if(manualSwitch)
    {
      digitalWrite(PUMP,HIGH);
    }
    else
    {
      digitalWrite(PUMP,LOW);
    } 
    // manaul
  }


}

void checkTemp()
{
  

  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V5, h);  //V5 is for Humidity
  Blynk.virtualWrite(V6, t);  //V6 is for Temperature
}

void setup()
{
  // Debug console
  Serial.begin(115200);
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);  
  pinMode(PUMP,OUTPUT);
  digitalWrite(PUMP,HIGH);
  digitalWrite(PUMP,LOW);
  
  dht.begin();
  WiFi.begin(ssid, pass);
  //Blynk.config(auth, ssid, pass);
  Blynk.begin(auth, ssid, pass, "blynk.iot-cm.com", 8080);  
  Blynk.connect();
  // key
  timer.setInterval(1000L, manualAutoAction);
  timer.setInterval(10000L, checkTemp);
}

void loop()
{
  Blynk.run();
  timer.run();
}

ใช้บอร์ดตัวไหนถ่ายมาดูหน่อย

นี่ครับ เป็นบอร์ดตัวนี้ครับ

เลือกผิดครับ

ภาพ

เลือกเป็น DOIT esp32 devkit v1

เปลี่ยนแล้วขึ้นแบบนี้ครับ อันก่อนหน้าอัพโหลดผิดรูปครับ

หาไฟล์นี้

มาลงใน library นี้

อัพเดทครับ ตอนนี้ได้แล้วครับเป็นที่library ลงผิดครับ ผมลองใช้library จาก การใช้งาน Firebase บน ESP32 : Inspired by LnwShop.com (ioxhop.com)

1 Like

เยี่ยมมากครับ ขอบคุณที่อัพเดทครับ