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

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

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

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

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

از پنل حسگر خدمات درمانی استفاده کنید

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

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

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

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

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

  • برای انتخاب مجموعه‌ای از قابلیت‌هایی که در تمرین بعدی فعال می‌شوند، بین گزینه‌های Standard capabilities و All capabilities (default) جابه‌جا شوید. می‌توانید با انتخاب کادرهای انتخاب، قابلیت‌های جداگانه را فعال یا غیرفعال کنید. برای ارسال لیست فعلی قابلیت‌ها به دستگاه شبیه‌سازی شده، Apply را انتخاب کنید و برای بازگرداندن لیست قابلیت‌ها به مقادیر پیش‌فرض روشن-خاموش، Reset را انتخاب کنید.
  • پس از انتخاب دکمه کشویی «راه‌اندازی رویدادها» ، رویدادهای مختلف کاربر را فعال کنید. از اینجا می‌توانید مکث/ازسرگیری خودکار فعالیت‌های تناسب اندام، فعال‌سازی رویدادهای خواب توسط کاربر و فعال‌سازی ضربات گلف که کاربر در زمین گلف یا مینی گلف می‌زند را فعال کنید.
  • پس از شروع تمرین در برنامه‌ای که روی شبیه‌ساز نصب شده است، مقادیر حسگر را لغو کنید. پس از وارد کردن مقادیر جدید برای معیارهای مختلف تمرین، برای همگام‌سازی این مقادیر با شبیه‌ساز، گزینه «اعمال» را انتخاب کنید. این برای آزمایش نحوه مدیریت شرایط مختلف تمرین توسط برنامه شما و تمایلات تناسب اندام کاربران مفید است.

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

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

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

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

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

شما می‌توانید رویدادهای مختلفی مانند 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

تشخیص توقف خواب

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

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

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

  • راه رفتن: 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، با استفاده از یک مسیر پیش‌فرض واحد
  • مدت زمان فعالیت
  • ارتفاع و طبقات

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

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

شروع

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

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

فعالیت ضربان قلب سرعت متوسط تغییر ارتفاع استفاده از موقعیت مکانی
پیاده‌روی ۱۲۰ ضربه در دقیقه ۱.۴ متر بر ثانیه 20.0 متر در دقیقه درست
دویدن ۱۷۰ ضربه در دقیقه ۲.۳ متر بر ثانیه 20.0 متر در دقیقه درست
پیاده‌روی ۱۵۰ ضربه در دقیقه ۱.۳ متر بر ثانیه 20.0 متر در دقیقه درست
شنا ۱۵۰ ضربه در دقیقه ۱.۶ متر بر ثانیه 0.0 متر در دقیقه درست
دویدن روی تردمیل ۱۶۰ ضربه در دقیقه ۲.۳ متر بر ثانیه 20.0 متر در دقیقه نادرست

توقف

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

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

سفارشی

برای کنترل دقیق‌تر بر روی معیارهای تولید شده، یک فعالیت تمرینی سفارشی را با استفاده از رشته‌ی عملیاتی 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> : آیا داده‌های موقعیت مکانی در طول تمرین با استفاده از یک مسیر پیش‌فرض منتشر شوند یا خیر. پیش‌فرض: 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

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

{% کلمه به کلمه %} {% فعل کمکی %} {% کلمه به کلمه %} {% فعل کمکی %}