как пульсометр подключить к телефону

Как измерить пульс при помощи Android

Сегодня рынок наводнен дешевыми фитнес-трекерами, умными часами и другими гаждетами, которые предлагают множество функций для ведения здорового образа жизни. Шагомер, подсчет количества калорий и так далее. Но особняком стоит опция отслеживания сердечного ритма, ведь сердце — это один из важнейших органов нашего организма. Как измерить пульс и частоту сердечных сокращений при помощи смартфона на Android? И нужно ли для этого покупать специальный браслет? Давайте разбираться.

как пульсометр подключить к телефону

С одной стороны, можно обойтись и без дополнительных устройств. С другой же, точность в таком случае будет оставлять желать лучшего. Для этого стоит понять, как вообще работает технология измерения пульса на мобильных устройствах.

Как датчики сердечного ритма измеряют пульс?

Датчики сердечного ритма, установленные в смарт-устройствах и фитнес-трекерах, используют свет. Если вы посветите фонариком на руку, вы увидите свет, проходящий через кожу. Сенсоры сердечного ритма тоже испускают свет, который проникает под кожу и отражается кровеносными сосудами. Колебания сосудов улавливаются датчиком и этот сигнал преобразуется в показатель пульса.

В большинстве случаев частота пульса равняется частоте сердечных сокращений, но при ряде состояний в этих показателях могут быть расхождения, что может говорить о проблемах со здоровьем. Так что полностью полагаться на эту технологию не стоит.

Измерение пульса на Android

В Google Play Store есть много приложений, которые дадут вам достаточно хорошие результаты в измерении пульса. Например, программа Accurate Heart Rate Monitor. Она позволяет измерять пульс с помощью камеры и вспышки смартфона. Приложение поддерживает Google Fit и может вести статистику. Приложение работает не так быстро, как фитнес-трекеры, но является при этом весьма точным.

Чтобы измерить частоту сердечных сокращений с помощью приложения, установите его на свой телефон и откройте. Приложение попросит вас предоставить доступ к камере, чтобы она могла включить фонарик и записать данные. После того, как вы дадите разрешение, как только вы положите палец на датчик камеры, программа начнет свою работу.

С другой стороны, специализированные фитнес-трекеры, хоть и работают по тому же принципу, находятся на запястье куда дольше, чем вы держите палец у камеры смартфона. А значит, что объем получаемых данных является более полным. Помимо этого, многие трекеры и часы оснащены функцией предупреждения, если вдруг ваш пульс опускается или поднимается выше определенной отметки. Добиться такого же эффекта в мониторинге при помощи камеры смартфона не так уж просто. Поэтому если вам важна точность — ваш выбор узкоспециализированное устройство. В противном случае можно обойтись и обычной камерой со вспышкой.

А вы пользуетесь фитнес-трекерами или смарт-часами? Расскажите об этом в нашем чате в Телеграм.

Источник

Подключаем нагрудный датчик пульса по Bluetooth на Swift

С чего все началось?

как пульсометр подключить к телефону

Немного теории о технологии Bluetooth LE

Конечно, цитировать и переписывать спецификацию протокола BLE 5.2 нет никакого смысла, поэтому ограничимся основными понятиями.

Центральное и периферийное устройство

В зависимости от использования и назначения, устройство Bluetooth может быть:

Рекламные пакеты данных протокола

Рекламные или оповещательные данные отправляются с периферийного устройства в виде пакетов, которые содержат в себе основную информацию об устройстве: его название, а также его функциональные возможности. Задача центрального устройства, получить их, прочитать, а после выделить из списка периферии необходимый для подключения девайс.

Объем рекламных пакетов не очень большой и вместить всю информацию об устройстве не способен. Чтобы получить доступ ко всем возможностям и характеристикам устройства, необходимо выполнить подключение, после чего считать его данные, которые, в свою очередь, могут быть предоставлены в виде:

Перейдем к написанию кода

Создадим проект в Xcode с одноимённым названием, после чего добавим несколько необходимых Label в Main.storyboard и перетянем outlets этих labels во View Controller, закрепим их с помощью constraints, а также скроем их для первоначального изображения в методе viewDidLoad, как я сделал это на изображении:

как пульсометр подключить к телефону

