Prüfen Sie die Bewegungssensoren Ihres Telefons oder Tablets: eine Wasserwaage auf Basis des Beschleunigungssensors, eine geführte Achsenprüfung, einen Kompassdurchlauf und eine Driftmessung, während das Gerät still liegt. Alles läuft im Browser.
Warte auf den ersten Wert
Nehmen Sie das Gerät und bewegen Sie es. Über einen Sensor wird nichts behauptet, bevor er tatsächlich etwas gemeldet hat: Dieselben Ereignisse stellt ein Browser auch auf einem Desktop ohne jeden Beschleunigungssensor bereit und füllt sie mit Nullwerten.
Noch kein Wert vom Beschleunigungssensor
Eine Wasserwaage braucht Schwerkraft, und die kommt vom Beschleunigungssensor. Bewegen Sie das Gerät, oder prüfen Sie oben, ob der Bewegungszugriff erlaubt ist.
Öffnen Sie diese Seite auf dem Gerät, das Sie prüfen wollen. Ein Desktop-Rechner hat keinen dieser Sensoren, und kein Browser wird sie erfinden.
Die Bewegungserfassung eines Telefons besteht aus drei getrennten Bauteilen, die sich als eines ausgeben: ein Chip, der spürt, wo unten ist, ein Chip, der Drehung spürt, und ein Chip, der das Erdmagnetfeld spürt. Jedes fällt für sich aus, auf seine eigene Art, und jedes wird oben einzeln geprüft.
Der Beschleunigungssensor misst Kraft, und im Ruhezustand ist diese Kraft die Schwerkraft — so weiß ein Telefon, wo oben ist, und allein damit funktionieren Bildschirmdrehung und Schrittzähler. Das Gyroskop misst Drehung und trägt eine Kamera durch einen schnellen Schwenk und eine Brille durch eine Kopfbewegung, weil es in Millisekunden antwortet, wo die Schwerkraft einen Moment zum Einpendeln braucht. Das Magnetometer misst das Erdfeld und gibt den beiden anderen einen Norden, an dem sie sich festhalten können. Günstige Telefone haben nur einen Beschleunigungssensor; wenn ein Spiel meldet, das Gerät werde nicht unterstützt, fehlt meist genau das Gyroskop.
Jeder Beschleunigungssensor hat einen Offset — eine kleine Konstante, die er zu jeder Messung addiert — und das Telefon zieht dafür einen Werkswert ab. Lassen Sie es fallen oder lassen Sie das Display tauschen, und der Bezugsrahmen des Sensors verschiebt sich gegenüber dem Gehäuse, gegen das kalibriert wurde: Die Korrektur passt nicht mehr. Das Ergebnis ist eine Libelle, die auf einer perfekt ebenen Fläche ein oder zwei Grad danebenliegt, und keine einzelne Messung verrät das. Das Gerät um 180° zu drehen trennt beides — genau das tut die Prüfung oben.
Ein ruhendes Gyroskop meldet eine kleine Drehung ungleich null, und alles, was darauf aufbaut, muss diese Zahl fortwährend abziehen. Solange sie stabil bleibt, funktioniert das und niemand merkt etwas. Wächst sie — mit dem Alter, mit der Temperatur, nach einem Stoß —, hinkt die Korrektur hinterher: Die Kamera im Spiel wandert, der Kompass dreht sich, während das Telefon still liegt, und die Welt einer Brille rotiert langsam. Zwanzig Sekunden Nichtstun genügen, um das zu messen.
Ein Magnetometer misst ein Feld von etwa einem halben Gauß, und fast alles in der Nähe ist stärker: eine Hülle mit Magnetverschluss, eine Autohalterung, ein Lautsprecher, ein Notebookdeckel, Stahl im Fußboden. Das meiste, was wie ein defekter Kompass aussieht, ist Störung, und die Achterbewegung, um die Kartenapps bitten, ist das Telefon, das seine Korrektur aus frischen Richtungen neu aufbaut. Der echte Fehler sieht anders aus: Der Kurs springt, statt zu gleiten — deshalb ist der Test oben eine volle Drehung und keine einzelne Messung.
Die Sensoren sitzen auf der Hauptplatine, und die Bezugsrahmen, gegen die sie kalibriert sind, gehören dem Gehäuse. Ein Displaytausch, ein Akkuwechsel oder ein Gehäuse, das aufgehebelt und wieder geschlossen wurde, kann beides verschieben. Eine Wasserwaage, die plötzlich danebenliegt, ein Kompass, der ständig kalibriert werden will, und ein Gyroskop, das vorher nicht driftete, gehören an einem frisch geöffneten Gerät zusammen geprüft.
Aus Bewegungsdaten lässt sich ableiten, was jemand tippt, und ein Gerät an den genauen Unzulänglichkeiten seiner Sensoren wiedererkennen. Deshalb gibt WebKit sie nicht mehr umsonst heraus: Auf iPhone und iPad muss eine Seite fragen, aus einer echten Berührung heraus, über https. Chrome auf Android fragt nicht — deshalb zeigt diese Seite auf dem einen einen Knopf und auf dem anderen nicht. So oder so bleiben die Messwerte in der Seite; von hier geht nichts irgendwohin.