Daftar Isi:
- Langkah 1: Sirkuit
- Langkah 2: Kode Pemrosesan Sinyal dan Komunikasi Server
- Langkah 3: Server dan Komunikasi Data
- Langkah 4: Aplikasi Android
- Langkah 5: Kesimpulan
Video: Monitor Detak Jantung IOT (ESP8266 dan Aplikasi Android): 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Sebagai bagian dari proyek tahun terakhir saya, saya ingin merancang perangkat yang akan memantau detak jantung Anda, menyimpan data Anda di server dan memberi tahu Anda melalui pemberitahuan ketika detak jantung Anda tidak normal. Ide di balik proyek ini muncul ketika saya mencoba membangun aplikasi fit-bit yang memberi tahu pengguna ketika mereka mengalami masalah jantung, tetapi saya tidak dapat menemukan cara untuk menggunakan informasi waktu nyata. Proyek ini memiliki empat bagian utama termasuk sirkuit fisik untuk mengukur detak jantung, modul Wi-Fi ESP8266 dengan kode pemrosesan sinyal, server untuk menyimpan kode, dan aplikasi Android untuk menampilkan detak jantung.
Video yang merinci sirkuit fisik dapat dilihat di atas. Semua kode untuk proyek dapat ditemukan di Github saya.
Langkah 1: Sirkuit
Ada dua metode utama untuk mengukur detak jantung tetapi untuk proyek ini saya memutuskan untuk menggunakan photoplethysmography (PPG) yang menggunakan sumber cahaya inframerah atau merah yang dibiaskan melalui beberapa lapisan pertama kulit. Sensor foto digunakan untuk mengukur perubahan intensitas cahaya (ketika darah mengalir melalui pembuluh). Sinyal PPG sangat bising jadi saya menggunakan band pass filter untuk menyaring frekuensi tertentu yang diperlukan. Jantung manusia berdetak antara frekuensi 1 dan 1,6 Hz. Op-amp yang saya gunakan adalah lm324 yang memiliki offset tegangan terbaik dari semua op-amp yang tersedia untuk saya. Jika Anda membuat ulang proyek ini, maka op-amp presisi akan menjadi pilihan yang jauh lebih baik.
Keuntungan hanya dua digunakan karena toleransi tegangan maksimum pada ESP8266 adalah 3.3v dan saya tidak ingin merusak papan saya!
Ikuti sirkuit di atas dan coba membuatnya bekerja di papan roti. Jika Anda tidak memiliki osiloskop di rumah, Anda dapat mencolokkan output ke Arduino dan memplotnya, tetapi pastikan tegangannya tidak lebih tinggi dari toleransi Arduino atau mikrokontroler.
Sirkuit diuji pada papan roti dan perubahan output diamati ketika jari ditempatkan di LED dan transistor foto. Saya kemudian memutuskan untuk menyolder papan bersama yang tidak ditampilkan dalam video.
Langkah 2: Kode Pemrosesan Sinyal dan Komunikasi Server
Saya memutuskan untuk menggunakan Arduino IDE pada ESP8266 karena sangat mudah digunakan. Ketika sinyal diplot, masih sangat bising jadi saya memutuskan untuk membersihkannya dengan filter rata-rata bergerak FIR dengan jumlah sampel sepuluh. Saya memodifikasi contoh program Arduino yang disebut "smoothing" untuk melakukan ini. Saya bereksperimen sedikit untuk menemukan cara mengukur frekuensi sinyal. Pulsa memiliki panjang dan amplitudo yang bervariasi karena jantung memiliki empat jenis pulsa yang berbeda dan karakteristik sinyal PPG. Saya memilih nilai tengah yang diketahui bahwa sinyal selalu bersilangan sebagai titik referensi untuk setiap pulsa. Saya menggunakan penyangga cincin untuk menentukan kapan kemiringan sinyal positif atau negatif. Kombinasi keduanya memungkinkan saya untuk menghitung periode antara pulsa ketika sinyal positif dan sama dengan nilai tertentu.
Perangkat lunak ini menghasilkan BPM yang cukup tidak akurat yang sebenarnya tidak dapat digunakan. Dengan iterasi tambahan, program yang lebih baik dapat dirancang tetapi karena kendala waktu, ini bukan pilihan. Kode dapat ditemukan di tautan di bawah ini.
Perangkat Lunak ESP8266
Langkah 3: Server dan Komunikasi Data
Saya memutuskan untuk menggunakan Firebase untuk menyimpan data karena ini adalah layanan gratis dan sangat mudah digunakan dengan aplikasi seluler. Tidak ada API resmi untuk Firebase dengan ESP8266 tetapi saya menemukan perpustakaan Arduino bekerja dengan sangat baik.
Ada contoh program yang dapat ditemukan di perpustakaan ESP8266WiFi.h yang memungkinkan Anda terhubung ke router dengan SSID dan Kata Sandi. Ini digunakan untuk menghubungkan papan ke internet sehingga data dapat dikirim.
Meskipun menyimpan data dengan mudah dilakukan, masih ada sejumlah masalah dengan pengiriman pemberitahuan push melalui permintaan HTTP POST. Saya menemukan komentar di Github yang menggunakan metode lama untuk melakukan ini melalui pesan cloud Google dan perpustakaan HTTP untuk ESP8266. Cara ini bisa dilihat pada kode di Github saya.
Di Firebase saya membuat proyek dan menggunakan API dan kunci pendaftaran dalam perangkat lunak. Perpesanan cloud firebase digunakan dengan aplikasi untuk mengirim pemberitahuan push kepada pengguna. Ketika komunikasi diuji, data dapat dilihat di database saat ESP8266 sedang berjalan.
Langkah 4: Aplikasi Android
Aplikasi Android yang sangat mendasar dirancang dengan dua aktivitas. Aktivitas pertama membuat pengguna login atau mendaftarkannya menggunakan Firebase API. Saya meneliti lembar data dan menemukan berbagai tutorial tentang cara menggunakan Firebase dengan aplikasi seluler. Aktivitas utama yang menampilkan pengguna data pengguna sebagai pendengar acara waktu nyata sehingga tidak ada penundaan yang nyata dalam perubahan BPM pengguna. Pemberitahuan push dilakukan menggunakan perpesanan cloud Firebase yang disebutkan sebelumnya. Ada banyak informasi berguna di lembar data Firebase tentang cara menerapkan ini dan aplikasi dapat diuji dengan mengirimkan pemberitahuan dari dasbor di situs web Firebase.
Semua kode untuk aktivitas dan metode pengiriman pesan cloud dapat ditemukan di Repositori Github saya.
Langkah 5: Kesimpulan
Ada beberapa masalah utama dengan mengukur BPM pengguna. Nilainya sangat bervariasi dan tidak dapat digunakan untuk menentukan kesehatan pengguna. Ini bermuara pada kode pemrosesan sinyal yang diterapkan pada ESP8266. Setelah penelitian tambahan saya menemukan bahwa jantung memiliki empat denyut yang berbeda dengan periode yang bervariasi sehingga tidak mengherankan jika perangkat lunaknya tidak akurat. Cara untuk memerangi ini adalah dengan mengambil rata-rata dari empat denyut nadi dalam suatu susunan dan menghitung periode jantung selama empat denyut itu.
Sisa sistem berfungsi tetapi ini adalah perangkat yang sangat eksperimental yang ingin saya buat untuk melihat apakah objek itu mungkin. Kode lama yang digunakan untuk mengirim pemberitahuan push akan segera tidak dapat digunakan sehingga jika Anda membaca ini pada akhir 2018 atau terlambat, metode yang berbeda akan diperlukan. Masalah ini hanya terjadi pada ESP, jadi jika Anda ingin menerapkan ini pada Arduino yang mendukung WiFi, itu tidak akan menjadi masalah.
Jika Anda memiliki pertanyaan atau masalah, jangan ragu untuk mengirimi saya pesan di Instructables.
Direkomendasikan:
Sensor Detak Jantung Menggunakan Arduino (Pemantau Detak Jantung): 3 Langkah
Sensor Detak Jantung Menggunakan Arduino (Heart Rate Monitor): Sensor Detak Jantung adalah perangkat elektronik yang digunakan untuk mengukur detak jantung yaitu kecepatan detak jantung. Memantau suhu tubuh, detak jantung, dan tekanan darah adalah hal dasar yang kita lakukan agar kita tetap sehat. Detak jantung dapat
Visualisasi Jantung - Lihat Detak Jantung Anda: 8 Langkah (dengan Gambar)
Visualisasi Jantung | Lihat Detak Jantung Anda: Kita semua pernah merasakan atau mendengar detak jantung kita, tetapi tidak banyak dari kita yang melihatnya. Ini adalah pemikiran yang membuat saya memulai proyek ini. Cara sederhana untuk melihat detak jantung Anda secara visual menggunakan sensor Jantung dan juga mengajari Anda dasar-dasar tentang listrik
Mengukur Detak Jantung Anda Ada di Ujung Jari Anda: Pendekatan Photoplethysmography untuk Menentukan Detak Jantung: 7 Langkah
Mengukur Detak Jantung Anda Ada di Ujung Jari Anda: Pendekatan Photoplethysmography untuk Menentukan Denyut Jantung: Photoplethysmograph (PPG) adalah teknik optik sederhana dan murah yang sering digunakan untuk mendeteksi perubahan volume darah di jaringan mikrovaskular. Ini sebagian besar digunakan secara non-invasif untuk melakukan pengukuran di permukaan kulit, biasanya
EKG dan Monitor Detak Jantung: 6 Langkah
EKG dan Monitor Detak Jantung: Elektrokardiogram, juga disebut EKG, adalah tes yang mendeteksi dan merekam aktivitas listrik jantung manusia. Ini mendeteksi detak jantung dan kekuatan dan waktu impuls listrik yang melewati setiap bagian jantung, yang mampu mengidentifikasi
Sirkuit Perekaman EKG Sederhana dan Monitor Detak Jantung LabVIEW: 5 Langkah
Sirkuit Perekaman EKG Sederhana dan Monitor Detak Jantung LabVIEW: "Ini bukan perangkat medis. Ini untuk tujuan pendidikan hanya menggunakan sinyal simulasi. Jika menggunakan sirkuit ini untuk pengukuran EKG nyata, pastikan sirkuit dan koneksi sirkuit-ke-instrumen menggunakan te