Calibrezi
Вы задаёте опорное положение для сеанса.
Осанка и сессии концентрации Прототип в разработке
AirPosture, наш проект по осанке и фокусу, исследует использование датчиков движения в совместимых наушниках. Положение головы соотносится с персональной калибровкой во время рабочей сессии.
AirPosture
Вы задаёте опорное положение для сеанса.
Система отслеживает изменение ориентации относительно этой опоры.
Дискретный сигнал может привлечь внимание к устойчивому отклонению.
Рабочие сеансы с таймером и моментами паузы.
Обратная связь относительно калибровки с использованием данных движения.
Мы изучаем взаимодействия между наушниками, телефоном и десктопными приложениями.
AirPosture — это прототип. Измерение ориентации головы не является диагностикой позвоночника, а работа зависит от оборудования и от валидации на совместимых устройствах.
AirPosture в деталях
AirPosture использует датчики движения в AirPods для одной задачи: насколько сильно у вас опустилась голова относительно положения, которое вы сами калибруете в начале рабочего сеанса. Когда отклонение сохраняется, вы получаете дискретную вибрацию. Остальная часть приложения — это таймер фокуса с паузами.
Оно не измеряет позвоночник и даже не пытается. AirPods дают ориентацию головы — pitch, roll, yaw — и ничего о плечах, грудной клетке или изгибе спины. Опущенная голова с прямой спиной и изогнутая спина с компенсированным вверх взглядом для этого датчика выглядят одинаково. Приложение говорит об этом прямо, потому что в этом разница между полезным инструментом и ложным обещанием.
Используется `CMHeadphoneMotionManager` — интерфейс Apple, который предоставляет датчики в наушниках. Он выдаёт attitude (кватернион, pitch, roll, yaw), скорость вращения, гравитацию, ускорение и `sensorLocation` — какой AirPod отправляет данные. Измеряемая частота составляет примерно 25 Hz. Сторожевой процесс проверяет поток каждую секунду: если в течение более чем 2,5 секунды не поступило ни одного образца, он перезапускает соединение и сообщает, почему.
Быстрый вариант длится три секунды: вы сидите прямо, приложение сохраняет медиану вашего pitch. Guided-вариант имеет пять фаз по три секунды — neutral, подбородок вниз, взгляд вверх, поворот влево, поворот вправо — и учит знак pitch для вашей модели наушников вместо того, чтобы его угадывать, затем пересчитывает пороги по вашей реальной амплитуде движения. Отчёт о калибровке также говорит, почему она вышла слабой: слишком мало образцов, голова двигалась, ноутбук был перемещён, слишком малая амплитуда движения вверх или вниз.
Меньше 7° относительно калибровки означает прямо. От 7° до 13° — это отклонение. Более 13° в течение трёх секунд запускает тактильное предупреждение. Есть и четвёртый порог, в другую сторону: больше 10° вверх означает «голова поднята», чтобы приложение не путало взгляд в потолок с плохой осанкой. Сигнал экспоненциально сглаживается с α = 0,15, чтобы обычное движение головы ничего не запускало.
Таймер на 5, 15, 25, 45 или 60 минут, с запуском, паузой и сбросом. Оповещение о позе имеет по умолчанию 300 секунд между уведомлениями, отключение AirPods — 90, а деградация потока tracking — 120; одно событие не может заполнить экран. В конце сеанса отображается процент хорошей позы, число оповещений и число проб.
Есть и второй target, `AirPostureMac`: строка меню, информационные панели, 3D-сцена, диагностика, история здоровья и акустическая лаборатория. Он собирается локально, но не является готовым продуктом. В том же репозитории находятся три отдельные iOS-приложения для исследований — ходьба, динамика ответа в интервью и тестовый стенд ear-EEG — каждое со своим onboarding, все не валидированы на hardware.
Данные и работа
От исследования к внедрению
AirPods Pro, AirPods 3 и новее, AirPods Max или Beats с чипом H1/H2. AirPods 1 и 2 не имеют необходимых датчиков и никогда не будут работать. Доступность подтверждается при запуске, а не предполагается по модели.
Запускаем пошаговую калибровку в пять фаз и читаем отчёт о качестве. Если амплитуда вверх-вниз слишком мала или голова двигалась слишком сильно, калибровка повторяется — личные пороги выводятся из неё, поэтому слабая калибровка портит всё, что идёт дальше.
7°, 13° и три секунды льготы — это отправная точка, а не физическая константа. Направленная калибровка переводит их в ограниченные диапазоны — наклон между 5° и 9°, сутулость между 10° и 18° — в зависимости от реальной амплитуды человека.
Оповещение, которое раздражает, выключают, значит оно никому не помогает. Проверяется, подходит ли пяти минутная пауза тому, как вы работаете, и достаточно ли вибрация ненавязчива в присутствии других людей.
С AirPods. Используется `CMHeadphoneMotionManager`, интерфейс Apple, который предоставляет датчики движения в наушниках, примерно на 25 Hz. Работает с AirPods Pro, AirPods 3 и новее, AirPods Max и Beats с чипом H1 или H2. AirPods 1 и 2 не имеют нужных датчиков. Другие наушники не предоставляют этих данных.
Нет, и даже не пытается. Измеряется только одно: насколько голова наклонена относительно положения, которое вы калибруете в начале сессии. Ниже 7° — это прямо, между 7° и 13° — наклон, а выше 13°, удерживаемое три секунды, вызывает ненавязчивую вибрацию. Выше 10° вверх — это «голова поднята», не проблема. И всё.
Из-за распространения, а не из-за кода. Приложение собирается, проходит 160 тестов и устанавливается и запускается на симуляторе iPhone, но `DEVELOPMENT_TEAM` пуст в спецификации проекта, поэтому никогда не была собрана подписанная версия для реального телефона. Пока это не будет исправлено и поток датчиков не будет проверен на физических AirPods, это остаётся прототипом — и мы называем его так.
Нет. У `CMHeadphoneMotionManager` нет собственного фонового режима, а iOS приостанавливает приложение, когда оно уходит из переднего плана. Есть обычный трюк — воспроизведение тихого звука, чтобы удерживать процесс живым, — и мы сознательно его исключили: это противоречит правилу 2.5.4 из руководства по review Apple. Сессия работает, когда приложение открыто. «Коуч на весь день» потребовал бы другой архитектуры и разговора с App Review.
Поток продолжается — `sensorLocation` говорит, какой AirPod передаёт данные, а у приложения есть сценарии захвата для обоих, только левого и только правого. Но `sensorLocation` не доказывает, что соответствующий наушник действительно в ухе, а переход оба → левый → правый → оба не был проверен на реальном оборудовании. Это в списке непроверенного, не в списке работающего.
Они остаются на телефоне. Политика данных приложения помечает их как `localOnly`, а сырые записи автоматически удаляются через 14 дней, агрегаты — через год. Они не записываются в HealthKit — не существует стандартного типа для позы головы, а приложение не преобразует их принудительно в шаги или что-то другое, чтобы вместить. Есть и полное удаление.
Нет. Мы разобрали оба вопроса и записали ответ в документации проекта. Сканирование мозга невозможно с аппаратным обеспечением и публичными интерфейсами AirPods, а «детектор лжи» не имеет достаточной научной основы — требование было переформулировано в наблюдение динамики ответа, которое описывает то, что видно, а не выносит вердикт о правде.
Показательный пример
Сценарий использования, без данных клиента или приписанных коммерческих результатов.
Вы надеваете AirPods, открываете приложение, выбираете 25 минут и стоите прямо три секунды, пока длится калибровка. Приложение запоминает медиану вашего pitch в качестве ориентира.
При ~25 Гц каждая проба экспоненциально сглаживается (α = 0,15) и сравнивается с референсом. Ниже 7° — зеленый. Между 7° и 13° — желтый, без оповещения. Выше 13°, удержанное три секунды, — вибрация. Запускается таймер паузы: следующее оповещение о posture не может прийти раньше чем через пять минут.
В конце вы видите процент времени, проведенного в хорошей posture, количество оповещений и количество проб. Ничего не уходит с телефона; необработанные пробы удаляются через 14 дней.
Ce este necesar:AirPods cu senzori de mișcare (Pro, 3+, Max sau Beats H1/H2), iPhone cu iOS 17 sau mai nou, aplicația în prim-plan și permisiunea Mișcare și fitness acordată. Nu funcționează pe simulator — acolo interfața nu returnează date.
Возможности сотрудничества
Изучение пилота для привычек и личной обратной связи. Индивидуальные данные по умолчанию не становятся инструментами оценки сотрудников.
Мы определяем пилот вокруг реального процесса: пользователи, данные, интеграции, затраты и критерии приемки. Масштабирование следует после оценки результата.
Мы устанавливаем требования к доступности, размещению, защите данных и совместимости. Любое соединение с сервисами AGE или STISC требует проверки соответствия, доступа и утверждений.
Это сценарии адаптации, а не заявления о существующих контрактах или партнерствах. Предлагаемые функции подтверждаются в рабочей области проекта.
Обсудить пилотРасскажите о своём процессе. Вместе определим, что стоит построить, что можно подключить и как проверим результат.