Код ошибки в Arduino IDE с ESP32-C3-DevKitM-1 [закрыто]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Код ошибки в Arduino IDE с ESP32-C3-DevKitM-1 [закрыто]

Сообщение Anonymous »

Я столкнулся с кодом ошибки в проекте Arduino. моя вторая/третья строка — это Arduino.h и Adafruit_Sensor.h, которые выдают код, не позволяющий мне загрузить код в микроконтроллер ESP32-C3-DevKitM-1.
здесь это код того, над чем я работаю. Я использую следующие датчики: ESP32-C3-DevKitM-1 в качестве микроконтроллера, BMP280 для давления и высоты, DHT22/SEN0137 для влажности и температуры, Mikroe UV2 для обнаружения УФ-излучения, TSL2561 для видимого света, SEN0159 для CO2, SEN0322 для Кислород, TEL0132 для GPS, SEN0604 для EC почвы/pH/температуры/влажности, SEN0605 для NPK (азот, фосфор, калий).

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

// I2C addresses for SEN0604 and SEN0605 sensors
#define SEN0604_ADDRESS 0x50
#define SEN0605_ADDRESS 0x51

// DHT and Soil Moisture pins
#define DHTPIN 4
#define DHTTYPE DHT22
#define SOIL_MOISTURE_PIN A0

// Sensor Variables
float ec, ph, temp, moisture;
float nitrogen, phosphorus, potassium;

// Sensor Initialization
DHT dht(DHTPIN, DHTTYPE);
Adafruit_BMP280 bmp;
Adafruit_SI1145 uv = Adafruit_SI1145();
Adafruit_TSL2591 tsl = Adafruit_TSL2591(2591);

// BLE UUIDs
#define SERVICE_UUID "12345678-1234-1234-1234-123456789012"
#define CHARACTERISTIC_UUID "87654321-4321-4321-4321-210987654321"

BLEServer* pServer = NULL;
BLECharacteristic* pCharacteristic = NULL;
bool deviceConnected = false;

// BLE Callback Class
class MyServerCallbacks: public BLEServerCallbacks {
void onConnect(BLEServer* pServer) {
deviceConnected = true;
};

void onDisconnect(BLEServer* pServer) {
deviceConnected = false;
}
};

void setup() {
Serial.begin(115200);

// Initialize I2C
Wire.begin(8, 9); // ESP32-C3 Default I2C: SDA=8, SCL=9

// Initialize Sensors
dht.begin();

if (!bmp.begin()) {
Serial.println("BMP280 not detected.  Check wiring!");
while (1);
}

if (!uv.begin()) {
Serial.println("SI1145 not detected!");
while (1);
}

if (!tsl.begin()) {
Serial.println("TSL2591 not detected!");
while (1);
}

// Check SEN0604 and SEN0605
Serial.println("Checking SEN0604 and SEN0605...");
if (!checkSensor(SEN0604_ADDRESS)) {
Serial.println("Error: SEN0604 not detected.");
} else {
Serial.println("SEN0604 detected.");
}
if (!checkSensor(SEN0605_ADDRESS)) {
Serial.println("Error: SEN0605 not detected.");
} else {
Serial.println("SEN0605 detected.");
}

// Initialize BLE
BLEDevice::init("ESP32-C3 Soil Probe");
pServer = BLEDevice::createServer();
pServer->setCallbacks(new MyServerCallbacks());
BLEService *pService = pServer->createService(SERVICE_UUID);

pCharacteristic = pService->createCharacteristic(
CHARACTERISTIC_UUID,
BLECharacteristic::PROPERTY_READ |
BLECharacteristic::PROPERTY_NOTIFY
);
pCharacteristic->addDescriptor(new BLE2902());
pService->start();

BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
pAdvertising->addServiceUUID(SERVICE_UUID);
pAdvertising->setScanResponse(true);
BLEDevice::startAdvertising();
Serial.println("BLE Ready and Advertising...");
}

void loop() {
// Read and print sensor data
readDHTSensor();
readBMP280();
readSoilMoisture();
readUVSensor();
readLightSensor();
readSEN0604();
readSEN0605();

// Send data over BLE if connected
if (deviceConnected) {
String data = "EC: " + String(ec) + " mS/cm\n" +
"pH: " + String(ph) + "\n" +
"Temperature: " + String(temp) + " °C\n" +
"Moisture: " + String(moisture) + " %\n" +
"Nitrogen: " + String(nitrogen) + " mg/kg\n" +
"Phosphorus: " + String(phosphorus) + " mg/kg\n" +
"Potassium: " + String(potassium) + " mg/kg\n";
pCharacteristic->setValue(data.c_str());
pCharacteristic->notify();
}

delay(2000);
}

