Symulowanie danych z czujników przy użyciu usług medycznych

Używaj syntetycznych danych wygenerowanych przez Usługi zdrowotne na Wear OS, aby testować aplikację tak, jakby ćwiczenia były rzeczywiście wykonywane.

Jeśli używasz emulatora z Wear OS 4 (API 33) lub Wear OS 3 (API 30), możesz używać danych syntetycznych wygenerowanych przez emulator. Więcej informacji o różnicach między generowaniem danych syntetycznych na Wear OS 3 i Wear OS 4 znajdziesz w tym przewodniku.

Używanie danych syntetycznych w Wear OS 4

Jeśli testujesz aplikację za pomocą emulatora z Wear OS 4 (API 33), możesz używać do tego celu danych syntetycznych generowanych przez emulator. Wprowadzono dzięki temu szereg ulepszeń w zakresie generowania danych syntetycznych w Wear OS 3:

Użyj ustawień w aplikacji, aby rozpocząć, wstrzymać i zakończyć generowanie danych syntetycznych.

Pamiętaj, że emulator generuje te same wartości danych dla każdego ćwiczenia.

Symulowanie zdarzeń

W emulatorze możesz symulować różne zdarzenia, np. AUTO_PAUSE_DETECTED. Aby je aktywować, możesz użyć tego polecenia:

adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices

Zdarzenia syntetyczne

Wydarzenie

Klucz

Wykryto automatyczne wstrzymywanie

whs.AUTO_PAUSE_DETECTED

Wykryto automatyczne wznawianie

whs.AUTO_RESUME_DETECTED

Wykryto upadek

whs.FALL_OVER

Wykryto sen

whs.START_SLEEPING

Wykryto funkcję wyłączenia snu

whs.STOP_SLEEPING

Wykryto strzał w golfa

whs.GOLF_SHOT

Aby na przykład wywołać zdarzenie automatycznego wstrzymania, możesz użyć tego polecenia:

​​adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices

W przypadku zdarzeń związanych z uderzeniami golfowymi musisz podać dodatkowe parametry typu swingu golfowego, które są opisane poniżej:

Typ huśtawki golfowej

Parametr

Rodzaj uderzania piłki po ziemi

putt

Typ części huśtawka

częściowy

Huśtawka pełnowymiarowa

pełna

Dodaj typ zamachu golfowego po określeniu zdarzenia strzału golfowego:

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \
  "golf-swing-type-parameter" com.google.android.wearable.healthservices

Na przykład poniższe polecenie powoduje wykonanie częściowego uderzenia golfowego:

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \
  com.google.android.wearable.healthservices

Używanie danych syntetycznych w Wear OS 3

Jeśli testujesz aplikację za pomocą emulatora z Wear OS 3, możesz ją też testować za pomocą danych syntetycznych.

Włącz generowanie danych syntetycznych

Aby włączyć generowanie danych syntetycznych w Wear OS 3, wykonaj te czynności.

  1. Włącz opcje programisty.
  2. Aby włączyć tryb syntetyczny, uruchom następujące polecenie adb:

    adb shell am broadcast \
    -a "whs.USE_SYNTHETIC_PROVIDERS" \
    com.google.android.wearable.healthservices
    

Po włączeniu generowania danych syntetycznych wydawaj polecenia opisane na tej stronie, aby kontrolować zachowanie „użytkownika syntetycznego”.

Wyłącz generowanie danych syntetycznych

Aby przełączyć się z powrotem na korzystanie z prawdziwych czujników, uruchom to polecenie:

adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices

Ćwiczenia syntetyczne

Usługi zdrowotne obsługują te rodzaje ćwiczeń:

  • Pieszo: whs.synthetic.user.START_WALKING
  • Uruchomiono: whs.synthetic.user.START_RUNNING
  • Szlaki piesze: whs.synthetic.user.START_HIKING
  • Pływanie: whs.synthetic.user.START_SWIMMING
  • Bieganie na bieżni: whs.synthetic.user.START_RUNNING_TREADMILL

Ćwiczenia generują realistyczne dane syntetyczne dla tych typów danych:

  • Tętno
  • Liczba kroków na minutę
  • lokalizację GPS, korzystając z pojedynczej trasy domyślnej;
  • Czas trwania aktywności
  • Wysokość i piętra

Dodatkowo można wygenerować następujące stany:

  • Stan snu – sen lub przebudzenie
  • Wykrywanie upadku

Początek

Aby rozpocząć symulowanie ćwiczenia, wyślij odpowiednią transmisję do com.google.android.wearable.healthservices:

# start the "walking" synthetic exercise
$ adb shell am broadcast \
-a "whs.synthetic.user.START_WALKING" \
com.google.android.wearable.healthservices

Każda aktywność ma gotowe ustawienia obsługiwanych danych:

Aktywność Tętno Średnia szybkość Zmiana wysokości Włącz lokalizację
Chodzenie 120 bpm 1,4 m/s 20,0 m/min true
Uruchomiono 170 bpm 2,3 m/s 20,0 m/min true
Piesze wędrówki 150 bpm 1,3 m/s 20,0 m/min true
Pływanie 150 bpm 1,6 m/s 0,0 m/min true
Bieganie na bieżni 160 bpm 2,3 m/s 20,0 m/min false

Zatrzymaj

Aby zatrzymać aktywność syntetyczną, użyj tego polecenia:

adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices

Możliwość

Aby mieć większą kontrolę nad tym, jakie dane są generowane, uruchom niestandardowe ćwiczenie z użyciem ciągu znaków działania whs.synthetic.user.START_EXERCISE. Podaj dowolną kombinację tych flag:

  • --ei exercise_options_duration_secs <int>: czas trwania ćwiczenia w sekundach. Wartość domyślna: 0.
  • --ei exercise_options_heart_rate <int>: tętno w uderzeniach na minutę. Średnia: 70.
  • --ef exercise_options_average_speed <float>: średnia prędkość w metrach na sekundę. Ma również wpływ na liczbę kroków na minutę lub częstotliwość. Wartość domyślna: 0.
  • --ez exercise_options_use_location <boolean>: określa, czy dane o lokalizacji mają być wysyłane z użyciem trasy domyślnej podczas ćwiczenia. Wartość domyślna: false.
  • --ef exercise_options_max_elevation_rate <float>: maksymalna możliwa zmiana wysokości w metrach na minutę. Wartość domyślna: 0.

Opcje ćwiczeń możesz ustawić na przykład w ten sposób:

adb shell am broadcast \
-a "whs.synthetic.user.START_EXERCISE" \
--ei exercise_options_heart_rate 90 \
--ef exercise_options_average_speed 1.2 \
--ez exercise_options_use_location true \
com.google.android.wearable.healthservices

Możesz też zmieniać dostępne typy danych niezależnie od tego, czy rzeczywisty lub emulowany sprzęt obsługuje określony typ danych. Możesz na przykład włączyć lub wyłączyć bezwzględną wysokość, jak pokazano poniżej:

# enable synthetic mode and enable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation true \
com.google.android.wearable.healthservices

# enable synthetic mode and disable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation false \
com.google.android.wearable.healthservices

Inne stany i zdarzenia

Stan snu

Możesz też aktywować stany uśpienia użytkownika syntetycznego. Dostępne są 2 stany: uśpienie i przebudzenie.

Aby przejść do stanu uśpienia, uruchom to polecenie:

adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices

Aby przejść w stan wybudzenia, uruchom to polecenie:

adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices

Wykrywanie upadku

Aby symulować upadek, uruchom to polecenie:

adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices

Jesienne udostępnienie wydarzenia może potrwać około minuty.