Пробела получения данных без монитора порта

Emilkaqq_

✩✩✩✩✩✩✩
8 Фев 2024
1
0
Доброго времени суток, решил сделать небольшую блютуз метео-станцию, на модуле BMP280, и платы Ардуино ESP 32 SUPER MICRO, столкнулся с проблемой что ардуино не стартует после включения, пока я не запущу монитор порта. Хотя в коде ни слово нету о его использовании, буду благодарен за любую информацию и помощь.🤝🤝🤝

#include <Wire.h>
#include <Adafruit_BMP280.h>
#include <ArduinoBLE.h>

#define BMP_SDA (4)
#define BMP_SCL (5)

Adafruit_BMP280 bmp;
BLEService weatherService("19b10000-e8f2-537e-4f6c-d104768a1214"); // Custom BLE Service UUID
BLEStringCharacteristic temperatureCharacteristic("19b10001-e8f2-537e-4f6c-d104768a1214", BLERead | BLENotify, 20); // Characteristic for temperature
BLEStringCharacteristic pressureCharacteristic("19b10002-e8f2-537e-4f6c-d104768a1214", BLERead | BLENotify, 20); // Characteristic for pressure
BLEStringCharacteristic altitudeCharacteristic("19b10003-e8f2-537e-4f6c-d104768a1214", BLERead | BLENotify, 20); // Characteristic for altitude

void setup() {
Wire.begin(BMP_SDA, BMP_SCL);
bmp.begin(0x77);
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,
Adafruit_BMP280::SAMPLING_X2,
Adafruit_BMP280::SAMPLING_X16,
Adafruit_BMP280::FILTER_X16,
Adafruit_BMP280::STANDBY_MS_500);

BLE.begin();
BLE.setLocalName("WeatherSensor");
BLE.setAdvertisedService(weatherService);
weatherService.addCharacteristic(temperatureCharacteristic);
weatherService.addCharacteristic(pressureCharacteristic);
weatherService.addCharacteristic(altitudeCharacteristic);
BLE.addService(weatherService);
BLE.advertise();
}

void loop() {
BLEDevice central = BLE.central();
if (central) {
while (central.connected()) {
float temperature = bmp.readTemperature();
float pressure = bmp.readPressure() / 100.0; // Convert pressure to hPa
float altitude = bmp.readAltitude(1013.25);

String temperatureString = String(temperature, 2);
String pressureString = String(pressure, 2);
String altitudeString = String(altitude, 2);

temperatureCharacteristic.writeValue(temperatureString);
pressureCharacteristic.writeValue(pressureString);
altitudeCharacteristic.writeValue(altitudeString);

delay(2000);
}
}
}