Мгновенные Email и SMS оповещения при аномальном пульсе
Компоненты и материалы
| Датчик пульса (Heartbeat Measuring Sensor Module) | 1 шт. |
| Arduino Mega 2560 | 1 шт. |
| WiFi-модуль Bolt IoT | 1 шт. |
| Перемычки | 7 шт. |
Приложения и сервисы
- Bolt Cloud (IoT-платформа)
- DigitalOcean VPS (или любой Linux-сервер/VM) — для запуска Python-скрипта мониторинга
- Mailgun (Email API)
- Twilio (SMS API)
О проекте
Фитнес-браслеты мониторят пульс 24/7, но не шлют алерты при аномалиях. Этот проект добавляет уведомления на Email и SMS при выходе пульса за норму.
Шаг 1: Подключение датчика пульса к Arduino
- Выход датчика → D2 Arduino
- VCC → 5V, GND → GND
Шаг 2: Скетч Arduino
Считает импульсы за 10 секунд, умножает на 6 (уд/мин), отправляет в Serial (9600 бод) для Bolt WiFi.
unsigned long highCounter = 0;
int pulse = 0, val = 0, 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++;
}
if (millis() - oldMillis >= 10000) {
oldMillis = millis();
val = highCounter * 6;
if (highCounter > 1) Serial.println(val);
highCounter = 0;
}
}
Шаг 3: Подключение Bolt WiFi к Arduino
- Bolt 3V3 → Arduino 3.3V
- Bolt TX → Arduino RX (D0)
- Bolt RX → Arduino TX (D1)
Питание Bolt и последовательный порт для передачи данных пульса в облако.
Шаг 4: Настройка Mailgun (Email)
- Регистрация → верификация телефона.
- Domains → Add Recipient → Invite New Recipient → ваш Email.
- Получите sandbox URL, API key, sender email (test@sandbox...).
Шаг 5: Настройка Twilio (SMS)
- Регистрация → верификация номера.
- Products → Programmable SMS + Phone Numbers.
- Project Info → Account SID, Auth Token.
- Programmable SMS → Get a number → ваш отправительский номер.
Шаг 6: Запуск мониторинга на DigitalOcean (Python)
- Создайте Droplet (Ubuntu), зайдите по SSH (PuTTY).
sudo apt-get -y update && sudo apt install python3-pip && sudo pip3 install boltiot- Создайте
conf.pyс ключами (Twilio SID/Token/номера, Mailgun API/URL/email, Bolt API Key/Device ID). - Создайте
heart_rate.py:
import conf, json, time
from boltiot import Email, Bolt, Sms
min_limit = 57 # мин. порог пульса
max_limit = 100 # макс. порог пульса
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 > max_limit or sensor_value < min_limit:
mailer.send_email("Alert", f"The Current Heart Rate is {sensor_value}")
sms.send_sms(f"Alert! The Current Heart Rate is {sensor_value}")
except Exception as e:
print(e)
time.sleep(10)
sudo python3 heart_rate.pyПри аномальном пульсе уходит Email и SMS.
Код
- Arduino скетч (выше)
- conf.py — конфигурация ключей
- heart_rate.py — мониторинг и алерты
Схемы
Схема подключения датчика пульса, Arduino Mega и Bolt WiFi (Serial TX/RX + 3.3V).
Производственный процесс
- Как использовать данные и сторителлинг для одобрения ваших проектов обслуживания
- Девять проверенных стратегий сохранения работы и ускорения карьерного роста
- 5 способов, как антипригарные смазки экономят время, деньги и предотвращают проблемы в MRO
- Экспертное руководство: обслуживание вашего спиртового ректификационного куба для пиковой производительно…
- Быстрый отклик: как мы устранили внезапную остановку на полиграфическом прессе Komori 28″
- Оптимизация пар экскаватор-самосвал для максимальной эффективности и прибыли в горном деле
- 4 ключевых фактора при выборе промышленных режущих лезвий
- Выбор правильного автоматического насоса повышения давления для дома: практическое руководство
- Виды винтов и болтов: полное руководство для правильного выбора
- Винт или болт: ключевые отличия, виды и сферы применения