// Function to check I2C sensor connection
bool checkSensor(uint8_t address) {
Wire.beginTransmission(address);
return (Wire.endTransmission() == 0);
}

// Function to read DHT sensor
void readDHTSensor() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (!isnan(h) && !isnan(t)) {
Serial.print("Humidity: "); Serial.print(h); Serial.println(" %");
Serial.print("Temperature: "); Serial.print(t); Serial.println(" °C");
} else {
Serial.println("DHT Sensor error!");
}
}

// Function to read BMP280
void readBMP280() {
float pressure = bmp.readPressure();
float altitude = bmp.readAltitude(1013.25);
Serial.print("Pressure: "); Serial.print(pressure); Serial.println(" Pa");
Serial.print("Altitude: "); Serial.print(altitude); Serial.println(" m");
}

// Function to read soil moisture
void readSoilMoisture() {
int soilMoisture = analogRead(SOIL_MOISTURE_PIN);
Serial.print("Soil Moisture: "); Serial.println(soilMoisture);
}

// Function to read UV sensor
void readUVSensor() {
uint16_t uvIndex = uv.readUV();
Serial.print("UV Index: "); Serial.println(uvIndex / 100.0);
}

// Function to read light sensor
void readLightSensor() {
uint16_t visible = tsl.getLuminosity(TSL2591_VISIBLE);
Serial.print("Visible Light: ");  Serial.println(visible);
}

// Function to read SEN0604
void readSEN0604() {
Wire.beginTransmission(SEN0604_ADDRESS);
Wire.write(0x00);
Wire.endTransmission();

Wire.requestFrom(SEN0604_ADDRESS, 8);
if (Wire.available() >= 8) {
ec = Wire.read() * 0.1;
ph = Wire.read() * 0.1;
temp = Wire.read() * 0.1;
moisture = Wire.read() * 0.1;
} else {
Serial.println("Error reading from SEN0604.");
}
}

