Ненавидеть беговые дорожки, какими бы ни были их плюсы, — это исторически справедливо. Изначально это устройство было придумано в целях, которые имеют мало отношения к спорту, здоровью и радостям сжигания калорий. Речь, скорее, шла о каторге, тюремных наказаниях и терроре заключенных. Так что в XIX веке попасть на беговую дорожку хотели только тогда, когда альтернативой была виселица.
Часто в фитнесе приходится сталкиваться с мифами или ошибочными представлениями о беге на беговой дорожке. Удивительно, но в спорте высших достижений существует единое научное представление об особенностях бега в различных условиях, а в фитнес – индустрии нет корреляции со спортивными разработками в этом аспекте. В данной статье рассмотрим основные заблуждения клиентов относительно бега на беговых дорожках.
После регистрации вы можете задавать вопросы и отвечать на них, зарабатывая деньги. Ознакомьтесь с правилами, будем рады видеть вас в числе наших авторов!
Друзья! Не забывайте, что мы платим до 5 рублей за каждый ответ. Выбирайте любой вопрос и пишите ответ. Платим каждую неделю на сотовый телефон или yoomoney (Яндекс Деньги). Правила здесь.
Вините себя за то, что редко получается проходить 10 тысяч шагов в день? Не спешите расстраиваться. Согласно результатам исследований, полезно двигаться регулярно, а количество шагов в день — строго индивидуальная вещь.
Любой человек в теме здорового образа жизни скажет вам, что каждый день нужно проходить 10 тысяч шагов. Много это или мало? Для хорошей прогулки выходного дня — немного: московский Парк Горького туда и обратно, пара часов неторопливым шагом. Но как найти время и место для регулярных прогулок в будни? Далеко не всем удаётся нахаживать пресловутую «десятку»— нужно работать, заниматься другими делами, отдыхать. А ходить на работу пешком — не выход, если офис далеко, а быть там нужно вовремя.
Браслеты-шагомеры, умные часы, приложения помогают нам считать шаги, но делают это пока весьма приблизительно. Хотя составить примерное представление о собственной активности в течение дня с помощью гаджетов можно. Одно дело просидеть дома за компьютером и набрать на маршруте спальня-туалет-холодильник тысячу шагов за день. Другое — погулять пару раз с собакой, сбегать в магазин и часок побродить в парке. Но и так 10 тысяч шагов набрать довольно сложно.
Но почему именно 10 тысяч шагов? Ведь даже небольшая, но активная прогулка на свежем воздухе отлично наполняет энергией. Кажется, что цифра в 10 000 была всегда и за ней должны стоять серьёзные практические исследования. Удивительно, но таких исследований никогда не проводилось.
На самом деле наблюдения выяснили, что ходить в день 10 тысяч шагов полезнее, чем ходить 5 тысяч в день. А вот после 5-7 тысяч эффект уже практически не растёт.
Мы можем сделать вывод, что для здоровья важна регулярная активность в виде ходьбы. Человек создан, чтобы двигаться. И весь день сидеть за столом или лежать — не лучший для здоровья и энергичности способ проводить день. А вот активные перемещения пешком в течение дня, чтобы ваше устройство показало под вечер 5-7 тысяч шагов — это уже другая история.
В принципе главное — быть активным каждый день, но 10 000 шагов не лучше, чем 7 тысяч шагов. Поэтому двигайтесь, ходите пешком в течение дня, выбирайтесь почаще в парк, в лес, к морю или ходите дома на беговой дорожке.
Конечно, есть нюансы. Пожилым людям может быть сложно делать и 7-10 тысяч шагов, но пешие прогулки в их жизни должны быть обязательно. Тем, кто хочет похудеть, нужно ходить больше тех, кто уже в форме: 10-15 тысяч шагов в день.
Ориентируйтесь на своё самочувствие. Прогулки должны приносить пользу и удовольствие. Ходите больше, а на счётчик шагов смотрите меньше!
И не забывайте, если у вас нет возможности ходить в парке, то можно это делать дома с помощью беговой дорожки. Для городской квартиры отлично подойдет компактная беговая дорожка PROXIMA Persona. Беговая дорожка имеет 22 уровня наклона и 99 программ тренировок, поэтому даже во время ходьбы вы не заскучаете. Беговое полотно дорожки может похвастаться отличной амортизацией: будьте уверены, ваши суставы и позвоночник точно в безопасности. Беговая дорожка PROXIMA Persona рассчитана на многолетнюю эксплуатацию и выдерживает пользователей весом до 180 кг. Не ждите погоду или природу – занимайтесь на беговой дорожке прямо сейчас у себя дома. Ходите когда и сколько вам удобно.
Регулярность тренировок – залог их высокой эффективности!
- Физики о наклонной беговой дорожке
- Опора на поручни во время бега безопасна
- Идентичность движения
- На беговой дорожке можно бегать в любой обуви
- Беговая дорожка — каторга, бизнес и средство террора
- Идентичность получаемой нагрузки
- Температура и воздух в зале благоприятнее для бега.
- Прокачиваем беговую дорожку
- Настоящие истоки изобретения и его будущее
- Статья
- Сборка устройства
- Модуль ядра
- Сервер на Python и определение скорости
- Клиент на Android
- Датчик пульса
- Samsung Health SDK
- Подсчет высоты
- Подсчёт калорий
- Внешний вид приложения
- Результат
- Уильям Кьюбитт потрясен до глубины души
Физики о наклонной беговой дорожке
Время на прочтение
Являются ли бег по наклонной беговой дорожке и бег в горах одним и тем же с физической точки зрения? Вот, что ученые говорят об этом.
“Нельзя достичь ничего действительно стоящего, не приложив к этому усилий.” – Тедди Рузвельт (Teddy Roosevelt)
Одним из самых популярных упражнений в спортзале является беговая дорожка. А почему бы и нет? Бегаете вы или ходите – это отличный способ нагрузить сердечно-сосудистую систему, заставить свое тело двигаться, и для многих людей это – прекрасный способ похудеть.
Вне зависимости от того, чем вы занимаетесь: ходьбой, джоггингом или бегом, можно сделать одну вещь, которая сделает вашу тренировку значительно интенсивнее – наклонить дорожку!
Если вы бегаете/ходите на открытом воздухе, вы могли бы задаться вопросом, действительно ли подъем и занятия на плоскости эквивалентны или между ними есть принципиальная разница. С точки зрения физиологии существует огромное число различий между ходьбой в гору и на плоскости, но что говорят об этом физики?
В физических терминах это означает, что вы не совершаете никакой работы. Конечно, вы тяжело тренируетесь, но пока вы перемещаетесь перпендикулярно силе – в данном случае силе тяжести – вы не совершаете никакой механической работы.
На самом деле, если я заберусь на высоту 5 метров, то сожгу гораздо больше одной калории. Почему? На это есть две наиболее весомые причины:
Сделаем вспомогательную таблицу. Будем записывать в таблицу пройденное расстояние и угол, под которым вы шли, и посмотрим, сколько вы совершите дополнительной работы.
Эта таблица составлена для человека массы 80 кг то есть немного меньше меня. Впечатляет, не правда ли?
В обоих случаях вам нужно приложить часть ваших сил в направлении, противоположном силе притяжения Земли, для того, чтобы идти по поверхности, – это означает, что вам нужно совершить работу против силы тяжести!
Единственная разница между наклонной беговой дорожкой и прямой горной тропинкой заключается в том, что, если вы остановитесь во время подъема в гору, вы действительно остановитесь, в то время как на дорожке вас будет сносить вниз.
И на самом деле нет никакой разницы в том, двигается полотно беговой дорожки или покоится: если вы прикладываете усилие, чтобы подниматься по нему, то с каждым шагом вы должны будете совершать работу. Все остальные факторы – включающие скорость дорожки, направление движения ленты и высоту подъема – не имеют значения по принципу эквивалентности Эйнштейна. Итак, нет разницы между восхождением на гору и занятиями на наклонной беговой дорожке: в обоих случаях вы совершаете одинаковую физическую работу!
Опора на поручни во время бега безопасна
Не вдаваясь в глубины биомеханики и анатомии, констатируем, что опора на поручни сильно изменяет анатомическую технику движения. И торсионная ротация (вращения туловища), которая должна гаситься в поясничном отделе туловища, частично амортизируется в низлежащих суставах, создавая в них значительный вращающий момент, что, особенно в коленном суставе, приводит к опасным травмам. Поэтому если нужно отдохнуть, то можно снизить угол подъема или скорость, в крайнем случае, лучше сойти с движущегося полотна на подножки.
Идентичность движения
Ощущения от бега на дорожке и в естественных условиях похожи, но вот моторика бега и работа основных мышц не одинаковые. На грунте надо вытолкнуть тело ногой и перенести его вперед, а на дорожке нужно просто менять положение ног под как бы неподвижным телом. Это заставляет использовать меньше разгибатели и сгибатели бедра, разница движений так же найдена и в голеностопном суставе: во время бега на беговой дорожке стопа подвергается большей инверсии (вращению во внутрь). Для здорового человека все это ненесет существенной разницы, а вот тем у кого есть определенные проблемы, как например повышенный тонус пояснично-подвздошной мышцы, дорожка полезна не будет.
На беговой дорожке можно бегать в любой обуви
Дорожка действительно хорошо амортизирует и помогает уменьшить нагрузку на колени, связки и позвоночник. По жесткости беговую дорожку можно сравнить с пересеченной местностью. Однако амортизации дорожки не достаточно, и занимаясь на дорожке в неправильной обуви, ударная нагрузка оказывает негативное влияние в первую очередь, на коленные суставы. Кроме того, занимаясь в неправильной обуви страдает и сама техника бега, в конечном счете еще больше усугубляя негативные последствия, оказываемые во время бега на суставы.
Беговая дорожка — каторга, бизнес и средство террора
Кьюбитт создал конструкцию, которая должна была превратить лежебок из тюрем, сидящих на шеях у честных налогоплательщиков, в полезных членов британского общества. Исправлять заблудшие умы и порочные сердца планировалось с помощью двухметрового колеса с 24 лопастями, исполнявшими роль ступеней. Группа заключенных должна были вращать его, нога-в-ногу шагая в бесконечную воображаемую гору.
Затраченные ими усилия, однако, были далеко не воображаемыми: минимальная норма, которую должен был пройти узник, составляла 2000 метров в день. Учитывая, что это была ходьба с высоким подниманием колен, да еще и требующая сильного нажима на ступени, получалась изматывающая работа на несколько часов. Энциклопедия «Британника» вообще описывает типичную норму как 16 630 футов (5069 метров, то есть больше, чем половина высоты Эвереста), которые нужно было «пройти» за 6-10 часов. Учитывая, что каторжанам почти не давали отдыха, работа получалась адской и невероятно изнуряющей.
Сначала такая участь ждала только самых отъявленных негодяев в качестве наказания. Когда правительство поняло выгоду изобретения — каждого, кому не посчастливилось попасть на каторгу с подобным нововведением. В одной только Британии было 40 таких тюрем и еще примерно столько же с похожим на «беговые дорожки» агрегатом, но только приводимым в действие руками, а не ногами. Сколько их было в мире — неизвестно, но в колониях, вроде Ямайки, они существовали точно.
Барабан «шаговой мельницы» вращался не просто так: с помощью мускульной силы перемалывалось зерно, поднималась вода из колодцев и даже вентилировались шахты. Изобретение Кьюбитта ждал моментальный успех — администрации тюрем сразу же смекнули, насколько оно полезно. Теперь-то все эти лоботрясы не просто проедали тюремные харчи, но и приносили пользу Британии. Кроме того, беговые дорожки занимали время заключенных и изматывали их. После очередного восхождения на 16 тысяч футов мало кто был способен строить изощренные планы побега, а уж тем более бежать, обгоняя охрану.
Зато у Уильяма Кьюбитта дела резко пошли в гору. Оценив его инженерную сноровку, правительство пригласило его курировать строительство каналов и доков — весьма престижная и выгодная работа для инженера тех лет.
Идентичность получаемой нагрузки
Покрытие беговой дорожки имеет массу преимуществ. Но также есть и недостатки. При беге на открытом воздухе вы бежите по разным поверхностям: по каменной, по жесткой, мягкой, сырой, сухой и их различным сочетаниям и наклонам. Бег по этим поверхностям создает сложности, которые повышают восприятие и способность нервной и мышечной системы «узнавать» воздействие различных типов почв. Это очень важно не только для бегунов, так как это влияет на баланс, силу, технику и эффективность бега. Поверхность дорожки идеально ровная и с четко заданной программой амортизации.
По этой причине тело входит в определенный ритм и расслабляется, т.е. не полноценно тренируется: полезного опыта и нагрузки многие системы уже не получают. Во время бега по улице или в парке меняется темп, ритм, ширина шага, баланс общего центра тяжести и локальных динамичных звеньев, подошвы ног встречают множество естественных препятствий различных форм: твердые камешки, ломающиеся под ногами веточки, мягкие листья или трава и т.д.
Состав самой поверхности различен, это может быть щебень или асфальт, песок или земля, поверхность может быть сухой или мокрой, скользкой или вязкой. С каждым шагом мозг получает новую информацию, которую надо считать и обработать по всей цепочке импульсов в нервной системе, чтобы выполнить движение. Такая тренировка важна для организма не меньше основных кардиореспираторных изменений или развития мышечной системы, потому что во многом определяет верную координацию движений, их эргономику и расчет необходимых усилий. (Кстати, этот принцип функциональности справедлив и в отношении тренажеров и свободных весов).
Температура и воздух в зале благоприятнее для бега.
Обычно в фитнес-клубе обязательно есть кондиционеры и увлажнители, которые поддерживают нужный микроклимат, но не всегда температура ниже 18-20°С (идеальной температурой для марафона и соревнований на выносливость является температура около 10°С) и влажность в пределах 40%-60%. А главное, нет конвекции (движения воздуха) при беге на дорожке, следовательно, ухудшается эффективность излучения и рассеивания тепла, испарения воды и теплопроводность воздуха, что приводит к перегреву и избыточному обезвоживанию.
Итак, зная особенности бега на беговой дорожке, вы можете использовать их для оптимизации тренинга в зависимости от поставленных целей. Если нет обучающих или реабилитационных задач, то лучше максимально приближать бег на дорожке к бегу в естественных условиях.
В целом, для постоянного изменения скорости и угла наклона бегового полотна рекомендуем пользоваться предустановленными программами тренировок, изменять их в процессе тренировки, если есть такая возможность, и устанавливать собственные. Можно пользоваться свободным режимом, но не всегда бывает удобно постоянно нажимать на кнопки. По возможности пользуйтесь вентилятором и не опирайтесь без острой необходимости на поручни.
Несмотря на то, что беговые дорожки достаточно хорошо амортизируют, бегать нужно в правильной беговой обуви. Избегайте рутинных однообразных занятий и меняйте виды бега, «рельеф трассы», постоянно стремитесь к положительному эмоциональному фону тренировок. Грамотный подход к тренингу – залог вашего успеха.
Прокачиваем беговую дорожку
Недавно я решился на очень странную для себя покупку. Да, я купил себе беговую дорожку.
И вскоре ко мне пришло осознание, что не хватает подробной статистики как при катании на велосипеде. В случае с велосипедом приложение на телефоне пишет и мою скорость, и пульс, и частоту вращения педалей, и подъём. Очень любопытно контролировать все эти параметры во время тренировки, иметь возможность смотреть графики и сравнивать свои результаты время от времени.
Так я решил сделать что-то подобное и с беговой дорожкой: подключить её к смартфону или планшету, чтобы собирать и отображать статистику.
Как обычно, моё повествование и в виде традиционной текстовой статьи, и посредством видео. Кому как больше нравится.
Настоящие истоки изобретения и его будущее
Изобретение «Шаговых мельниц» далось Уильяму Кьюбитту довольно просто. Он был сыном мельника и с детства понимал, как обращаться с такими механизмами. Кроме того, нечто подобное, только работающее в иной плоскости, было придумано еще 6000 лет назад на Ближнем Востоке. Устройства для обмола зерна, приводимые в движение мускульной силой, здесь можно найти даже в наше время. Разве что изначально оно приводится в движение с помощью животных (хотя никто не мешает запрячь и человека). Если вы смотрели фильм про Конана-варвара, то наверняка вспомните, как он крутил подобную мельницу до того, как стал великим воином.
«Шаговые мельницы» Кьюбитта стали символом и, если угодно, мемом викторианского общества. Дело в том, что многие настаивали на том, что оно — едва ли не гуманнейшее из изобретений эпохи. Бедные заключенные, дескать, находились на свежем воздухе и делали полезную зарядку в исцеляющей атмосфере коллективизма. А ведь могли сидеть в застенках, помирая от скуки! Викторианское общество ответило на это самым едким сарказмом и «беговые дорожки» стали синонимом изощренного садизма исправительной системы. Эвфемизм «танцевать на шаговой мельнице» начал означать «оказаться на каторге».
«Беговая дорожка» на каторге в Бирме
В 1902 году практику оздоровительного каторжного бега окончательно отменили как антигуманную. Всего спустя десятилетие, в 1913 году, была запатентована беговая «Тренировочная машина» С. Л. Хагена, и обеспеченные господа смогли почувствовать себя счастливыми физически активными заключенными за свои же деньги.
Современный аналог беговой дорожки создали кардиолог Роберт Брюс и изобретатель медицинских устройств Уэйн Куинтон. Будучи американцами, они, скорее всего, понятия не имели о каторжном предшественнике их изобретения.
Статья
Ещё в момент, когда я собирал беговую дорожку, я заметил, что пульт и само беговое полотно соединяют всего-навсего четыре провода. Судя по всему, часть из них используется для питания пульта, ведь к сети 220 вольт подключается само полотно, а остальные провода нужны для передачи контрольных сигналов в обратную сторону — от пульта к полотну, они управляют скоростью и углом наклона дорожки.
Я подключил осциллограф параллельно этим проводам, пробуя разные комбинации.
В итоге выяснил, что всё примерно так, как я и предполагал. Один из проводов — это земля, и ещё один — питание 12 вольт. Остальные передают цифровые данные.
В одном из них сигнал меняется при переключении скорости и угла наклона. Это именно то, что мне нужно! Амплитуда сигнала — около четырёх вольт. Только вот протокол не похож на что-то стандартное, и сигнал ну очень шумный, когда дорожка включена, надо его как-то фильтровать.
По последнему же проводу просто идут импульсы с постоянной частотой. Судя по всему, чтобы пульт видел подключение к беговому полотну. Если этот провод отключить, пульт сразу выдаёт ошибку.
Показания с датчика пульса по этим проводам явно не передаются, но оно и не нужно. Лучше подключить отдельный нагрудный датчик, который я уже давно использую при езде на велосипеде. К тому же выяснилось, что датчик пульса на самой беговой дорожке сильно врёт, занижая показания.
Сборка устройства
Итак, дальше стоит задача собрать плату, которая подключается параллельно этим проводам, считывает текущие показания скорости и угла наклона и каким-то образом передаёт их по беспроводному соединению в планшет или смартфон.
В очередной раз я решил использовать одноплатный компьютер Onion Omega2. Он должен отлично справиться с поставленной задачей. Нужно только понизить напряжение питания до 3.3 вольт и отфильтровать данные от помех.
Для понижения напряжения я сейчас использую вот такие вот готовые платы с DC-DC конвертером. Они стоят какие-то копейки, выдерживают до пары ампер, а выходное напряжение настраивается крутилкой.
При этом эта плата имеет выводы, чтобы паяться прямо на другую плату, очень удобно. Главное — не свернуть крутилку напряжения после установки в схему.
Для фильтрации помех на линии данных я сделал обычный RC-фильтр: резистор на 2.2 килоома и конденсатор на 22 пикофарада. Это должно отфильтровать высокочастотные помехи, оставив низкочастотный сигнал.
Получилась достаточно маленькая платка.
Я подключил её к проводам беговой дорожки, чтобы посмотреть, насколько хорошо фильтруется сигнал, когда она включена и, судя по всему, форма сигнала стала почти идеальной.
Модуль ядра
Однако, так просто работоспособность железа не проверить. Как мы увидели
ранее на осциллографе, сигналы идут очень быстро, а у нас используется не микроконтроллер, а одноплатный компьютер Omega2 с Linux на борту. Под Linux мы не сможем так быстро обрабатывать сигналы из юзерспейса. А вот из ядра сможем! Поэтому самое время написать модуль ядра Linux!
Написание кода модуля во многом похоже на программирование микроконтроллера. Тоже пишем на Си, тоже всё низкоуровневое, тоже работаем с прерываниями и тоже обращаемся к выводам GPIO. Только вот помимо всего перечисленного ещё взаимодействуем с пространством пользователя посредством псевдофайла. Таким образом наш модуль ядра становится чем-то вроде переходника между железом и обычными приложениями. Собственно, это и называется драйвером.
Поначалу я не знал, как нужно декодировать сигналы, поэтому выводил просто их длительность.
Вскоре стало ясно, что сигналы кодируются длительностью высокого уровня. Он то длиною в 600 микросекунд, то в 1200 микросекунд. Низкий же уровень всегда длиною 600 микросекунд кроме начальной последовательности.
Всего получается 17 таких таких перепадов вниз-вверх. Судя по всему, это 16 бит данных плюс начальная последовательность. Я сделал их декодирование, взяв за основу, что длинные высокие перепады — это логический ноль, а короткие — логическая единица и вывел то, что получилось. Сразу стало видно необходимые мне данные!
16 бит — это, как известно, два байта. Первый байт говорит о типе передаваемых данных: угол наклона или скорость, а второй байт — сами данные. Драйвер получается предельно простой.
Единственным параметром драйвера является номер порта.
/* Module parameters */
static u8 receive_pin = 11;
module_param(receive_pin, byte, S_IRUGO);
MODULE_PARM_DESC(receive_pin,”Treadmill receiver pin number (default 11)”);
При инициализации настраиваем его на вход и задаём прерывание, которое будет срабатывать при каждом изменении уровня на нём.
В этом прерывании первым делом смотрим текущее время. Далее используем это значение, чтобы вычислить, сколько же времени прошло с прошлого срабатывания прерывания и занести это в массив. Само собой, запоминаем текущее время для вычисления в следующий раз. Помимо этого надо перезапустить специальный таймер.
Фишка в том, что если таймер всё-таки сработает, значит перепадов уровня на пине не было достаточно давно, а соответственно пора обработать собранную информацию. В функции, которую вызывает таймер, проверяется, что было ровно 34 перепада, после чего смотрим, какой длительности был каждый интервал. Если там то 600 микросекунд, то 1200 микросекунд, то возьмём за границу 900. Если интервал меньше, то пишем в результат единицу, сдвигая его на один бит. После обработки каждого интервала, отправляем результат в открытые псевдофайлы, передавая таким образом данные в юзерспейс.
Сервер на Python и определение скорости
Дальше остаётся написать скрипт на Python, который будет читать их из псевдофайла и отправлять по сети уже в виде JSON строки. Казалось бы, тут всё достаточно прямолинейно. Однако, если с углом наклона всё просто, и значение во втором байте точно соответствует углу наклона в процентах, то со скоростью всё оказалось гораздо запутаннее.
Значение 9 соответствует одному километру в час, а значение 160 соответствует 18 километрам в час. То есть зависимость данных от реальной скорости совсем не очевидная. Я выписал все значения вручную, вбил их в Excel, построил график и получил весьма неровную кривую.
Причём есть скорости, когда показания на пульте разные, а данные и скорость самой дорожки остаются одинаковыми! Например, 5.2 км/час и 5.3 км/час — это на самом деле одинаковые скорости. Везде обман. Интересно, какая там скорость на самом деле? Замерить бы как-то, но оставлю это на потом.
Если не считать этого перевода попугаев в километры в час, то скрипт получился предельно простым. Читаем данные из псевдофайла Linux, декодируем, принимаем подключения по сети и передаём данные подключившимся по сети клиентам в виде JSON строки.
Думаю, никакая авторизация и безопасность тут не нужны. Состояние беговой дорожки — это не те данные, которые мне хотелось бы защищать от хакеров.
Ставим этот скрипт в автозагрузку и убираем плату внутрь беговой дорожки. Увы, она поместилась только в металлическую трубы, соединяющую пульт с беговым полотном.
Как известно, металл экранирует радиосигнал, поэтому Wi-Fi антенну я вынес наружу трубы, но под пластмассовый кожух, который прячет провода.
На этом непосредственно “умная” беговая дорожка уже готова. Она уже умеет раздавать статистику по сети. Осталось только написать для неё клиент!
Клиент на Android
Чем по моему представлению должен быть такой клиент. Это приложение под Android, которое я буду запускать на планшете или смартфоне и класть поверх дисплея самой беговой дорожки, соответственно оно должно выводить на экран всю информацию по упражнениям, заменяя собой дисплей самой беговой дорожки. Приложение должно уметь работать в фоне, чтобы я мог без проблем смотреть видео во время пробежек. Также оно оно должно вести подробную статистику по пробежкам, синхронизируя всё с облаком и рисуя графики зависимости пульса от скорости и угла наклона.
Сердцем такого приложения должен быть сервис, который работает в фоне, в бесконечном цикле подключается к беговой дорожке, получает данные и декодирует их. В этом особых сложностей нет.
Датчик пульса
Самым сложным внезапно оказалась работа с датчиком пульса. Обнаружилось множество подводных камней. Есть у меня вот такой вот нагрудный пульсометр:
Я им уже давно пользуюсь, когда катаюсь на велосипеде. Он вполне стандартный, работает по BLE а-ля Bluetooth Low Enegy, без проблем спаривается и с телефоном, и с навигатором от Garmin. Я и подумать не мог, что работать с ним из своего приложения будет так неочевидно. У подобных датчиков есть стандартные GUID идентификаторы для разных показаний.
Чтобы начать получать пульс, нужно сначала настроить пульсометр на периодическую отправку показаний. Я смог это сделать только изучением нерабочих примеров и методом тыка.
В итоге я написал класс для работы с датчиком пульса, который автоматически пытается подключиться к нему и периодически сообщает текущий пульс.
Samsung Health SDK
Что же касается статистики и графиков. Я решил не изобретать велосипед, а использовать то, что я уже использую при покатушках на велосипеде, а именно как-то подружиться с замечательным приложением Samsung Health.
Сейчас наверное опять будет выглядеть, будто я Samsung рекламирую. Но на велосипеде это приложение себя действительно отлично зарекомендовало. К моему удивлению оно без проблем подключается ко всем датчикам, показывает и частоту вращения педалей, и обороты колеса, и надиктовывает статистику в наушники, и ту же статистику с графиками показывает, и ачивки выдаёт, и в облаке всё хранит.
Поиск показал, что у Samsung Health есть свой SDK, который хоть и не совсем внятно, но всё-таки документирован: img-developer.samsung.com/onlinedocs/health/android/data/index.html
Работа с ним — это по сути работа с базой данных, в которой хранятся самые разные показания от пройденных шагов и измерений пульса до сахара в крови и фаз сна. Но нас сейчас интересуют записи об упражнениях, которые включают в себя как скалярные значения вроде типа упражнения, времени, расстояния, длительности, сожженных калориях, так и массивы живых данных вроде истории пульса, скорости и координат.
Все эти данные нужно корректно сохранить и подготовить. Некоторые надо вычислить.
Подсчет высоты
Например, высота подъёма. От беговой дорожки нам известен угол подъёма в каждый момент времени, который измеряется в процентах. Процент угла высоты — это отношение пройденного расстояния к подъёму. Выходит, вертикальная скорость равна обычной скорости умноженной на уклон в процентах и деленной на сто. Зная вертикальную скорость мы можем подсчитать текущую высоту в каждый момент времени. В результате её нужно занести в текущие координаты, несмотря на то, что во время упражнения они не меняются и не учитываются.
В ответ на эти данные приложение Samsung Health будет показывать, на сколько я якобы поднялся, а также вертикальную скорость в каждый момент тренировки.
Подсчёт калорий
Но как считать калории? Причём подсчёт калорий является обязательным для Samsung Health. При этом сожжённые калории — это ну очень неточный показатель, который зависит от множества самых разных факторов. Не уверен, есть ли смысл в их подсчёте.
Я мог бы задавать свой вес вручную, но раз уж мы работаем с Samsung Health, я могу брать свой текущий вес оттуда. Ведь я использую умные весы от Xiaomi, которые синхронизируются с Google Fit у меня на телефоне, Google FIt через отдельное приложение синхронизируется с Samsung Health, Samsung Health через облако синхронизируется с собой же на планшете, где его получает уже моё приложение.
Внешний вид приложения
Визуально у приложения задача — это крупно отображать основные показания: скорость, угол, пульс, расстояние, калории. Лучше делать это белым цветом на чёрном фоне, чтобы расход заряда аккумулятора при использовании AMOLED экрана был минимальным, ведь мы конечно же указываем, что при отображении нашего активити экран должен быть включен постоянно.
Кнопки автоматически скрываем, когда беговая дорожка активна. Запустить и остановить тренировку можно только при нулевой скорости.
И конечно же надо сделать поддержку режима “картинка в картинке”. Делается это всего в несколько строк. Надо просто указать в манифесте, что активити поддерживает этот режим, а в коде переходить в него при сворачивании приложения. В результате можно смотреть, например, YouTube и видеть в уголке экрана показания беговой дорожки. Получилось очень удобно.
Но на этом этапе меня окончательно настигла боль разработчика под Android, ведь у меня уже получается четыре разных размера экрана: телефон и планшет в обычном режиме и они же в режиме “картинка в картинке”. И так получилось, что если я подбираю нормальный размер шрифтов под один размер экрана, то в других случаях всё то слишком мелко, то слишком крупно.
При разработке под Android есть несколько категорий экранов, и можно сделать, чтобы разные параметры применялись под них автоматически, но в моём случае этого оказалось недостаточно.
В итоге пришлось рассчитывать и задавать размеры шрифтов в коде, что я считаю весьма неправильным. Однако, работает в итоге идеально.
Результат
И вот результат. Открываем приложение, ждём соединения с беговой дорожкой и датчиком пульса, запускаем тренировку и пользуемся беговой дорожкой как обычно.
По окончании тренировки останавливаем беговую дорожку. По достижении нулевой скорости появится кнопка “завершить тренировку”. Нажимаем её, и статистика отправляется в Samsung Health. Открываем его и видим все данные.
Можно посмотреть график пульса, скорости и подъёма, сравнить свои успехи в разные промежутки времени, всё это хранится в облаке и доступно со всех устройств.
Можно и с Google Fit это синхронизировать. Красота. Я доволен результатом. Теперь главное — не забрасывать занятия. Можно добавить в функционал приложения, чтобы оно напоминало о тренировках, если я долго ленюсь. Но эту функцию мне делать уже лень.
Уильям Кьюбитт потрясен до глубины души
Тюрьма XIX века на Флит-стрит в Лондоне. Выглядит скорее как дешевый санаторий
В кратчайшие сроки Уильям исправил это недоразумение и в том же 1818 году предоставил нескольким из британских тюрем свое известнейшее изобретение — «шаговую мельницу». Теперь мы знаем его открытие как «беговую дорожку» (treadmill), но тогда это было несколько иное устройство.