شبیه سازی داده های حسگر با خدمات بهداشتی

از داده های مصنوعی تولید شده از Health Services در Wear OS برای آزمایش برنامه خود استفاده کنید، گویی که واقعاً یک تمرین در حال انجام است.

اگر در حال آزمایش بر روی شبیه‌ساز دارای Wear OS 3 (سطح API 30) یا بالاتر هستید، می‌توانید از داده‌های مصنوعی تولید شده توسط شبیه‌ساز استفاده کنید. برای کسب اطلاعات بیشتر درباره تفاوت‌های بین تولید داده مصنوعی برای Wear OS 3 و بالاتر، راهنمای زیر را ببینید.

از داده های مصنوعی در Wear OS 4 و بالاتر استفاده کنید

اگر در حال آزمایش روی شبیه‌سازی هستید که دارای Wear OS 4 (سطح API 33) یا بالاتر است، می‌توانید از داده‌های مصنوعی تولید شده توسط شبیه‌ساز برای آزمایش برنامه خود استفاده کنید. این تعدادی پیشرفت را در مورد نحوه تولید داده های مصنوعی در نسخه های قبلی Wear OS معرفی می کند:

  • تولید داده مصنوعی در Wear OS 4 و بالاتر با چرخه عمر API Health Services یکپارچه شده است. این بدان معناست که برای شروع یا توقف تمرین نیازی به دستورات adb نیست. درعوض، می‌توانید مانند یک کاربر تمرین را در برنامه شروع یا متوقف کنید.

  • پشتیبانی گسترده از رویدادهای ورزشی: می‌توانید دریافت مکث خودکار و ازسرگیری رویدادها ، رویدادهای پاییز ، تشخیص خواب ، و تشخیص ضربه گلف را شبیه‌سازی کنید.

از پنل سنسور خدمات بهداشتی استفاده کنید

Android Studio Koala Feature Drop (Canary) شامل پنل حسگر Wear OS Services Health است. این پنل می‌تواند برای شبیه‌سازی دستگاهی استفاده شود که دارای یا نداشتن قابلیت‌های حسگر خاص است، که آزمایش آن هنگام ساخت برنامه‌های تناسب اندام در Wear OS مهم است.

همچنین می توانید از پانل برای تغییر مقادیر معیارها و مشاهده نحوه تنظیم برنامه خود استفاده کنید.

برای باز کردن و استفاده از پنل، موارد زیر را انجام دهید:

  1. یک دستگاه مجازی Android (AVD) ایجاد یا باز کنید و برنامه خود را در شبیه ساز اجرا کنید .
  2. در پانل شبیه ساز، Wear Health Services را انتخاب کنید. پنل Wear Health Services را باز کنید پانل Wear Health Services باز می‌شود و فهرستی از حسگرهای موجود در دستگاه‌های مختلف Android را نشان می‌دهد.

پس از باز شدن پنل، می توانید کارهای زیر را انجام دهید:

  • بین قابلیت‌های استاندارد و همه قابلیت‌ها (پیش‌فرض) جابه‌جا شوید تا مجموعه‌ای از قابلیت‌هایی را انتخاب کنید که در تمرین بعدی فعال می‌شوند. می‌توانید با انتخاب کادرها، قابلیت‌های فردی را فعال یا غیرفعال کنید. برای ارسال لیست فعلی از قابلیت ها به دستگاه تقلید شده ، درخواست را انتخاب کنید و برای بازگرداندن لیست قابلیت ها به مقادیر پیش فرض خود ، RESET را انتخاب کنید.
  • پس از انتخاب دکمه کشویی Trigger events، رویدادهای مختلف کاربر را فعال کنید. From here, you can Trigger auto pause/resume of fitness activities, Trigger sleep events by the user, and Trigger golf shots that the user takes on a golf course or mini-golf course.
  • پس از شروع تمرین در برنامه ای که روی شبیه ساز نصب شده است، مقادیر حسگر را نادیده بگیرید. پس از وارد کردن مقادیر جدید برای معیارهای مختلف تمرین، برای همگام سازی این مقادیر با شبیه ساز، Apply را انتخاب کنید. این برای آزمایش نحوه عملکرد برنامه شما با شرایط مختلف ورزشی و تمایلات تناسب اندام کاربران مفید است.

داده های مصنوعی را با شبیه ساز تولید کنید

همچنین می توانید برنامه خود را بدون پنل حسگر اجرا کنید و داده ها به طور خودکار توسط شبیه ساز تولید شود.

از کنترل های درون برنامه ای خود برای شروع، توقف و پایان تولید داده های مصنوعی استفاده کنید.

همچنین توجه داشته باشید که شبیه ساز مقادیر داده های یکسانی را برای هر تمرین تولید می کند.

شبیه سازی رویدادها

می‌توانید رویدادهای مختلفی مانند AUTO_PAUSE_DETECTED را در شبیه‌ساز شبیه‌سازی کنید. از دستور زیر می توان برای تحریک آن وقایع استفاده کرد:

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

رویدادهای مصنوعی

رویداد

کلید

مکث خودکار شناسایی شد

whs.AUTO_PAUSE_DETECTED

رزومه خودکار شناسایی شد

whs.AUTO_RESUME_DETECTED

سقوط شناسایی شد

whs.FALL_OVER

خواب تشخیص داده شد

whs.START_SLEEPING

Sleep-Stop شناسایی شده است

whs.STOP_SLEEPING

شلیک گلف شناسایی شد

whs.GOLF_SHOT

به عنوان مثال، می توانید از دستور زیر برای راه اندازی یک رویداد توقف خودکار استفاده کنید:

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