Я создал outlets для текстовых значений «121» и «грудь», другие же текстовые значения просто закрепил на view, так как изменений в них делать мы не планируем.

Отладку и демонстрацию работы необходимо совершать на реальном устройстве, так как симулятор не поддерживает возможность работы по протоколу Bluetooth.

как пульсометр подключить к телефону

В файле Info.plist проекта необходимо добавить свойство: Bluetooth Always Usage Description и прикрепить к нему описание, чтобы уведомить пользователя об использовании данных по Bluetooth при первом запуске приложения. Если данное свойство не добавить в список, то приложение «упадет» с одноименной ошибкой. Не забывайте про это!

Подключаем библиотеку Bluetooth

Тут все просто, для подключения библиотеки воспользуемся следующей строчкой:

Вспомним, что по протоколу у нас существуют так называемые центральные и периферийные устройства, логично предположить, что основной функционал работы данного протокола будет исполнен методами делегатов централи и периферии.

Для начала создадим переменную центрального (главного) устройства в проекте рядом с объявлением других переменных:

Теперь, чтобы получить доступ к методам необходимо назначить ViewController делегатом, но предварительно подпишем его под протокол CBCentralManagerDelegate. Сделать это предлагаю в extension ViewController, так будет рациональнее.

Xcode на такое пользовательское действие отреагирует ошибкой: «Type ‘ViewController’ does not conform to protocol ‘CBCentralManagerDelegate'», оповещая, что данный протокол требует обязательную реализацию метода: «func centralManagerDidUpdateState(_ central: CBCentralManager)». Нажмем «fix», добавив этот метод в проект. Данный метод нужен для автоматической проверки состояния центрального менеджера, которого мы создали ранее.

Чтобы отобразить все состояния центрального менеджера, в теле метода «func centralManagerDidUpdateState(_ central: CBCentralManager)» напишем:

Xcode автоматически предложит вставить все возможные состояния данного условия, соглашаемся с ним. А в каждом из состояний напишем функцию print(«это состояние»):

Теперь нам осталось проинициализировать переменную «centralManager» и задать ей делегирование. Сделаем это в методе «viewDidLoad», а в качестве параметра очереди напишем «nil», определяя всю работу про Bluetooth в главной очереди.

Собираем проект, запускаем на устройстве с включенным Bluetooth, видим системный запрос за его использование, соглашаемся и получаем в консоль заветное сообщение «central.state is poweredOn«, которое сигнализирует нам о том, что центральный менеджер готов к работе. Если выключить Bluetooth на телефоне, то в консоли появится логичное «central.state is poweredOff«.

Поиск Bluetooth устройств

Центральный менеджер ждет дальнейших указаний, и сейчас он их получит. Для этого в методе «centralManagerDidUpdateState» в случае «.poweredOn» после метода «print» пишем:

Менеджер начнет сканировать все доступные вокруг устройства, а чтобы мы смогли увидеть их в консоли приложения, необходимо реализовать метод делегата в extension ViewController ниже метода «centralManagerDidUpdateState» следующим образом:

Запускаем приложение. И теперь в консоли мы можем увидеть множество всех доступных для подключения устройств. Замечательно! Одним из них и является необходимый для подключения пульсометр. Но чтобы упростить поиск пульсометра, можно воспользоваться некоторой хитростью, которую я сейчас покажу.

Идентификатор служб UUID

Я ранее упомянул наличие данного идентификатора в протоколе Bluetooth как уникальную характеристику для различных устройств, поэтому могу сказать вам, что пульсометры обладают таким уникальным UUID для своей непосредственной службы измерения ЧСС. Список всех UUID можно также найти в спецификации, из которой я нашел нужный: «0x180D». Добавим новую константу в проект над объявленными ранее outlets:

Также обновим метод «centralManager.scanForPeripherals(withServices: nil)» добавив в него вышенаписанный идентификатор пульсометра:

Теперь центральный менеджер находится в поиске устройств с данным UUID, и после некоторого времени в консоли появиться заветное устройство:

Теперь необходимо создать переменную в проекте, с которой мы сможем связать данное устройство, для этого рядом с «var centralManager: CBCentralManager!» напишем:

