Sofortige E-Mail & SMS Alarme bei abnormaler Herzfrequenz
Komponenten und Materialien
| Herzfrequenz-Sensor Modul | 1 |
| Arduino Mega 2560 | 1 |
| Bolt IoT Bolt WiFi Modul | 1 |
| Jumper-Wires (diverse) | 7 |
Apps und Online-Dienste
- Bolt IoT Bolt Cloud
- DigitalOcean (VPS für Herzfrequenz-Überwachungscode)
- Mailgun (E-Mail-Automatisierung)
- Twilio SMS Messaging API
Über dieses Projekt
24/7 Herzfrequenz-Monitoring wie Fitness-Armbänder sind heute üblich. Was, wenn du ein ähnliches Gerät baust, das bei abnormer Herzfrequenz SMS oder E-Mail (oder beides) sendet? Genau das zeigt dieses Projekt – auf dem einfachsten Weg.
Schritt 1: Herzfrequenz-Sensor an Arduino anschließen
Mit Male-Female Jumper-Wires:
- Arduino Pin 2 ↔ Sensor Output
- Arduino 5V ↔ Sensor VCC
- Arduino GND ↔ Sensor GND
Schritt 2: Arduino-Code
Arduino IDE installieren (https://www.arduino.cc/en/Main/Software) und folgenden Code hochladen:
unsigned long highCounter = 0;
int pulse = 0;
int val = 0;
int lastPulse = LOW;
unsigned long oldMillis = 0;
void setup() {
pinMode(2, INPUT);
Serial.begin(9600);
}
void loop() {
pulse = digitalRead(2);
if (pulse != lastPulse) {
lastPulse = pulse;
if (pulse == HIGH) highCounter++;
}
// Alle 10 Sekunden ausgeben & zurücksetzen
if (millis() - oldMillis >= 10000) {
oldMillis = millis();
val = highCounter * 6; // Umrechnung auf Schläge/Minute
if (highCounter > 1) Serial.println(val);
highCounter = 0;
}
}
Der Code: Sammelt Sensordaten, berechnet Herzfrequenz, gibt Wert seriell aus (für Bolt WiFi Modul).
Schritt 3: Bolt WiFi Modul an Arduino anschließen
Male-Male Jumper-Wires:
- Bolt 3V3 ↔ Arduino 3.3V
- Bolt TX ↔ Arduino RX
- Bolt RX ↔ Arduino TX
Damit: Bolt mit Strom versorgt + serielle Kommunikation Arduino ↔ Bolt hergestellt. Hardware fertig.
Schritt 4: E-Mail-Automatisierung mit Mailgun einrichten
- Mailgun-Account erstellen
- Nach Telefonverifizierung: Domains → „Add Recipient“
- „Invite New Recipient“ → Empfänger-E-Mail eingeben
- Neue Sandbox wird erzeugt → ID anklicken
- Alle Zugangsdaten (API Key, Sandbox URL, Absender, Empfänger) kopieren & speichern
Schritt 5: SMS-Dienst mit Twilio einrichten
- https://www.twilio.com → „Get a Free API Key“ → Registrieren
- Telefonnummer eingeben & verifizieren
- „Products“ → Programmable SMS & Phone Numbers aktivieren
- „Continue“ → Projektname → „Skip this step“ (Teammate einladen)
- „Project Info“ → Account SID & Auth Token notieren
- Dropdown: „Programmable SMS“ → „Get Started“ → Telefonnummer generieren
- „Get a number“ → „Choose this number“ → Finale Nummer kopieren & sichern
Schritt 6: DigitalOcean VPS für Herzfrequenz-Monitoring-Code nutzen
Alternativ: Dedizierter Linux-Rechner oder VM statt VPS.
- DigitalOcean Account erstellen
- Projekt anlegen → Droplet mit Ubuntu erstellen → per PuTTY zugreifen
- Mit per E-Mail zugesandten Credentials einloggen
- Befehle ausführen:
sudo apt-get -y update sudo apt install python3-pip sudo pip3 install boltiot - Datei
conf.pyerstellen:sudo nano conf.py - Folgenden Code mit korrekten Daten einfügen:
# Twilio Credentials SID = 'Deine Twilio SID' AUTH_TOKEN = 'Dein Twilio Auth Token' FROM_NUMBER = 'Twilio-generierte Nummer' TO_NUMBER = 'Deine Nummer (mit +49 Beginn)' # Mailgun Credentials MAILGUN_API_KEY = 'Mailgun Private API Key' SANDBOX_URL = 'Deine Mailgun Sandbox URL' SENDER_EMAIL = 'test@deine-SANDBOX_URL' RECIPIENT_EMAIL = 'Deine Empfänger-E-Mail' # Bolt Credentials API_KEY = 'Dein Bolt Cloud API Key' DEVICE_ID = 'Deine Bolt Device ID' - Datei
heart_rate.pyerstellen:sudo nano heart_rate.py - Code einfügen:
import conf, json, time from boltiot import Email, Bolt from boltiot import Sms, Bolt minimum_limit = 57 # Untere Herzfrequenz-Grenze maximum_limit = 100 # Obere Herzfrequenz-Grenze mybolt = Bolt(conf.API_KEY, conf.DEVICE_ID) mailer = Email(conf.MAILGUN_API_KEY, conf.SANDBOX_URL, conf.SENDER_EMAIL, conf.RECIPIENT_EMAIL) sms = Sms(conf.SID, conf.AUTH_TOKEN, conf.TO_NUMBER, conf.FROM_NUMBER) while True: response = mybolt.serialRead(2) data = json.loads(response) sensor_value = data['value'] try: if sensor_value > maximum_limit or sensor_value < minimum_limit: mailer.send_email("Alert", "The Current Heart Rate is " + str(sensor_value)) sms.send_sms("Alert! The Current Heart Rate is " + str(sensor_value)) except Exception as e: print(e) time.sleep(10) - Speichern & ausführen:
sudo python3 heart_rate.py
Bei abnormer Herzfrequenz → SMS & E-Mail an dein Handy/Postfach.
Code
Arduino Code
(Siehe Schritt 2 oben)
conf.py (Python)
(Siehe Schritt 6 oben)
heart_rate.py (Python)
(Siehe Schritt 6 oben)
Schaltplan
Verbindungen wie im Schaltplan gezeigt (siehe Originalprojekt).
Herstellungsprozess
- Daten & Storytelling nutzen, um Wartungsprojekte genehmigt zu bekommen
- Neun bewährte Strategien, um Ihren Job zu sichern und Karrierewachstum zu beschleunigen
- 5 Wege, wie Anti-Seize-Schmierstoffe in der Instandhaltung Zeit, Geld & Ärger sparen
- Expertenleitfaden: Wartung Ihrer Lösemittel-Rückgewinnungsdestille für Spitzenleistung
- Schnelle Reaktion: Wie wir einen plötzlichen Stopp einer Komori 28" Offsetdruckmaschine lösten
- Bagger-Muldenkipper-Paarungen optimieren für maximale Effizienz & Gewinn im Bergbau
- 4 Schlüsselfaktoren beim Kauf industrieller Schneidmesser
- Den richtigen automatischen Druckerhöhungspumpen für Ihr Zuhause wählen: Praktischer Ratgeber
- Schrauben und Bolzen: Typen, Unterschiede und optimale Anwendung
- Schraube vs. Bolzen: Unterschiede, Typen und Anwendungsbereiche