Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Real-time IoT hartslagmonitor met Arduino en MAX30100

Onderdelen en benodigdheden

Onderdeel Aantal
Arduino UNO 1
ProtoCentral Pulse Oximeter & Hartslagsensor (MAX30100) 1
USB-A naar Micro-USB kabel 1
Draadjes (jumper wires) 1 set

Apps en online diensten

App/Dienst
Arduino IDE
Node.js
Amazon Web Services (AWS) EC2

Over dit project

In dit project bouwen we een hartslagdetectie- en monitoringssysteem met Arduino dat de hartslag meet met de pulssensor en de waarden weergeeft in BPM (slagen per minuut).

Voor dit project kun je je pc, Mac of Raspberry Pi gebruiken.

De stappen zijn als volgt:

1) Arduino voorbereiden

Upload de onderstaande sketch naar de Arduino en controleer of je data ontvangt in de Seriële Monitor:

Real-time IoT hartslagmonitor met Arduino en MAX30100

2) Node.js installeren

Installeer Node.js op je pc, Mac, Linux-pc of Raspberry Pi:

  • Windows: installeer het pakket van https://nodejs.org/
  • Mac: open terminal en voer brew install nodejs uit
  • Linux / Raspberry Pi: open terminal en voer sudo apt-get install nodejs uit

3) Benodigde Node.js-pakketten installeren

Voer de volgende commando's uit in je terminal:

npm install -g socket.io
npm install -g serialport
npm install -g johnny-five
npm install -g express

4) Scripts uitvoeren

  • Sluit de Arduino aan op de pc / Raspberry Pi en controleer of de data in de Seriële Monitor van de Arduino IDE binnenkomt.
  • Zodra dit geverifieerd is, voer de scripts uit in de onderstaande volgorde:
node run.js
  • Zodra je "Communication is on!" ziet in je terminal, open page.html in een browser om de waarden te zien.
  • Dit draait het programma alleen op localhost.
  • Om het via internet te bekijken, heb je Amazon Web Services nodig.

5) Amazon Web Services (AWS) configureren

  1. Maak een account aan of log in op je AWS-account.
  2. Ga naar de EC2-module.
  3. Real-time IoT hartslagmonitor met Arduino en MAX30100
  4. Klik op "Launch Instance".
  5. Real-time IoT hartslagmonitor met Arduino en MAX30100
  6. Selecteer een besturingssysteem.
  7. Real-time IoT hartslagmonitor met Arduino en MAX30100
  8. Klik op "Review and Launch".
  9. Real-time IoT hartslagmonitor met Arduino en MAX30100
  10. Klik op "Launch", maak een nieuwe sleutelpaar aan en download het. Dit bestand heb je later nodig voor toegang.
  11. Real-time IoT hartslagmonitor met Arduino en MAX30100
  12. Kies de getoonde services en klik op "Connect".
  13. Real-time IoT hartslagmonitor met Arduino en MAX30100
  14. Er wordt een URL en SSH-link getoond. Ga naar de map waar je de sleutel hebt gedownload, open een terminal daar en plak de SSH-link.
  15. Real-time IoT hartslagmonitor met Arduino en MAX30100
  16. Herhaal stappen 2, 3 en 4 op de server. Sluit de terminal na afloop.
  17. Kies opnieuw de services, klik op "Connect" en gebruik de gegenereerde URL om de output via internet te bekijken.
  18. Real-time IoT hartslagmonitor met Arduino en MAX30100

De video

Klaar!

Code

IR_Pulsr.ino Arduino

Deze code moet naar de Arduino geüpload worden.

int UpperThreshold = 518; 
int LowerThreshold = 490; 
int reading = 0; 
float BPM = 0.0; 
bool IgnoreReading = false; 
bool FirstPulseDetected = false; 
unsigned long FirstPulseTime = 0; 
unsigned long SecondPulseTime = 0; 
unsigned long PulseInterval = 0; 

void setup(){ 
  Serial.begin(9600); 
} 

void loop(){ 
  reading = analogRead(0); 
  if(reading > UpperThreshold && IgnoreReading == false){ 
    if(FirstPulseDetected == false){ 
      FirstPulseTime = millis(); 
      FirstPulseDetected = true; 
    } else{ 
      SecondPulseTime = millis(); 
      PulseInterval = SecondPulseTime - FirstPulseTime; 
      FirstPulseTime = SecondPulseTime; 
    } 
    IgnoreReading = true; 
  } 
  if(reading < LowerThreshold){ 
    IgnoreReading = false; 
  } 
  BPM = (1.0/PulseInterval) * 60.0 * 1000; 
  Serial.print(BPM); 
  Serial.println(" BPM"); 
  Serial.flush(); 
}

run.js JavaScript

Deze code stelt de verbinding tussen seriële data en de server tot stand.

var SerialPort = require('serialport')
var Readline = SerialPort.parsers.Readline
var express = require('express');
var socket = require('socket.io');
var app = express();
var server = app.listen(3005);
app.use(express.static('public'));
var io = socket(server);
io.on('connection', function(socket){ 
  console.log(socket.id); 
}); 
var serialPort = new SerialPort('/dev/tty.usbmodem1421', { baudRate: 9600 })
var parser = new Readline()
serialPort.pipe(parser)
parser.on('data', function (data) { 
  io.sockets.emit('map', data); 
}) 
serialPort.on('open', function () { 
  console.log('Communication is on!') 
})

page.html HTML

Deze webpagina toont het aantal hartslagen per minuut.

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<script src='nerve.js'></script> 
<script src='speech.js'></script> 
<meta name="viewport" content="user-scalable=no,initial-scale=1,maximum-scale=1" /> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.1.0/socket.io.dev.js"></script> 
<title></title> 
<style> 
body { margin: 0; background-image: url('https://www.skipprichard.com/wp-content/uploads/2015/07/bigstock-Red-Heart-On-Wooden-Background-56485448.jpg') } 
h1 { padding-top: 100px; font-family: monospace; text-align: center; font-size: 100px; } 
</style> 
</head> 
<body> 
<h1 id="hello"></h1> 
<script> 
var socket = io.connect("https://localhost:3005"); 
var socket_1 = io.connect("https://ec2-18-220-142-52.us-east-2.compute.amazonaws.com:4000"); 
socket.on('map', function(data){ 
  socket_1.emit('map', data); 
  document.getElementById('hello').innerHTML = data; 
}); 
</script> 
</body> 
</html>

Schema's

Real-time IoT hartslagmonitor met Arduino en MAX30100

Productieproces

  1. Hartslagpulsen uitlezen met Windows 10 IoT Core op Raspberry Pi – Stap-voor-stap gids
  2. Remote Hartslagmonitoringssysteem met AWS IoT-waarschuwingen
  3. Bouw een indrukwekkend monitor Ambilight-systeem met Arduino
  4. Real-time IoT hartslagmonitor met Arduino en MAX30100
  5. Externe IoT-besturing van een zelfgebouwde robotarm
  6. Bouw een betrouwbare infrarode hartslagsensor met Arduino: stapsgewijze handleiding
  7. Bouw een Slimme IoT Pot met ESP8266, Arduino & Ultrasonische Sensor – Real-time Monitoring
  8. Je TV bedienen met Alexa via Arduino IoT Cloud – stapsgewijze handleiding
  9. Bouw een compacte FM-radio met Arduino Nano en RDA5807M
  10. Geïntegreerde hartslagsensoren in slimme kleding: betrouwbare draagbare monitoring
  11. Imkerei Revolutioneren: IoT-sensoren Monitoren Bijenkorvengezondheid en Versterken Gewasbestuiving