А в методе «didDiscover peripheral» свяжем найденное устройство с вышеобъявленной переменной и прекратим поиск новых устройств с помощью метода:

Подключаемся к пульсометру

Для этого напишем под строкой «centralManager.stopScan()»:

Нам уже удалось подключиться к пульсометру, но чтобы это действительно увидеть, необходимо реализовать еще один метод делегата «didConnect peripheral» ниже метода «didDiscover peripheral», который автоматически вызывается при подключении нового устройства:

Собираем проект, запускаем на устройстве и видим в консоле заветное «Соединение установлено». Хороший результат, теперь двигаемся дальше.

Получаем список сервисов с пульсометра

После того, как соединение установлено, необходимо сделать запрос об услугах (сервисах), которые данный пульсометр готов предоставить. Для этого после установки соединения вызовем метод «heartRatePeripheral.discoverServices()» в методе «didConnect», который примет следующий вид:

Запрос на получение сервисов сделан, а чтобы их увидеть и начать с ними работать, необходимо расширить класс протоколом «CBPeripheralDelegate» в самом низу нашего проекта и вызвать метод «peripheral(_:didDiscoverServices:)» следующим образом:

Метод получает сервисы, сообщает об этом центральному менеджеру и выводит их в консоль. В данный момент консоль будет пуста, так как необходимо делегировать данный протокол периферийному устройству «heartRatePeripheral». Сделаем это после инициализации периферийного устройства в следующем методе:

Отлично, делегат обьявлен, метод получения сервисов написан, запустим программу на телефоне и получим в консоль список служб пульсометра:

Не все сервисы нам интересны и оставить необходимо лишь первый. Для этого можно провести так называемую фильтрацию с помощью идентификатора UUID в методе «heartRatePeripheral.discoverServices()»

Достаем характеристики из шкафа

Теперь доступный сервис будет посылать свои характеристики, а увидеть мы их сможем в самостоятельном методе делегата «CBPeripheralDelegate» под названием «didDiscoverCharacteristicsFor». Реализуем его и выведем в консоль все доступные характеристики:

Запускаем программу, видим, что характеристики получены, а консоль заполнилась следующими строками:

Видно, что у данной службы две характеристики, имеющие два уникальных идентификатора. Из спецификации на Bluetooth узнаем, что UUID = 2A37 отвечает за измерение ЧСС, а UUID = 2A38 за положение датчика на теле. Положение датчика на теле не самая интересная характеристика в данной теме, но будет полезно считать и ее.

Для удобства добавим в проект два уникальных идентификатора данных характеристик следующим образом:

Характеристики отличаются друг от друга типами свойств. Например, характеристика ЧСС имеет свойство «.notify» т.е. она уведомляет об изменении значения ЧСС, а характеристика положения на теле имеет свойство «.read», т.е. может быть считана напрямую. Данное пояснение необходимо, чтобы правильно получить значения из них.

Положение пульсометра на теле

Характеристика выведена консоль, теперь нужно лишь реализовать метода считывая значений из нее. Для этого напишем запрос на чтение значений «peripheral.readValue(for: characteristic)»

В консоли после выполнения данной программы появится строка «1 bytes». Это нужный результат, потому что мы пытались вывести объект типа «data».

Чтобы «распасить» данный байт, необходимо снова прибегнуть к спецификации, из которой мы сможем понять, как данный байт заполнен. Ускоряя результат, реализуем ниже функцию получения строки положения на теле датчика ЧСС из этого байта:

И теперь вызовем данную функцию в методе «didUpdateValueFor characteristic», одновременно выводя результат на экран телефона (не забудем показать скрытый label для положения датчика):

Ура! Характеристика успешно получена, прочитана и выведена на экран!

как пульсометр подключить к телефону

Не совсем ясно, где еще можно носить данный пульсометр, поэтому существует данная характеристика 🙂

Получение ЧСС и вывод на экран пользователя

Осталось совсем немного, и теперь нужно получить значения из характеристики ЧСС. Как мы помним, у нее тип значения «.notify», поэтому нам нужно как бы «подписаться на нее», чтобы она присылала обновленные значения ЧСС. Для этого нужно выполнить метод «peripheral.setNotifyValue(true, for: characteristic)» в функции «didDiscoverCharacteristicsFor service:

