Не запускается код на ESP32
При попытке запустить код, он компилируется и всё хорошо. Однако в условном операторе функция pulseSensor.sawStartOfBeat() не возвращает true (хотя должна), тем самым не запускает измерение пульса. Все соединения и прочую аппаратную часть полностью проверил, всё верно. Проблема именно в программной части.
#include <WiFi.h>
#include <HTTPClient.h>
#include <PulseSensorPlayground.h>
const char* ssid = "YourWiFiSSID";
const char* password = "YourWiFiPassword";
const char* serverAddress = "http://192.168.0.3:5000/api/heartbeat"; // Замените на адрес вашего сервера
const int PulseWire = 0; // Подключите PulseSensor к аналоговому пину 0
const int LED = LED_BUILTIN;
int Threshold = 550;
PulseSensorPlayground pulseSensor;
void setup() {
Serial.begin(115200);
delay(100);
connectToWiFi();
pulseSensor.analogInput(PulseWire);
pulseSensor.blinkOnPulse(LED);
pulseSensor.setThreshold(Threshold);
if (pulseSensor.begin()) {
Serial.println("PulseSensor object created successfully!");
}
}
void loop() {
if (pulseSensor.sawStartOfBeat()) {
int bpm = pulseSensor.getBeatsPerMinute();
Serial.print("BPM: ");
Serial.println(bpm);
sendDataToServer(bpm);
}
delay(20);
}
void connectToWiFi() {
Serial.print("Connecting to WiFi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Connected to WiFi");
}
void sendDataToServer(int bpm) {
HTTPClient http;
String jsonData = "{\"bpm\": " + String(bpm) + "}";
Serial.print("Sending data to server...");
if (http.begin(serverAddress)) {
http.addHeader("Content-Type", "application/json");
int httpResponseCode = http.POST(jsonData);
if (httpResponseCode > 0) {
Serial.printf("HTTP Response code: %d\n", httpResponseCode);
String response = http.getString();
Serial.println(response);
} else {
Serial.printf("Error sending POST request! HTTP Error code: %d\n", httpResponseCode);
}
http.end();
} else {
Serial.println("Unable to connect to server!");
}
}