// Function to read SEN0605
void readSEN0605() {
Wire.beginTransmission(SEN0605_ADDRESS);
Wire.write(0x00);
Wire.endTransmission();

Wire.requestFrom(SEN0605_ADDRESS, 6);
if (Wire.available() >= 6) {
nitrogen = Wire.read() * 0.1;
phosphorus = Wire.read() * 0.1;
potassium = Wire.read() * 0.1;
} else {
Serial.println("Error reading from SEN0605.");
}
}
Ниже приведен полный список ошибок... кстати, извините за неудобства, я пытаюсь сделать все, что могу, с тем малым, что могу сделать, учитывая, насколько я новичок в этом. Пожалуйста, расслабьтесь, я пытаюсь.
В файле, включенном в /var/run/arduino/directories-user/libraries/ESP32_BLE_Arduino/src/BLEAdvertising.h:15,от /var/run/arduino/directories-user/libraries/ESP32_BLE_Arduino/src/BLEServer.h:19,
из /run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:8 :
/var/run/arduino/directories-user/libraries/ESP32_BLE_Arduino/src/FreeRTOS.h:61:28: ошибка: «ringbuf_type_t» не объявлен
Ringbuffer(size_t length, Ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT) ;
^~~~~~~~~~~~~~
В файле, включенном из /var/run/arduino/directories-user/libraries/ESP32_BLE_Arduino/src/BLECharacteristic.h:17,
из /var/run/arduino/directories-user/libraries/ESP32_BLE_Arduino/src/BLEServer.h:20,
из /run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:8 :
/var/run/arduino/directories-user/libraries/ESP32_BLE_Arduino/src/BLEDescriptor.h:25:7: ошибка: переопределение класса BLEDescriptor
class BLEDescriptor {
^~~~ ~~~~~~~~~
В файле, включенном из /var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLECharacteristic.h:25,
из /var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLEService.h:23 ,
от /var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLEDevice.h:25,
из /run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:7 :
/var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLEDescriptor.h:28:7: примечание: предыдущее определение «класса BLEDescriptor»
class BLEDescriptor {
^~~ ~~~~~~~~~~
В файле, включенном из /var/run/arduino/directories-user/libraries/ESP32_BLE_Arduino/src/BLEServer.h:20,
из /run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:8 :
/var/run/arduino/directories-user/libraries/ESP32_BLE_Arduino/src/BLECharacteristic.h:53:7: ошибка: переопределение «класса BLECharacteristic»
class BLECharacteristic {
^~~~ ~~~~~~~~~~~~~
В файле, включенном из /var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLEService.h:23,
из /var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLEDevice.h:25 ,
от /run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:7:
/var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLECharacteristic.h:45: 7: примечание: предыдущее определение «класса BLECharacteristic»
class BLECharacteristic {
^~~~~~~~~~~~~~~~~
В файле, включенном из /var/run/arduino/directories-user/libraries/ESP32_BLE_Arduino/src/BLEServer.h:21,
из /run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:8:
/var/run/arduino/directories-user/libraries/ESP32_BLE_Arduino/src/BLEService.h:49:7: ошибка: переопределение «класса BLEService»
class BLEService {
^~~~ ~~~~~~
В файле, включенном из /var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLEDevice.h:25,
из /run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:7 :
/var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLEService.h:28:7: примечание: предыдущее определение «класса BLEService»
class BLEService {
^~~ ~~~~~~~
/run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino: В функции «void setup()»:
/run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:88:14: ошибка: «init» не является членом «BLEDevice»BLEDevice::init("Зонд почвы ESP32-C3");
^~~~
/run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:89:24: ошибка: «createServer» не является членом «BLEDevice»
pServer = BLEDevice::createServer ();
^~~~~~~~~~~~
/run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:93:31: ошибка: «класс BLEService» не имеет члена с именем «createCharacteristic»; вы имели в виду «addCharacteristic»?
pCharacteristic = pService->createCharacteristic(
^~~~~~~~~~~~~~~~~~~~
addCharacteristic
/run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:95:42: ошибка: «PROPERTY_READ» не является членом «BLECharacteristic»
BLECharacteristic::PROPERTY_READ |
^~~~~~~~~~~~~
/run/arduino/sketches/Plantwatch- прототип-v6/Plantwatch-prototype-v6.ino:96:42: ошибка: «PROPERTY_NOTIFY» не является член 'BLECharacteristic'
BLECharacteristic::PROPERTY_NOTIFY
^~~~~~~~~~~~~~~
/run/arduino/sketches/Plantwatch-prototype-v6/ Plantwatch-prototype-v6.ino:98:47: ошибка: нет соответствующей функции для вызова 'BLECharacteristic::addDescriptor(BLE2902*)'
pCharacteristic->addDescriptor(new BLE2902());
^
В файле, включенном из /var/run/arduino/directories-user/libraries /ArduinoBLE/src/BLEService.h:23,
из /var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLEDevice.h:25,
из /run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:7 :
/var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLECharacteristic.h:91:8: примечание: кандидат: 'void BLECharacteristic::addDescriptor(BLEDescriptor&)'
void addDescriptor(BLEDescriptor& дескриптор );
^~~~~~~~~~~~~
/var/run/arduino/directories-user/libraries/ArduinoBLE/src/BLECharacteristic.h:91:8: примечание: не известно преобразование аргумента 1 из «BLE2902*» в «BLEDescriptor&»
/run /arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:99:13: ошибка: «класс BLEService» не имеет члена с именем «start»
pService->start();
^~~~~
/run/arduino/sketches/Plantwatch-prototype-v6/ Plantwatch-prototype-v6.ino:101:45: ошибка: «getAdvertising» не является членом «BLEDevice»
BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
^~~~~~~~~~~~~~
/run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino: 104:14: ошибка: «startAdvertising» не является членом «BLEDevice»
BLEDevice::startAdvertising();
^~~~~~~~~~~~~~~~
/run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino: В функции 'voidloop() ':
/run/arduino/sketches/Plantwatch-prototype-v6/Plantwatch-prototype-v6.ino:128:22: ошибка: В классе BLECharacteristic нет элемента с именем notify
pCharacteristic->notify();
^~~~~~
Для «BLEDevice.h» найдено несколько библиотек
Используется: /run/arduino/directories-data/internal/ArduinoBLE_1.3.7_41ae5cc36c6d1baf
Не используется: /run/arduino/directories-data/internal/ESP32_BLE_Arduino_1.0.1_8ea2f3fb01d5c4be
Не используется: /run/arduino/directories-data/internal/Seeed_Arduino_rpcBLE_1.0.0_8b4c5e8dbcca40e3
Не используется: /run/arduino/directories-data/internal/BLEPeripheral_0.4.0_6be6946591f1a8b6
Не используется: /run/arduino/directories-data/internal/STM32duinoBLE_1.2.8_f9a918ecb63ccfba
Не используется: /run/arduino/directories-data/internal/VEGA_ArduinoBLE_1.0.0_b0f76b1d3c4af35c
Не используется: /run/arduino/directories-data/packages/esp32/hardware/esp32/2.0.17/libraries/BLE
Для «BLEServer.h» найдено несколько библиотек
Используется: /run/arduino/directories-data/internal/ESP32_BLE_Arduino_1.0.1_8ea2f3fb01d5c4be
Не используется: /run/arduino/directories-data/internal/Seeed_Arduino_rpcBLE_1.0.0_8b4c5e8dbcca40e3
Не используется: /run/arduino/directories-data/packages/esp32/hardware/esp32/2.0.17/libraries/BLE
Для Wire.h найдено несколько библиотек
Используется: /run/arduino/directories -data/packages/esp32/hardware/esp32/2.0.17/libraries/Wire
Не используется: /run/arduino/directories-data/internal/FlexWire_1.2.1_1fc5f1d1a14af0e7
Для «Adafruit_I2CDevice.h» найдено несколько библиотек
Используется: /run/arduino/directories-data/internal/Adafruit_BusIO_1.17.0_108eb3f39211207c
Не используется: /run/arduino/directories-data/internal/EIS_INTERBOT_1.0.0_4c1ce07692fbb2fd
Не используется: /run/arduino/directories-data/internal/VEGAIoT_BusIO_1.0.0_68606b9abaf94dc3
Не используется: /run/arduino/directories-data/internal/EIS_0.0.1_7b9a78c117637fbc
Для «DHT.h» обнаружено несколько библиотек. "
Используется: /run/arduino/directories-data/internal/DHT_kxn_3.4.4_e8785b1b9c67af18
Не используется: /run/arduino/directories-data/internal/esp826611_1.0.16_00334015f1bcaea0
Не используется: /run/arduino/directories-data/internal/DHT118266_1.0.16_554bbe218f876118
Не используется: /run/arduino/directories-data/internal/NanoPlayBoard_0.1.1_96e8fd2355834992
Не используется: /run/arduino/directories-data/internal/dht11esp8266examples_1.0.10_a9e082c0a22a7d7d
Не используется: /run/arduino/directories-data/internal/uKit_Explore_1.2.28_13a98cd71cc29e10
Не используется: /run/arduino/directories-data/internal/Grove_Temperature_And_Humidity_Sensor_2.0.2_261181fd4a96dafa
Не используется: /run/arduino/directories-data/internal/servodht11_1.0.10_7ab49b0e5e1d849a
Не используется: /run/arduino/directories-data/internal/Modular_1.0.1_0da2bcec860c0503
Не используется: /run/arduino/directories-data/internal/DHT_sensor_library_1.4.6_c312b1aec24f4efc
Не используется: /run/arduino/directories-data/internal/dht11esp8266_1.0.10_3c072ef8d61af961
Для «Adafruit_Sensor.h» найдено несколько библиотек
Используется: /run/arduino/directories-data/internal/Adafruit_Unified_Sensor_1.1.15_c4f0a59ad82fa17d
Не используется: /run/arduino/directories-data/internal/ClimaStick_1.3.1_233fdd430f7c3408
Для «SPI.h» обнаружено несколько библиотек. "
Используется: /run/arduino/directories-data/packages/esp32/hardware/esp32/2.0.17/libraries/SPI
Не используется: /run/arduino/directories-data/internal/EventEthernet_1.0.0_bd9dd894ef7641f8

Подробнее здесь: https://stackoverflow.com/questions/793 ... -devkitm-1
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Недопустимое использование нестатической функции-члена arduino IDE ESP32 Wifi
    Anonymous » » в форуме C++
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Недопустимое использование нестатической функции-члена arduino IDE ESP32 Wifi [дубликат]
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Code Irmote и Freertos для ESP32 работает с Arduino IDE, но не полностью с Platformio
    Anonymous » » в форуме C++
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Клиент Firebase ESP32: получение ошибки INVALID_EMAIL при анонимной аутентификации на ESP32
    Anonymous » » в форуме C++
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Невозможно скомпилировать код Arduino ESP32: .../python3: ошибка формата exec
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»