Если запустить приложение, то в консоли появятся стоки:

Unhandled Characteristic UUID: 2A37

Unhandled Characteristic UUID: 2A37

Unhandled Characteristic UUID: 2A37

Именно в этой характеристики и лежат данные о ЧСС. Теперь необходимо провернуть такую же развертку этих данных, обращаясь к спецификации. В некоторых моделях данные могут быть представлены либо 1 либо 2 байтами. Чтобы не получить конфуз, реализуем метод для «парсинга» этих данных в нужном порядке в протоколе «CBPeripheralDelegate».

И, наконец, добавим еще один case в методе «peripheral(_:didUpdateValueFor:error:)», в котором получим ЧСС, а также обновим и покажем label пользовательского интерфейса:

как пульсометр подключить к телефону

Теперь данные с пульсометра выводятся на экран телефона. Я даже слегка нервничаю 🙂

Итоги

В целом гайд по использованию Bluetooth для подключения датчика ЧСС вышел немного большим и местами сложным, надеюсь, что основной смысл мне удалось донести. Конечно, есть еще несколько нереализованных методов, которые можно было бы добавить (например, метод переподключения при обрыве соединения), но я посчитал этого набора достаточным, чтобы в меру оценить лаконичность и удобность библиотеки на swift CoreBluetooth.

Источник

Обзор пульсометра Garmin HRM-Dual, напрямую связывающегося со смартфоном

как пульсометр подключить к телефону

В период вынужденного домоседства остро встаёт вопрос поддержания спортивной формы. Тренироваться дома информативно и безопасно поможет нагрудный пульсометр Garmin HRM-Dual.

О важности контроля пульса во время физических нагрузок известно многим: и профессиональному атлету, и любителю недостаточно субъективной оценки собственных ощущений, чтобы, тренируясь, не навредить здоровью. Задачу наблюдения за пульсом решают современные гаджеты, например, смарт-часы со встроенным оптическим пульсометром. Но только ли они? Сегодня за бюджетную модель умных GPS-часов Garmin со встроенным пульсометром придется выложить более 20 тыс. руб.

А универсальный монитор сердечного ритма, или пульсометр HRM–Dual, который легко связывается с приложениями и оборудованием не только Garmin, но и других производителей, а также умеет передавать данные ЧСС прямо на смартфон, обойдется дешевле более чем в два раза.

как пульсометр подключить к телефону

HRM-Dual, популярная модель нагрудного пульсометра от Garmin благодаря оптимальному соотношению цена-качество и своей универсальности, подходит для любых типов занятий, кроме плавания. Этот компактный аксессуар в официальном интернет-магазине Garmin c годовой гарантией обойдется вам менее чем в 10 тыс. руб. Встроенной батареи хватит на 3,5 года при ежедневном использовании в среднем 1 час в день (батарею можно заменить). Мягкий ремешок пульсометра не сползает, не натирает кожу, легко стирается. (На время стирки пластиковый модуль пульсометра, хоть и с водостойкостью 1 АТМ, рекомендуется снимать).

как пульсометр подключить к телефону

Нагрудный монитор, конечно, не покажет подробных результатов вашей тренировки и другой интересной информации, как смарт-часы Garmin, но пульс измерит точно.

Показатели частоты пульса дают нам понять, хорошо ли справляется сердце с предложенной нагрузкой, не чрезмерна ли она, и как привыкает к ней организм с течением времени. Известно, что безопасные значения пульса у каждого человека индивидуальны: они зависят от тренированности, текущего состояния здоровья, вида активности и множества других причин. Нормальное значение пульса в состоянии покоя обычно лежит в диапазоне 60 – 80 ударов в минуту. При нагрузке, как и при болезни, пульс может возрастать в разы. Неважно, с какой частотой и интенсивностью вы тренируетесь: полезная привычка наблюдать за пульсом позволяет следить за здоровьем и вовремя распознавать отклонения от нормы.

как пульсометр подключить к телефону

А нагрудный монитор сердечного ритма Garmin HRM–Dual, который без проблем сопрягается со смартфоном и передаёт на него данные вашего пульса, добавит этим занятиям большей информативности.

Источник

Как пульсометр подключить к телефону

