Съдържание:
- Стъпка 1: Веригата
- Стъпка 2: Кодът за обработка на сигнала и комуникациите със сървъра
- Стъпка 3: Сървърът и комуникациите с данни
- Стъпка 4: Приложението за Android
- Стъпка 5: Заключение
Видео: IOT монитор за сърдечен ритъм (ESP8266 и приложение за Android): 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Като част от моя проект за последната година исках да проектирам устройство, което да следи сърдечната Ви честота, да съхранява вашите данни на сървър и да ви уведомява чрез известие, когато сърдечната Ви честота е ненормална. Идеята зад този проект дойде, когато се опитах да създам подходящо битово приложение, което да уведомява потребителя, когато има сърдечен проблем, но не можах да намеря начин да използвам информация в реално време. Проектът има четири основни части включително физическата верига за измерване на сърдечния ритъм, ESP8266 Wi-Fi модул с код за обработка на сигнал, сървърът за съхраняване на кода и приложение за Android за показване на сърдечната честота.
Видеоклип с подробности за физическата верига може да се види по -горе. Целият код за проекта може да бъде намерен на моя Github.
Стъпка 1: Веригата
Има два основни метода за измерване на сърдечния ритъм, но за този проект реших да използвам фотоплетизмография (PPG), която използва инфрачервен или червен източник на светлина, който се пречупва през първите няколко слоя кожа. Фотосензор се използва за измерване на промяната в интензитета на светлината (когато кръвта тече през съд). PPG сигналите са изключително шумни, затова използвах лентов филтър, за да филтрирам необходимите честоти. Човешкото сърце бие между 1 и 1,6 Hz честота. Оп-усилвателят, който използвах, беше lm324, който имаше най-доброто компенсиране на напрежението от всички оп-усилватели, които ми бяха достъпни. Ако пресъздавате този проект, прецизният операционен усилвател би бил много по-добър избор.
Използвана е печалба само от две, защото максималният толеранс на напрежение на ESP8266 е 3.3v и не исках да повредя дъската си!
Следвайте схемата по -горе и се опитайте да я накарате да работи на дъска за хляб. Ако нямате осцилоскоп у дома, можете да включите изхода в Arduino и да го начертаете, но се уверете, че напрежението не е по -високо от допустимото от arduino или микроконтролера.
Веригата е тествана върху дъска за хляб и се наблюдава промяна в изхода, когато пръстът е поставен върху светодиода и фототранзистора. След това реших да споя платката заедно, което не беше показано във видеото.
Стъпка 2: Кодът за обработка на сигнала и комуникациите със сървъра
Реших да използвам Arduino IDE на ESP8266, защото е толкова лесен за използване. Когато сигналът беше начертан, той все още беше много шумен, затова реших да го почистя с FIR филтър с плъзгаща се средна стойност с проба от десет. Модифицирах примерна програма Arduino, наречена „изглаждане“, за да направя това. Експериментирах малко, за да намеря начин за измерване на честотата на сигнала. Импулсите са с различна дължина и амплитуда поради това, че сърцето има четири различни типа импулси и характеристиките на PPG сигналите. Избрах известна средна стойност, която сигналът винаги е пресичал като отправна точка за всеки импулс. Използвах пръстен буфер, за да определя кога наклонът на сигнала е положителен или отрицателен. Комбинацията от тези две ми позволи да изчисля периода между импулсите, когато сигналът е положителен и е равен на определена стойност.
Софтуерът създаде доста неточен BPM, който всъщност не можеше да се използва. С допълнителни итерации може да се проектира по -добра програма, но поради ограничения във времето това не беше опция. Кодът може да бъде намерен в линка по -долу.
Софтуер ESP8266
Стъпка 3: Сървърът и комуникациите с данни
Реших да използвам Firebase за съхранение на данните, тъй като това е безплатна услуга и е много лесна за използване с мобилни приложения. Няма официален API за Firebase с ESP8266, но открих, че библиотеката Arduino работи много добре.
В библиотеката ESP8266WiFi.h има примерна програма, която ви позволява да се свържете с рутер със SSID и паролата. Това беше използвано за свързване на платката с интернет, за да могат да се изпращат данни.
Въпреки че съхранението на данни беше лесно, все още има редица проблеми с изпращането на push известия чрез HTTP POST заявка. Намерих коментар за Github, който използва наследствен метод за това чрез облачни съобщения на Google и библиотеката HTTP за ESP8266. Този метод може да се види в кода на моя Github.
Във Firebase създадох проект и използвах API и ключовете за регистрация в софтуера. Облачните съобщения на firebase бяха използвани с приложението, за да изпращат push известия до потребителя. Когато комуникациите бяха тествани, данните можеха да се видят в базата данни, докато ESP8266 работи.
Стъпка 4: Приложението за Android
Много основно приложение за Android е проектирано с две дейности. Първата активност влезе в профила на потребителя или го регистрира с помощта на API на Firebase. Изследвах листа с данни и намерих различни уроци за това как да използвам Firebase с мобилно приложение. Основната дейност, която показва на потребителя данни на потребителя в реално време слушател на събития, така че няма забележимо забавяне в промените в BPM на потребителя. Известията бяха направени с помощта на облачни съобщения на Firebase, които бяха споменати по -рано. В таблицата с данни на Firebase има много полезна информация за това как да се приложи това и приложението може да бъде тествано чрез изпращане на известия от таблото за управление на уебсайта на Firebase.
Целият код за дейностите и методите за съобщения в облака може да се намери в моето хранилище на Github.
Стъпка 5: Заключение
Имаше някои основни проблеми с измерването на BPM на потребителя. Стойностите варират значително и не могат да се използват за определяне на здравето на потребителя. Това се свежда до кода за обработка на сигнала, внедрен в ESP8266. След допълнителни изследвания установих, че сърцето има четири различни импулса с различен период, така че не е чудно, че софтуерът е неточен. Начин за борба с това би било да се вземат средно от четирите импулса в масив и да се изчисли периодът на сърцето през тези четири импулса.
Останалата част от системата беше функционална, но това е много експериментално устройство, което исках да изградя, за да видя дали обектът е възможен. Наследеният код, използван за изпращане на push известия, скоро ще бъде неизползваем, така че ако четете това в края на 2018 г. или късно, ще се изисква друг метод. Този проблем възниква само при ESP, така че ако искате да приложите това на Arduino с WiFi, няма да е проблем.
Ако имате въпроси или проблеми, не се колебайте да ми пишете на Instructables.
Препоръчано:
Сензор за сърдечен ритъм, използващ Arduino (монитор за сърдечен ритъм): 3 стъпки
Сензор за пулс с помощта на Arduino (монитор за сърдечен ритъм): Сензорът за сърдечен ритъм е електронно устройство, което се използва за измерване на сърдечната честота, т.е. скоростта на сърдечния ритъм. Мониторингът на телесната температура, сърдечната честота и кръвното налягане са основните неща, които правим, за да поддържаме здравето си
DIY Smart Watch Tracker Smart Watch с оксиметър и сърдечен ритъм - Модулни електронни модули от TinyCircuits - Най -малката аркада: 6 стъпки
DIY Smart Watch Tracker Smart Watch с оксиметър и сърдечен ритъм | Модулни електронни модули от TinyCircuits | Най -малката аркада: Хей, какво става, момчета! Akarsh тук от CETech. Днес имаме с нас някои от сензорните модули, които са много полезни в ежедневието ни, но в малка версия на самите тях. Сензорите, които имаме днес, са много малки по размер в сравнение с тра
Сърдечен визуализатор - Вижте сърдечния ритъм: 8 стъпки (със снимки)
Сърдечен визуализатор | Вижте как сърцето ви бие: Всички или сме чувствали, или сме чували да бие сърцето ни, но не много от нас са го виждали. Това беше мисълта, която ме накара да започна с този проект. Един прост начин да видите визуално пулса си с помощта на сърдечен сензор и също така да ви научи на основите на електричеството
Монитор за сърдечен ритъм Arduino: 5 стъпки
Монитор за сърдечен ритъм Arduino: Здравейте на всички, създадох този ръчен монитор за сърдечен ритъм, контролиран от Arduino
Проста схема за запис на ЕКГ и монитор за сърдечен ритъм LabVIEW: 5 стъпки
Проста схема за запис на ЕКГ и монитор за сърдечен ритъм LabVIEW: " Това не е медицинско устройство. Това е само за образователни цели, като се използват симулирани сигнали. Ако използвате тази схема за реални измервания на ЕКГ, моля, уверете се, че веригата и връзките верига към инструмент използват подходяща изолация