Тест датчиков: гироскоп, акселерометр и компас

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

Ждём первого показания

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

Показаний акселерометра пока нет

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

Откройте эту страницу на том устройстве, которое хотите проверить. У настольного компьютера этих датчиков нет, и ни один браузер их не придумает.

Как проверить датчики телефона

Определение движения в телефоне — это три отдельные детали, притворяющиеся одним устройством: чип, чувствующий, где низ, чип, чувствующий поворот, и чип, чувствующий магнитное поле Земли. Каждая отказывает по-своему, и каждая проверяется выше отдельно.

Акселерометр, гироскоп, магнитометр

Акселерометр измеряет силу, а в покое эта сила — сила тяжести: так телефон понимает, где верх, и одного этого хватает для поворота экрана и шагомера. Гироскоп измеряет вращение, и именно он ведёт камеру через быструю панораму, а шлем — через поворот головы, потому что откликается за миллисекунды там, где сила тяжести устанавливается заметно дольше. Магнитометр измеряет поле Земли и даёт двум остальным север, за который можно держаться. В недорогих телефонах стоит один акселерометр; когда игра пишет, что устройство не поддерживается, не хватает обычно как раз гироскопа.

Почему пузырьковый уровень может врать

У любого акселерометра есть смещение — небольшая постоянная, которую он добавляет к измеренному, — и телефон вычитает заводское значение. Уроните телефон или замените экран, и система координат датчика сместится относительно корпуса, по которому его калибровали, — поправка перестанет совпадать. В результате уровень показывает градус-другой на идеально ровной поверхности, и по одному измерению этого не видно. Разделить одно от другого позволяет разворот устройства на 180°, и именно это делает проверка выше.

Дрейф гироскопа

Гироскоп в покое сообщает небольшое ненулевое вращение, и всё, что на нём построено, должно постоянно вычитать это число. Пока оно стабильно, вычитание работает и никто ничего не замечает. Когда оно растёт — со временем, от нагрева, после удара — поправка за ним не поспевает, и вы получаете камеру, которая уползает в игре, компас, который поворачивается, пока телефон лежит, и шлем, чей мир медленно вращается. Двадцати секунд бездействия достаточно, чтобы это измерить.

Проблемы компаса — обычно не в компасе

Магнитометр измеряет поле около половины гаусса, и почти всё вокруг сильнее: чехол с магнитной застёжкой, автомобильный держатель, динамик, крышка ноутбука, арматура в полу. Большая часть того, что выглядит как сломанный компас, — это помехи, а восьмёрка, которую просят описать картографические приложения, — это перестройка поправки по свежему набору направлений. Настоящая неисправность выглядит иначе: курс не идёт плавно, а прыгает. Поэтому тест выше — полный оборот, а не одно измерение.

После ремонта

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

Почему iPhone спрашивает разрешение

По данным о движении можно понять, что человек набирает на клавиатуре, и опознать устройство по неповторимым погрешностям его датчиков, поэтому WebKit перестал раздавать их даром: на iPhone и iPad страница обязана спросить, из настоящего касания, по https. Chrome на Android не спрашивает — поэтому кнопка появляется на одном и не появляется на другом. В любом случае показания остаются в странице: отсюда ничего никуда не отправляется.

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

Частые вопросы

Откройте панель «Движение и оси» выше и поверните устройство: полосы вращения откликнутся сразу, если гироскоп есть, и останутся ровными, если его нет. Затем запустите тест дрейфа — положите телефон на двадцать секунд и посмотрите, что он сообщает, ничего при этом не делая. Гироскоп, который откликается на поворот, но дрейфует в покое, — самая частая половинчатая неисправность, и именно она портит игры, VR и стабилизацию изображения.
Скорее всего нет. Во многих бюджетных телефонах и немалой части планшетов стоит только акселерометр — этого хватает для поворота экрана и шагомера, но не для VR и не для игр, которые его требуют. Если гироскоп точно был, попробуйте сначала другой браузер: Firefox и некоторые встроенные браузеры передают меньше, чем Chrome и Safari.
Сначала запустите проверку в двух положениях выше: градус наклона стола встречается куда чаще градуса ошибки датчика. Если смещение пережило разворот, значит оно в телефоне: положите его на ровную поверхность и перезагрузите — большинство систем пересчитывает поправку именно тогда. У некоторых производителей Android калибровка датчиков есть в приложении диагностики. Дальше это аппаратная калибровка, и веб-страница её выполнить не может.
Потому что телефон не доверяет собственному ответу. Магнитометр строит поправку по показаниям в разных направлениях и теряет её рядом со всем магнитным — застёжкой чехла, автодержателем, динамиком, металлическим столом. Отойдите от всего этого и опишите телефоном восьмёрку. Если это требуется постоянно, подозревайте сначала чехол, а не телефон.
Потому что происходить нечему. Акселерометры, гироскопы и магнитометры — детали телефонов и планшетов; из ноутбуков они есть лишь у отдельных трансформеров, а у настольных машин их нет вовсе. Браузеры в обоих случаях выдают одни и те же события и наполняют их пустыми значениями — поэтому страница ждёт настоящего показания, прежде чем что-то утверждать. Откройте её на телефоне.
По данным о движении можно догадаться, что человек набирает, и опознать устройство, поэтому WebKit требует, чтобы страница запрашивала их из настоящего касания по https. Chrome на Android отдаёт их без вопросов. Кнопка на iPhone и есть этот запрос, причём разрешение переживает перезагрузку страницы — а вот отказ запрос обратно не вернёт, и включать придётся в «Настройки › Приложения › Safari › Доступ к движению и ориентации».
Нет, и ничто в вебе этого не может. Датчик приближения — тот самый, что гасит экран у уха, и самая частая жалоба после замены экрана, — убрали из браузеров много лет назад. Датчик освещённости всё ещё описан в спецификации, но спрятан за флагом Chrome, который выключен по умолчанию. Оба перечислены в панели поддержки выше, чтобы было видно: они отсутствуют намеренно, а не остались непроверенными.
Да. Всё выполняется в вашем браузере: ни одно показание датчика не покидает страницу, ничего не сохраняется и ничего не нужно устанавливать. Работает одинаково на iPhone, телефоне на Android и планшете.