Разыскиваю датчик пульса, кот. мона подключить к HTC на android
может кто встречал?
активно использую прогу cardiotrainer, кот. пишет статистику с пом. GPS при тренировках (бег, лыжи, байк)
вот хочется узнать статистику по частоте пульса.

Polar WearLink®+ transmitter with Bluetooth®

Там же инфа где купить.

at36, из отзывов в инете больше ни у кого не встречал таких проблем.

Добавлено 08.08.2012, 14:09:

Кто-нибудь знает пояс Suunto Dual Comfort Belt будет работать со смартфоном Sony Xperia Go?

Zordrack, H7 как написано на polarusa.com совместим с iPhone 4S и iPhone 5, и с их софтом Polar Beat. Вот. Про андроид ничего не сказано.

В общем «всё сложно».

Добавлено: посмотрел отзывы на амазоне на разные ремешки polar, как-то больно уныло 🙁

mw$ а скажи что тебе унылым показалось в отзывах на поларовские ремешки?

Че то айфонный polarbeat кроме как на оффсайте polara нигде не упоминается
может я плохо искал но на appstore его нет, ни здесь на 4pda в разделе айфонов?

Да и по тем ссылкам на оффсайте не видно что он именно ЭКГ получает по форме с ремешка H7, всё как обычно только пульс.

Я бы не стал так категорично утверждать. Во первых не одна точка, а две (контакты находятся по две стороны от коробочки на ремешке), и этого вполне достаточно чтобы снять потенциал. Обычно ЭКГ в стационаре снимают по нескольким датчикам, но есть более простые полевые модели, которые имеют всего одну присоску-контакт и контакт-зажим, сам проходил обследование таким прибором когда-то.
Другой разговор, что пульс гораздо проще отснять, чем ЭКГ, и конечно вряд-ли кто-то из производителей пойдёт на такое усложнение конструкции.
На счёт точности ЭКГ тут опять таки не всё понятно, так как точность может быть разной, обычно приборы ЭКГ имеют частоты дискретизации 128, 256, 512, 1024 Гц (стандарт 128 Гц), а это значит, что если датчик будет иметь точность 128 Гц (а почему бы и нет, точность ЭКГ же!), то точность примерно как у аналогового датчика, а может и хуже. Маркетинг такой маркетинг.

В общем я пока склоняюсь к покупке аналогового датчика, скоро должен прийти из китая, попробую сделать свой гаджет.

Источник

Содержание

Пульсометр [ править | править код ]

История [ править | править код ]

Первые модели состояли из монитора и множества электродов прикрепленных к грудной клетке. В 1977 году Финскими учеными был создан первый беспроводной ЭКГ детектор для команды финских олимпийцев. 1983 год считается началом розничной продажи персональных ЭКГ мониторов сердечного ритма. [1]

Устройство пульсометра [ править | править код ]

как пульсометр подключить к телефону

Современные пульсометры обычно состоят из двух элементов: нагрудного ремня-датчика и приёмника на запястье, gps-навигатора или мобильного телефона. Обычно для получения хорошего контакта электроды датчика смачиваются водой или специальным гелем. Почти все пульсометры имеют дополнительными функции: часы, секундомер, таймер, статистика времени нахождения пульса в заданных зонах, звуковая сигнализация выхода пульса из заданной зоны. При вводе возраста, веса и роста прибор предлагает калькуляторы индекса массы тела, сожженных калорий, сожженного жира, причем последний активизируется обычно только при пульсе выше 120 уд/мин. Зоны пульса можно выбрать из предложенных вариантов для различных степеней подготовки или задать по своему усмотрению.

Более продвинутые модели пульсометров предлагают измерения среднего и максимального пульса, интенсивности и частоты дыхания для оценки параметров, связанных с фитнес-тренировкой, память круговых тренировок. Если приёмником является gps-навигатор, то данные можно сопоставить со скоростью перемещения, скоростью подъёма, высотой и пр.

Тип конструкции [ править | править код ]

1. Наручные. Являются самым распространенным типом устройства, предназначенного для использования спортсменами. Они имеют вид обычных наручных часов, благодаря чему считаются очень удобными в использовании. Особенно при занятиях такими видами спорта как легкая атлетика или езда на велосипеде, рекомендовано делать такой выбор пульсометра. Большое разнообразие продукции данного назначения дает возможность каждому спортсмену подобрать подходящую модель, как по своей функциональности, так и по дизайну. Некоторые производители также могут оснащать их специальной подставкой, предназначенной для установки на руль велосипеда.