برای رویدادهای شوت گلف، باید پارامترهای اضافی را برای نوع چرخش شوت گلف مشخص کنید، که در زیر به طور کلی توضیح داده شده است:

نوع تاب گلف شات

پارامتر

نوع توپ تاب

توپ زدن

نوع جزئی نوسان

جزئی

سوئینگ فول تایپ

کامل

پس از مشخص کردن رویداد ضربه گلف، نوع نوسان شوت گلف را اضافه کنید:

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

به عنوان مثال، دستور زیر یک ضربه گلف جزئی را راه اندازی می کند:

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

از داده های مصنوعی در Wear OS 3 استفاده کنید

اگر در حال آزمایش بر روی شبیه‌ساز دارای سیستم عامل Wear OS 3 هستید، می‌توانید از داده‌های مصنوعی نیز برای آزمایش برنامه خود استفاده کنید.

تولید داده مصنوعی را فعال کنید

مراحل زیر را برای فعال کردن تولید داده مصنوعی در Wear OS 3 تکمیل کنید.

  1. گزینه های توسعه دهنده را فعال کنید.
  2. دستور adb زیر را برای فعال کردن حالت مصنوعی صادر کنید:

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

هنگامی که تولید داده مصنوعی فعال شد، دستورات شرح داده شده در این صفحه را برای کنترل رفتار "کاربر مصنوعی" صادر کنید.

غیرفعال کردن تولید داده مصنوعی

برای بازگشت به استفاده از حسگرهای واقعی، دستور زیر را اجرا کنید:

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

تمرینات مصنوعی

Health Services از انواع ورزش های زیر پشتیبانی می کند:

  • راه رفتن: whs.synthetic.user.START_WALKING
  • در حال اجرا: whs.synthetic.user.START_RUNNING
  • پیاده روی: whs.synthetic.user.START_HIKING
  • شنا: whs.synthetic.user.START_SWIMMING
  • دویدن روی تردمیل: whs.synthetic.user.START_RUNNING_TREADMILL

تمرین ها داده های مصنوعی واقعی را برای انواع داده های زیر ایجاد می کنند:

  • ضربان قلب
  • تعداد گام در دقیقه
  • مکان GPS، با استفاده از یک مسیر پیش‌فرض
  • مدت زمان فعالیت
  • ارتفاع و طبقات

علاوه بر این، حالت های زیر را می توان ایجاد کرد:

  • حالت خواب - خواب یا بیدار
  • تشخیص سقوط

شروع کنید

برای شروع شبیه سازی یک تمرین، پخش مناسب را به 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

هر فعالیت دارای تنظیمات از پیش تعیین شده برای معیارهای پشتیبانی شده است:

فعالیت ضربان قلب سرعت متوسط تغییر ارتفاع از موقعیت مکانی استفاده کنید
راه رفتن 120 bpm 1.4 متر بر ثانیه 20.0 متر در دقیقه درست است
در حال دویدن 170 ضربه در دقیقه 2.3 متر بر ثانیه 20.0 متر در دقیقه درست است
پیاده روی 150 ضربه در دقیقه 1.3 متر بر ثانیه 20.0 متر در دقیقه درست است
شنا کردن 150 ضربه در دقیقه 1.6 متر بر ثانیه 0.0 متر در دقیقه درست است
دویدن روی تردمیل 160 bpm 2.3 متر بر ثانیه 20.0 متر در دقیقه نادرست

توقف کنید

برای توقف فعالیت مصنوعی، از دستور زیر استفاده کنید:

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

سفارشی

For more precise control over what metrics are generated, start a custom exercise activity using the action string whs.synthetic.user.START_EXERCISE . هر ترکیبی از پرچم های زیر را ارائه دهید:

  • --ei exercise_options_duration_secs <int> : مدت زمان تمرین بر حسب ثانیه. پیش فرض: 0 .
  • --ei exercise_options_heart_rate <int> : ضربان قلب بر حسب ضربان در دقیقه. میانگین: 70 .
  • --ef exercise_options_average_speed <float> : سرعت متوسط ​​بر حسب متر بر ثانیه. همچنین بر مراحل در دقیقه یا آهنگ تأثیر می گذارد. پیش فرض: 0 .
  • --ez exercise_options_use_location <boolean> : whether to emit location data during the exercise, using a default route. پیش فرض: false .
  • --ef exercise_options_max_elevation_rate <float> : حداکثر نرخ تغییر ارتفاع ممکن بر حسب متر در دقیقه. پیش فرض: 0 .

به عنوان مثال، گزینه های تمرین را به روش زیر تنظیم کنید:

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

همچنین می‌توانید انواع داده‌های موجود را تغییر دهید، خواه سخت‌افزار واقعی یا شبیه‌سازی‌شده از یک نوع داده خاص پشتیبانی کند یا نه. به عنوان مثال، همانطور که در قطعه زیر نشان داده شده است، می توانید ارتفاع مطلق را فعال یا غیرفعال کنید:

# 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

سایر ایالت ها و رویدادها

حالت خواب

همچنین می‌توانید حالت‌های خواب را برای کاربر مصنوعی فعال کنید. دو حالت پشتیبانی می شود: خواب و بیدار.

برای وارد شدن به حالت خواب، این دستور را اجرا کنید:

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

برای وارد شدن به حالت بیداری این دستور را اجرا کنید:

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

تشخیص سقوط

برای شبیه سازی سقوط، این دستور را اجرا کنید:

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

ممکن است یک دقیقه طول بکشد تا خدمات بهداشتی رویداد پاییز را ارائه دهند.

{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}