HealthcareManager / Backend

0 stars 6 forks source link

導入D1_mini的感測器數據到專案中 #1

Open PaulKo121 opened 1 week ago

PaulKo121 commented 1 week ago

功能描述: 在應用中整合從 D1_mini 數據,實現從 感測器 提取用戶的健康和運動數據(如步數、心率、卡路里、睡眠等),並將這些數據同步至應用程式中供用戶查閱和分析。

需求:

  1. 與 HomeAssistant 和 Docker 整合,從中實現透過 HomeAssistant 連接 D1_mini 的感測器中提取數據的功能。
  2. 支援提取的數據包括血氧、心率。
  3. 將提取的數據整合到應用程式的資料庫,並在應用中提供相關數據的顯示和分析。
  4. 定時同步數據,確保用戶能獲取最新的健康和運動信息。
yillkid commented 4 days ago

我去幫你們問 device specification.

yillkid commented 4 days ago

感測器:

  1. 心率、血氧:MAX30100
  2. EKG/ECG : AD8232

建議如果只需要心率,不需要分析心電圖的話,使用 MAX30100

yillkid commented 4 days ago

感測器:

  1. 心率、血氧:MAX30100
  2. EKG/ECG : AD8232

建議如果只需要心率,不需要分析心電圖的話,使用 MAX30100

Sample Code

#include <Wire.h>
#include "MAX30100_PulseOximeter.h"

#define REPORTING_PERIOD_MS 1000

PulseOximeter pox;
uint32_t tsLastReport = 0;

void onBeatDetected() {
    Serial.println("Beat detected!");
}

void setup() {
    Serial.begin(115200);
    Serial.println("Initializing MAX30100...");

    if (!pox.begin()) {
        Serial.println("MAX30100 initialization failed");
        for (;;);
    }

    pox.setOnBeatDetectedCallback(onBeatDetected);
}

void loop() {
    // 獲取最新的心率與血氧數據
    pox.update();

    // 每隔1秒顯示一次數據
    if (millis() - tsLastReport > REPORTING_PERIOD_MS) {
        Serial.print("Heart rate: ");
        Serial.print(pox.getHeartRate());
        Serial.print(" bpm / SpO2: ");
        Serial.print(pox.getSpO2());
        Serial.println(" %");

        tsLastReport = millis();
    }
}
yillkid commented 3 days ago
  1. 硬體確定抓不到。
  2. 阿甘老師明天 9/27 會帶一塊新的硬體過來。