Hi, everyone.
I have error "exit status 1" when compiling my ESP32 project.
I try to compile OTA and PZEM004T V30 project, It's ok. But my project is not.
Can who help me. Thanks,
This is my project: GitHub - Ankhang1107/ESP32_PZEM004_BLYNK_OTA: this project to read DHT11, PZEM004 sensor and connect to Blynk to follow sensor's values and OTA.
This does not sound like an IDE problem. I've moved your topic to a more suitable location on the forum.
Please post your complete error message (please don't forget to use code tags).
I can't open your RAR file (not sure why) and it is quite big.
Thank you for reply. Because have many libirary, so I use winraz. I will post source code below. Please check and help me.
#define BLYNK_TEMPLATE_ID "********"
#define BLYNK_TEMPLATE_NAME "ESP32 PMeter"
#define BLYNK_FIRMWARE_VERSION "1.0.0"
#define BLYNK_PRINT Serial
#define APP_DEBUG
bool fetch_blynk_state = true; //true or false
int wifiFlag = 0;
#define wifiLed 2 //D2
#include "BlynkEdgent.h"
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
#include <HardwareSerial.h>
#include "PZEM004Tv30.h"
#if defined(ESP32)
PZEM004Tv30 pzem(Serial2, 16, 17);
#else
PZEM004Tv30 pzem(Serial2);
#endif
float voltage;
float current;
float power;
float energy;
float frequency;
float power_factor;
//For DHT11--------------------------
#define DHTPIN 23
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Blynk.virtualWrite(V6, t);
Blynk.virtualWrite(V7, h);
}
void checkBlynkStatus()
{ // called every 3 seconds by SimpleTimer
bool isconnected = Blynk.connected();
int i = 0;
int last = millis();
if (isconnected == false)
{
wifiFlag = 1;
Serial.println("Blynk Not Connected");
digitalWrite(wifiLed, LOW);
}
if (isconnected == true)
{
wifiFlag = 0;
digitalWrite(wifiLed, HIGH);
Serial.println("Blynk Connected");
if (!fetch_blynk_state)
{
}
bacaPZEM();
sendtoblynk();
sendSensor();
}
}
BLYNK_CONNECTED()
{
if (fetch_blynk_state)
{
}
}
BlynkTimer timer;
void setup()
{
Serial.begin(115200);
pinMode(wifiLed, OUTPUT);
//For DHT11-----------------------
dht.begin();
timer.setInterval(1000L, sendSensor);
//--------------------------------
while (true) {
Serial.println("Connecting to PZEM...");
if(pzem.setAddress(1))
break;
delay(1000);
}
delay(100);
timer.setInterval(2000L, checkBlynkStatus); // check if Blynk server is connected every 2 seconds
BlynkEdgent.begin();
if (!fetch_blynk_state) {
Blynk.virtualWrite(V0, voltage);
Blynk.virtualWrite(V1, current);
Blynk.virtualWrite(V2, power);
Blynk.virtualWrite(V3, energy);
Blynk.virtualWrite(V4, frequency);
Blynk.virtualWrite(V5, power_factor);
sendSensor();
}
}
void bacaPZEM(){
//PZEM
voltage = pzem.voltage();
if ( !isnan(voltage) ) {
Serial.print("Voltage: "); Serial.print(voltage); Serial.println("V");
}
current = pzem.current();
if ( !isnan(current) ) {
Serial.print("Current: "); Serial.print(current); Serial.println("A");
}
power = pzem.power();
if ( !isnan(power) ) {
Serial.print("Power: "); Serial.print(power); Serial.println("W");
}
energy = pzem.energy();
if ( !isnan(energy) ) {
Serial.print("Energy: "); Serial.print(energy,3); Serial.println("kWh");
} else {
Serial.println("Error reading energy");
}
frequency = pzem.frequency();
if ( !isnan(frequency) ) {
Serial.print("Frequency: "); Serial.print(frequency, 1); Serial.println("Hz");
}
power_factor = pzem.pf();
if ( !isnan(power_factor) ) {
Serial.print("PF: "); Serial.println(power_factor);
}
Serial.println();
// delay(3000);
}
void sendtoblynk(){
Blynk.virtualWrite(V0, voltage);
Blynk.virtualWrite(V1, current);
Blynk.virtualWrite(V2, power);
Blynk.virtualWrite(V3, energy);
Blynk.virtualWrite(V4, frequency);
Blynk.virtualWrite(V5, power_factor);
}
void loop() {
BlynkEdgent.run();
uint32_t notConnectedCounter = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.println("Wifi connecting...");
notConnectedCounter++;
if(notConnectedCounter > 150) { // Reset board if not connected after 5s
Serial.println("Resetting due to Wifi not connecting...");
ESP.restart();
}
}
}
You seem to have a problem in BlynkEdgent.h where you define the class VPinWriteOnChange again.
I don't use ESPs and I have no experience with Blynk so can help you further.
Next time, please no screenshots of errors. In IDE 1.x a button is available to copy error messages, in IDE 2.x you can right click in the output window and use "copy all".
I checked it and the seem it is no problem.
Here is error I copied
In file included from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\OTA.ino:33:
c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkSimpleEsp32.h:27:7: error: template argument required for 'class BlynkWifi'
class BlynkWifi
^~~~~~~~~
c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkSimpleEsp32.h:96:21: error: conflicting declaration 'WiFiClient _blynkWifiClient'
static WiFiClient _blynkWifiClient;
^~~~~~~~~~~~~~~~
In file included from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\BlynkEdgent.h:8,
from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\OTA.ino:30:
c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkSimpleEsp32_SSL.h:130:27: note: previous declaration as 'WiFiClientSecure _blynkWifiClient'
static WiFiClientSecure _blynkWifiClient;
^~~~~~~~~~~~~~~~
In file included from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\OTA.ino:33:
c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkSimpleEsp32.h:97:59: error: conflicting declaration 'BlynkEsp32Client _blynkTransport'
static BlynkEsp32Client _blynkTransport(_blynkWifiClient);
^
In file included from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\BlynkEdgent.h:8,
from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\OTA.ino:30:
c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkSimpleEsp32_SSL.h:131:53: note: previous declaration as 'BlynkArduinoClientSecure<WiFiClientSecure> _blynkTransport'
static BlynkArduinoClientSecure<WiFiClientSecure> _blynkTransport(_blynkWifiClient);
^~~~~~~~~~~~~~~
In file included from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\OTA.ino:33:
c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkSimpleEsp32.h:98:3: error: invalid use of template-name 'BlynkWifi' without an argument list
BlynkWifi Blynk(_blynkTransport);
^~~~~~~~~
c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkSimpleEsp32.h:98:3: note: class template argument deduction is only available with -std=c++17 or -std=gnu++17
In file included from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\BlynkEdgent.h:8,
from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\OTA.ino:30:
c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkSimpleEsp32_SSL.h:55:7: note: 'template<class Transport> class BlynkWifi' declared here
class BlynkWifi
^~~~~~~~~
In file included from c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkSimpleEsp32.h:103,
from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\OTA.ino:33:
c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkWidgets.h:20:7: error: redefinition of 'class VPinWriteOnChange<T>'
class VPinWriteOnChange {
^~~~~~~~~~~~~~~~~
In file included from c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkSimpleEsp32_SSL.h:137,
from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\BlynkEdgent.h:8,
from C:\Users\Admin\Dropbox\KhangVA\An Khang\ESP32_tutorial\OTA_BLYNK\OTA\OTA.ino:30:
c:\Users\Admin\OneDrive - Hanoi University of Science and Technology\Documents\Arduino\libraries\libraries\Blynk\src/BlynkWidgets.h:20:7: note: previous definition of 'class VPinWriteOnChange<T>'
class VPinWriteOnChange {
^~~~~~~~~~~~~~~~~
exit status 1
Compilation error: exit status 1
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