2. Напалечные. Преимущества их заключаются, прежде всего, в минимальных размерах и низком потреблении энергии, благодаря чему их можно длительное время использовать в процессе легкоатлетических занятий и тренировок.

3. Велосипедные. Представляют собой небольшие компьютеры, которые крепятся на руль велосипеда и измеряют пульс спортсмена во время езды на нем.

как пульсометр подключить к телефонуКроме типа самого прибора для измерения пульса при выборе устройства рекомендовано учитывать еще тип и сигнала.

Датчик [ править | править код ]

Точность показания результатов измерения зависит от датчика.

1. Нагрудный датчик. Самый точный датчик для определения пульса. Крепится на груди с помощью специального ремня, имеет автономный источник питания, запускаемый при появлении пульса. Передаёт сигнал на расстояние до 70 см в наручные часы-приёмник. Кисти рук остаются свободными.

2. Встроенный датчик. Пульсометры без нагрудного датчика в настоящее время позволяют определить пульс просто коснувшись двух электродов на корпусе пульсометра в течение нескольких секунд. Данные приборы популярны из-за удобства и простоты использования, хотя они не дают такой же высокой точности, как пульсометры, которые используют нагрудный датчик.

3. Датчик пульсации крови. Датчик на мочку уха или на палец. Определяет пульс по пульсации крови в тканях.

Самым удобным типом этого обязательного элемента считается встроенный датчик, который используются в наручных и напалечных пульсометрах, но при этом существует небольшая неточность в показаниях. В отличие от него самым точным является нагрудный датчик, поскольку он крепится непосредственно к груди спортсмена.

Разновидности пульсометров в зависимости от типа датчика и конструкции

как пульсометр подключить к телефону

Сверху: пульсометр с беспроводным нагрудным датчиком. Снизу: часы со встроенным GPS-датчиком

как пульсометр подключить к телефону

Наручный пульсометр с датчиком пульсации крови на пальце

как пульсометр подключить к телефону

Разновидность пульсометра с датчиком пульсации крови на пальце

как пульсометр подключить к телефону

как пульсометр подключить к телефону

Пульсометр с датчиком пульсации крови с клипсой на ухо

Тип передачи сигнала [ править | править код ]

1. Проводной датчик. Датчик соединен с устройством отображение посредством провода, данная конструкция отличается надежностью, так как защищена от помех.

2. Беспроводной датчик. Данные от датчика передаются по радиоканалу как в аналоговом так и цифровом виде. Недостатком является необходимость смены элеметнов питания, а также возможное нарушение передачи данных в условиях сильных радиопомех, движении под линиями электропередач.

Более удобными в использовании являются беспроводные устройства, но нужно понимать, что результат не всегда будет максимально точным при таком выборе пульсометра. Покупать прибор нужно только при учете всех своих потребностей в осуществлении такой покупки.

Приложения для смартфона (Android) [ править | править код ]

Что бы не тратить деньги на пульсометр, шагомер и подобные измерения, разработчики приложений создали уникальные программы для смартфонов которые способны измерить пульс, артериальное давление, количество шагов, посчитать калории и т. д. не хуже датчиков фитнес гаджетов. Так например в сфере пульсометров, одними из самых популярных приложений является:

Принцип работы приложений один: удерживайте кончик указательного пальца на линзе задней камеры и вспышке телефона. Не нажимайте слишком сильно, чтобы не перекрыть циркуляцию и не получить неверные результаты. Через 1-2 секунды Вы должны увидеть график с пульсом. Все!

как пульсометр подключить к телефонуПриложения работают только на телефонах в камере которых встроен датчик.

как пульсометр подключить к телефонуПриложения не являются медицинским продуктом.

Instant Heart Rate [ править | править код ]

как пульсометр подключить к телефону

В целом приложение достаточно точно измеряет пульс, с интуитивно понятным интерфейсом. Очень редко возникают сбои в работе измерений, которые достаточно быстро устраняются, стоит только прервать неправильное измерение и начать заново.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *