Podgląd orientacji urządzenia
Odczytaj dane orientacji z żyroskopu i akcelerometru twojego urządzenia mobilnego w czasie rzeczywistym. Wizualizacja alpha/beta/gamma. Test dla aplikacji webowych. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćPodgląd orientacji urządzenia – dane żyroskopu w przeglądarce
DeviceOrientationEvent i DeviceMotionEvent to API przeglądarki umożliwiające odczyt danych z żyroskopu, akcelerometru i magnetometru urządzenia mobilnego. Narzędzie wyświetla aktualne wartości alpha (obrót Z), beta (przód/tył), gamma (lewo/prawo) i przyspieszenia – bez instalacji, prosto z przeglądarki.
Kąty orientacji – alpha, beta, gamma
alpha (0-360°): obrót wokół osi Z (kompas magnetyczny – odchylenie od Północy). beta (-180° do 180°): pochylenie przód/tył (ekran poziomo = 0°, pionowo trzymany = 90°). gamma (-90° do 90°): pochylenie lewo/prawo. Razem tworzą układ Eulera do opisania pozycji urządzenia w przestrzeni.
DeviceMotionEvent – przyspieszenie
accelerationIncludingGravity: przyspieszenie z grawitacją (m/s²) dla osi x, y, z. acceleration: przyspieszenie bez grawitacji (wymaga sensora gyro). rotationRate: prędkość obrotu (°/s) dla alpha, beta, gamma. interval: częstość próbkowania w ms (typowo 16ms = 60Hz na nowoczesnych urządzeniach).
Zastosowania w aplikacjach webowych
Gry mobilne (tilt controls: sterownie przechylaniem). PWA z kompasem (alpha + magnetometr). Animacje reagujące na pochylenie (parallax 3D). Licznik kroków (akcelerometr + algorytm detekcji kroków). Poziomnica (beta + gamma). Gesty wstrząśnięcia (shake gesture).
Uprawnienia i iOS
iOS 13+: DeviceOrientationEvent wymaga jawnego requestPermission() po interakcji użytkownika. Android Chrome: działa domyślnie. iOS Safari: requestPermission() musi być wywołane w obsłudze zdarzenia (np. onclick). Narzędzie zawiera przycisk "Zezwól na dostęp" dla iOS.
Jak działa podgląd orientacji urządzenia
Przeglądarka nie odczytuje kątów alpha, beta i gamma z jednego czujnika. DeviceOrientationEvent jest wynikiem fuzji trzech źródeł: akcelerometru, który daje wektor grawitacji i informację, gdzie jest dół, żyroskopu, który mierzy prędkość obrotu w stopniach na sekundę, oraz magnetometru, który wyznacza kierunek północy. Sterownik urządzenia łączy te pomiary w kwaternion opisujący obrót w przestrzeni, a przeglądarka przelicza go na kąty Eulera w ustalonej kolejności. Kąty nie są więc niezależne – zmiana jednego wpływa na interpretację pozostałych.
Kąty beta i gamma wynikają bezpośrednio z wektora grawitacji. Gdy telefon leży płasko ekranem do góry, wypadkowa przyspieszenia działa wzdłuż osi Z i oba kąty są bliskie zeru. Po podniesieniu urządzenia do pionu składowa grawitacji przenosi się na oś Y i beta zmierza do 90°. Alpha liczona jest inaczej, bo opiera się na magnetometrze wspieranym żyroskopem – dlatego jako jedyna pokazuje kierunek względem północy, ale jest wrażliwa na zakłócenia magnetyczne.
Odczyty przychodzą w rytm pętli odświeżania. Pole interval w DeviceMotionEvent podaje odstęp między próbkami w milisekundach; typowo jest to 16 ms, co odpowiada 60 Hz na nowoczesnych urządzeniach, ale na starszych lub obciążonych telefonach wartość bywa większa. Narzędzie subskrybuje zdarzenia i wypisuje ostatnią otrzymaną wartość bez wygładzania, więc widoczne drgania to normalny szum czujników, a nie błąd wyświetlania.
Przykład: sprawdzenie orientacji telefonu krok po kroku
- Otwórz /podglad-device-orientation na telefonie, nie na komputerze, i naciśnij przycisk zezwolenia na dostęp. Na iOS 13 i nowszych to uprawnienie wymaga kliknięcia, więc bez tego kroku pola pozostaną puste.
- Połóż telefon płasko na stole, ekranem do góry, górną krawędzią skierowaną na północ. Na ekranie powinny pojawić się wartości zbliżone do alpha 0°, beta 0° i gamma 0°.
- Nie podnosząc telefonu, obróć go w płaszczyźnie stołu o 90° w prawo. Zmieni się wtedy tylko alpha i wzrośnie w stronę 90°, a beta oraz gamma pozostaną bliskie zeru, bo grawitacja nadal działa wzdłuż tej samej osi.
- Podnieś telefon do pionu, tak aby ekran był skierowany na wprost oczu. Beta przesunie się w kierunku 90°, a gamma pozostanie blisko 0°, dopóki nie przechylasz urządzenia na boki.
- Przechyl telefon w prawo, nie zmieniając jego pionowej pozycji. Beta pozostanie w okolicach 90°, a gamma zmieni się o kilkadziesiąt stopni w jedną ze stron – jej zakres to od -90° do 90°.
- Odłóż telefon z powrotem płasko i sprawdź pole interval. Jeśli pokazuje około 16 ms, odczyty odświeżają się z częstotliwością bliską 60 Hz; większa wartość oznacza rzadsze próbki i wolniejszą reakcję podglądu.
Parametry odczytywane przez narzędzie
| Parametr | Zakres lub jednostka | Co opisuje |
|---|---|---|
| alpha | 0-360° | obrót wokół osi Z, czyli odchylenie od północy |
| beta | -180° do 180° | pochylenie przód/tył; ekran poziomo to 0°, pionowo 90° |
| gamma | -90° do 90° | pochylenie lewo/prawo |
| accelerationIncludingGravity | m/s² dla osi x, y, z | przyspieszenie z uwzględnieniem grawitacji |
| acceleration | m/s² dla osi x, y, z | przyspieszenie bez grawitacji, wymaga żyroskopu |
| rotationRate | °/s dla alpha, beta, gamma | prędkość obrotu wokół każdej z osi |
| interval | ms | odstęp między próbkami, typowo 16 ms (60 Hz) |
Praktyczne wskazówki
- Kalibruj na płaskiej powierzchni – przed odczytem połóż telefon nieruchomo na kilka sekund, żeby żyroskop i magnetometr ustabilizowały wskazania.
- Testuj na docelowym urządzeniu – desktop nie ma żyroskopu ani akcelerometru, więc wartości pozostaną puste lub zerowe niezależnie od przeglądarki.
- Zezwolenie na iOS wywołaj w zdarzeniu – requestPermission() musi być wywołane w obsłudze kliknięcia, na przykład onclick; próba poza interakcją użytkownika kończy się odmową dostępu.
- Sprawdzaj interval, nie zakładaj 60 Hz – przy cięższej stronie lub słabszym telefonie próbki przychodzą rzadziej niż co 16 ms i animacja sterowana orientacją będzie szarpać.
- Używaj HTTPS albo localhost – poza bezpiecznym kontekstem przeglądarka może w ogóle nie udostępnić danych z czujników.
Ograniczenia i źródła zniekształceń
- Brak czujników na desktopie – komputery stacjonarne i większość laptopów nie mają akcelerometru ani żyroskopu, więc podgląd nie ma z czego czytać danych.
- Zakłócenia magnetyczne psują alpha – metalowe biurka, magnesy, głośniki i etui z magnesem przekłamują wskazania magnetometru, a wraz z nimi kierunek północy.
- Kąty Eulera mają osobliwość – przy beta blisko ±90° osie alpha i gamma pokrywają się, przez co jeden kąt przestaje być jednoznacznie wyznaczony i odczyty skaczą.
- Dane są surowe, bez filtracji – narzędzie nie wygładza przebiegów ani nie kompensuje dryftu żyroskopu, więc krótkie szarpnięcia i powolne przesuwanie zera są widoczne w wynikach.
Najczęstsze pytania
Dlaczego dane nie działają na desktopie?
Desktop nie ma żyroskopu ani akcelerometru. DeviceOrientationEvent na PC zwraca null lub stałe zera. Narzędzie wyświetla komunikat o braku sensora. Do testowania: Chrome DevTools → Sensors → Device Orientation (symulacja).
Jak symulować orientację w Chrome?
Chrome DevTools (F12) → Sensors (w menu trzy kropki lub Escape) → Device Orientation: możesz ręcznie ustawiać wartości alpha/beta/gamma lub wybrać predefiniowane pozy (portrait, landscape, upside down).
Jaka jest dokładność żyroskopu w smartfonach?
Budżetowe telefony: ±2-5°. Flagship: ±0.5-1°. Drift (znoszenie) rośnie z czasem – kalibracja przez ruch "ósemką". Dla precyzyjnych aplikacji (VR, AR) zalecany sensor fusion z akcelerometrem i magnetometrem (madgwick filter).
Czy można użyć orientacji do WebXR (AR/VR)?
Tak – WebXR API (immersive-ar, immersive-vr) korzysta z danych sensorów. DeviceOrientation to starsza, prostsza alternatywa dla 2D orientacji bez pełnego XR. Dla PWA bez WebXR headset DeviceOrientation jest standardem.
Jak zabezpieczyć aplikację przed brakiem sensora?
if (window.DeviceOrientationEvent) { DeviceOrientationEvent.requestPermission().then(...) } else { showFallback(); }. Feature detection + graceful degradation: pokaż alternatywny interfejs gdy sensor niedostępny.
Czy podgląd orientacji urządzenia działa na laptopie?
Zwykle nie. Laptopy i komputery stacjonarne nie mają akcelerometru ani żyroskopu, więc DeviceOrientationEvent nie dostarcza żadnych danych. Wyjątkiem bywają niektóre tablety 2-w-1 wyposażone w czujniki.
Jak włączyć żyroskop w przeglądarce na iPhone?
W iOS 13 i nowszych musisz nacisnąć przycisk zezwolenia na stronie, który wywołuje requestPermission() w obsłudze kliknięcia. Bez tej zgody przeglądarka nie udostępni kątów alpha, beta i gamma.
Dlaczego wartości alpha, beta i gamma skaczą?
To szum czujników oraz brak filtrowania w narzędziu. Dodatkowo przy beta blisko ±90° występuje blokada przegubowa, która powoduje gwałtowne zmiany alpha i gamma.
Co oznacza beta równe 90 stopni?
Telefon jest trzymany pionowo, ekranem na wprost oczu. Przy tej wartości pojawia się osobliwość układu Eulera, dlatego odczyty alpha i gamma mogą być niestabilne.
Dlaczego alpha nie wskazuje północy?
Alpha zależy od magnetometru, który łatwo zakłócić metalem, magnesem lub elektroniką w pobliżu. Bez kalibracji kompasu w systemie wskazanie może być przesunięte.
Powiązane narzędzia: tester Web Bluetooth, detektor cech CSS i walidator JSON Schema.