الحبار: مراقبة البيئة

توضح هذه الصفحة كيفية التحكم في البيئة في جهاز Cuttlefish باستخدام REST API أو واجهة سطر الأوامر. على سبيل المثال، يمكنك تعديل إشارة Wi-Fi أو تحديث موقع GPS لجهاز Cuttlefish.

خدمات

يوفر الأمر cvd env الخدمات التالية للتحكم في بيئة Cuttlefish:

خدمات وصف
GnssGrpcProxy يتحكم في GNSS لميزة تحديد الموقع الجغرافي لـ Cuttlefish.
OpenwrtControlService يتحكم في Openwrt ، وهو مزود Wi-Fi AP افتراضي لميزة Cuttlefish Wi-Fi.
WmediumdService يتحكم في Wmediumd ، وهو جهاز محاكاة لاسلكي لميزة Cuttlefish Wi-Fi.

التحكم في البيئة باستخدام REST API

يصف هذا القسم كيفية التحكم في البيئة باستخدام Rest API من خلال نقطة نهاية الخدمة <https://localhost:1443> .

قائمة الخدمات أو الطرق المتاحة

للحصول على قائمة بجميع الخدمات، أرسل طلب GET إلى عنوان URL التالي مع معرف الجهاز.

https://localhost:1443/devices/DEVICE_ID/services

للحصول على قائمة بجميع طرق الخدمة، أرسل طلب GET إلى عنوان URL التالي مع معرف الجهاز واسم الخدمة.

https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME

للحصول على معلومات تفصيلية عن إحدى الطرق، مثل أنواع رسائل الطلب أو الاستجابة، أرسل طلب GET إلى عنوان URL التالي مع معرف الجهاز واسم الخدمة واسم الطريقة.

https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/METHOD_NAME

احصل على معلومات مفصلة عن أنواع الطلبات والاستجابة

للحصول على معلومات تفصيلية عن نوع رسالة الطلب أو الاستجابة، أرسل طلب GET إلى عنوان URL التالي مع معرف الجهاز واسم الخدمة ونوع رسالة الطلب أو الاستجابة. يؤدي هذا إلى طباعة كافة أسماء وأنواع كل حقل في الرسالة. يمكنك بعد ذلك استخدام هذه المعلومات لكتابة رسالة أولية بتنسيق JSON لإرسال طلب RPC.

https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/REQUEST_OR_RESPONSE_TYPE_NAME/type

أرسل طلب RPC لإجراء تغييرات على البيئة

لإرسال طلب RPC لاستدعاء طريقة خدمة باستخدام نموذج أولي بتنسيق JSON، أرسل طلب POST إلى عنوان URL التالي مع معرف الجهاز واسم الخدمة واسم الطريقة. يجب تضمين النموذج الأولي بتنسيق JSON في النص.

https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/METHOD_NAME

مثال لحالة الاستخدام

فيما يلي مثال لحالة استخدام Rest API لتعديل قوة إشارة Wi-Fi عن طريق استدعاء SetTxpower .

  1. تحديد اسم الخدمة واسم الطريقة واسم نوع رسالة الطلب لتعديل قوة إشارة Wi-Fi.

    1. احصل على قائمة بجميع الخدمات المتاحة عن طريق إرسال طلب GET إلى عنوان URL التالي.

      https://localhost:1443/devices/cvd-1/services
      

      وهذا مثال للرد.

      {"services":["OpenwrtControlService","EchoService","GnssGrpcProxy","WmediumdService"]}
      
    2. احصل على قائمة بطرق WmediumdService عن طريق إرسال طلب GET إلى عنوان URL التالي.

      https://localhost:1443/devices/cvd-1/services/WmediumdService
      

      وهذا مثال للرد.

      {"methods":["ListStations","LoadConfig","ReloadConfig","SetCivicloc","SetLci","SetPosition","SetSnr","SetTxpower","StartPcap","StopPcap"]}
      
    3. احصل على معلومات حول أنواع رسائل الطلب والاستجابة لأسلوب SetTxpower عن طريق إرسال طلب GET إلى عنوان URL التالي.

      https://localhost:1443/devices/cvd-1/services/WmediumdService/SetTxpower
      

      وهذا مثال للرد.

      {"request_type_name":"wmediumdserver.SetTxpowerRequest","response_type_name":"google.protobuf.Empty"}
      
  2. احصل على معلومات تفصيلية عن نوع رسالة طلب wmediumdserver.SetTxpowerRequest عن طريق إرسال طلب GET إلى عنوان URL التالي.

    https://localhost:1443/devices/cvd-1/services/WmediumdService/wmediumdserver.SetTxpowerRequest/type
    

    وهذا مثال للرد.

    message SetTxpowerRequest {
      string mac_address = 1;
      int32 tx_power = 2;
    }
    
  3. أرسل طلب RPC إلى خدمة WmediumdService لتعديل قوة إشارة Wi-Fi إلى المستوى المطلوب عن طريق إرسال طلب POST إلى عنوان URL هذا مع نص الطلب التالي.

    https://localhost:1443/devices/cvd-1/services/WmediumdService/SetTxpower
    
    {"mac_address":"42:00:00:00:00:00", "tx_power":1}
    

    وهذا مثال للرد.

    {}
    

السيطرة على البيئة باستخدام سطر الأوامر

يصف هذا القسم الأوامر الفرعية المتاحة للأمر cvd env CLI. لمزيد من التفاصيل، اطبع رسالة المساعدة باستخدام cvd help env .

قائمة الخدمات أو الطرق المتاحة

للحصول على قائمة بجميع الخدمات، استخدم cvd env ls بدون أية وسائط.

cvd env ls

للحصول على قائمة بجميع أساليب الخدمة، قم بتضمين اسم الخدمة كوسيطة.

cvd env ls SERVICE_NAME

للحصول على معلومات تفصيلية مثل أنواع رسائل الطلب أو الاستجابة الخاصة بطريقة ما، قم بتضمين اسم الخدمة واسم الطريقة.

cvd env ls SERVICE_NAME METHOD_NAME

احصل على معلومات مفصلة عن أنواع الطلبات والاستجابة

للحصول على معلومات تفصيلية عن نوع رسالة الطلب أو الاستجابة، استخدم الأمر cvd env type . يقوم هذا الأمر بطباعة كافة الأسماء وأنواع كل حقل في الرسالة. يمكنك بعد ذلك استخدام هذه المعلومات لكتابة رسالة أولية بتنسيق JSON لإرسال طلب RPC.

cvd env type SERVICE_NAME REQUEST_OR_RESPONSE_TYPE_NAME

أرسل طلب RPC لإجراء تغييرات على البيئة

لإرسال طلب RPC لاستدعاء طريقة خدمة باستخدام بروتو بتنسيق JSON، استخدم أمر cvd enc call . عند انتهاء طلب RPC، تقوم الواجهة بطباعة الرسالة Rpc succeeded with OK status ، ورسالة استجابة تتضمن القيم، إذا كانت متوفرة.

cvd env call SERVICE_NAME METHOD_NAME JSON_FORMATTED_PROTO

مثال لحالة الاستخدام

فيما يلي مثال لحالة استخدام الأمر cvd env CLI لتعديل قوة إشارة Wi-Fi عن طريق استدعاء SetTxpower .

  1. تحديد اسم الخدمة واسم الطريقة واسم نوع رسالة الطلب لتعديل قوة إشارة Wi-Fi.

    الحصول على قائمة بجميع الخدمات المتاحة.

    cvd env ls
    (Omitted)
    {
      "services" :
      [
        "OpenwrtControlService",
        "EchoService",
        "GnssGrpcProxy",
        "WmediumdService"
      ]
    }
    

    احصل على قائمة بالطرق الخاصة بـ WmediumdService .

    cvd env ls WmediumdService
    (Omitted)
    {
      "methods" :
      [
        "ListStations",
        "LoadConfig",
        "ReloadConfig",
        "SetCivicloc",
        "SetLci",
        "SetPosition",
        "SetSnr",
        "SetTxpower",
        "StartPcap",
        "StopPcap"
      ]
    }
    

    احصل على معلومات حول أنواع رسائل الطلب والاستجابة لأسلوب SetTxpower .

    cvd env ls WmediumdService SetTxpower
    (Omitted)
    {
      "request_type" : "wmediumdserver.SetTxpowerRequest",
      "response_type" : "google.protobuf.Empty"
    }
    
  2. احصل على معلومات تفصيلية عن نوع رسالة الطلب wmediumdserver.SetTxpowerRequest .

    cvd env type WmediumdService wmediumdserver.SetTxpowerRequest
    (Omitted)
    message SetTxpowerRequest {
      string mac_address = 1;
      int32 tx_power = 2;
    }
    
  3. أرسل طلب RPC إلى خدمة WmediumdService لتعديل قوة إشارة Wi-Fi إلى المستوى المطلوب.

    cvd env call WmediumdService SetTxpower "{mac_address:'42:00:00:00:00:00', tx_power:1}"
    (Omitted)
    Rpc succeeded with OK status
    {}
    
,

توضح هذه الصفحة كيفية التحكم في البيئة في جهاز Cuttlefish باستخدام REST API أو واجهة سطر الأوامر. على سبيل المثال، يمكنك تعديل إشارة Wi-Fi أو تحديث موقع GPS لجهاز Cuttlefish.

خدمات

يوفر الأمر cvd env الخدمات التالية للتحكم في بيئة Cuttlefish:

خدمات وصف
GnssGrpcProxy يتحكم في GNSS لميزة تحديد الموقع الجغرافي لـ Cuttlefish.
OpenwrtControlService يتحكم في Openwrt ، وهو مزود Wi-Fi AP افتراضي لميزة Cuttlefish Wi-Fi.
WmediumdService يتحكم في Wmediumd ، وهو جهاز محاكاة لاسلكي لميزة Cuttlefish Wi-Fi.

التحكم في البيئة باستخدام REST API

يصف هذا القسم كيفية التحكم في البيئة باستخدام Rest API من خلال نقطة نهاية الخدمة <https://localhost:1443> .

قائمة الخدمات أو الطرق المتاحة

للحصول على قائمة بجميع الخدمات، أرسل طلب GET إلى عنوان URL التالي مع معرف الجهاز.

https://localhost:1443/devices/DEVICE_ID/services

للحصول على قائمة بجميع طرق الخدمة، أرسل طلب GET إلى عنوان URL التالي مع معرف الجهاز واسم الخدمة.

https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME

للحصول على معلومات تفصيلية عن إحدى الطرق، مثل أنواع رسائل الطلب أو الاستجابة، أرسل طلب GET إلى عنوان URL التالي مع معرف الجهاز واسم الخدمة واسم الطريقة.

https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/METHOD_NAME

احصل على معلومات مفصلة عن أنواع الطلبات والاستجابة

للحصول على معلومات تفصيلية عن نوع رسالة الطلب أو الاستجابة، أرسل طلب GET إلى عنوان URL التالي مع معرف الجهاز واسم الخدمة ونوع رسالة الطلب أو الاستجابة. يؤدي هذا إلى طباعة كافة أسماء وأنواع كل حقل في الرسالة. يمكنك بعد ذلك استخدام هذه المعلومات لكتابة رسالة أولية بتنسيق JSON لإرسال طلب RPC.

https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/REQUEST_OR_RESPONSE_TYPE_NAME/type

أرسل طلب RPC لإجراء تغييرات على البيئة

لإرسال طلب RPC لاستدعاء طريقة خدمة باستخدام نموذج أولي بتنسيق JSON، أرسل طلب POST إلى عنوان URL التالي مع معرف الجهاز واسم الخدمة واسم الطريقة. يجب تضمين النموذج الأولي بتنسيق JSON في النص.

https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/METHOD_NAME

مثال لحالة الاستخدام

فيما يلي مثال لحالة استخدام Rest API لتعديل قوة إشارة Wi-Fi عن طريق استدعاء SetTxpower .

  1. تحديد اسم الخدمة واسم الطريقة واسم نوع رسالة الطلب لتعديل قوة إشارة Wi-Fi.

    1. احصل على قائمة بجميع الخدمات المتاحة عن طريق إرسال طلب GET إلى عنوان URL التالي.

      https://localhost:1443/devices/cvd-1/services
      

      وهذا مثال للرد.

      {"services":["OpenwrtControlService","EchoService","GnssGrpcProxy","WmediumdService"]}
      
    2. احصل على قائمة بطرق WmediumdService عن طريق إرسال طلب GET إلى عنوان URL التالي.

      https://localhost:1443/devices/cvd-1/services/WmediumdService
      

      وهذا مثال للرد.

      {"methods":["ListStations","LoadConfig","ReloadConfig","SetCivicloc","SetLci","SetPosition","SetSnr","SetTxpower","StartPcap","StopPcap"]}
      
    3. احصل على معلومات حول أنواع رسائل الطلب والاستجابة لأسلوب SetTxpower عن طريق إرسال طلب GET إلى عنوان URL التالي.

      https://localhost:1443/devices/cvd-1/services/WmediumdService/SetTxpower
      

      وهذا مثال للرد.

      {"request_type_name":"wmediumdserver.SetTxpowerRequest","response_type_name":"google.protobuf.Empty"}
      
  2. احصل على معلومات تفصيلية عن نوع رسالة طلب wmediumdserver.SetTxpowerRequest عن طريق إرسال طلب GET إلى عنوان URL التالي.

    https://localhost:1443/devices/cvd-1/services/WmediumdService/wmediumdserver.SetTxpowerRequest/type
    

    وهذا مثال للرد.

    message SetTxpowerRequest {
      string mac_address = 1;
      int32 tx_power = 2;
    }
    
  3. أرسل طلب RPC إلى خدمة WmediumdService لتعديل قوة إشارة Wi-Fi إلى المستوى المطلوب عن طريق إرسال طلب POST إلى عنوان URL هذا مع نص الطلب التالي.

    https://localhost:1443/devices/cvd-1/services/WmediumdService/SetTxpower
    
    {"mac_address":"42:00:00:00:00:00", "tx_power":1}
    

    وهذا مثال للرد.

    {}
    

السيطرة على البيئة باستخدام سطر الأوامر

يصف هذا القسم الأوامر الفرعية المتاحة للأمر cvd env CLI. لمزيد من التفاصيل، اطبع رسالة المساعدة باستخدام cvd help env .

قائمة الخدمات أو الطرق المتاحة

للحصول على قائمة بجميع الخدمات، استخدم cvd env ls بدون أية وسائط.

cvd env ls

للحصول على قائمة بجميع أساليب الخدمة، قم بتضمين اسم الخدمة كوسيطة.

cvd env ls SERVICE_NAME

للحصول على معلومات تفصيلية مثل أنواع رسائل الطلب أو الاستجابة الخاصة بطريقة ما، قم بتضمين اسم الخدمة واسم الطريقة.

cvd env ls SERVICE_NAME METHOD_NAME

احصل على معلومات مفصلة عن أنواع الطلبات والاستجابة

للحصول على معلومات تفصيلية عن نوع رسالة الطلب أو الاستجابة، استخدم الأمر cvd env type . يقوم هذا الأمر بطباعة كافة الأسماء وأنواع كل حقل في الرسالة. يمكنك بعد ذلك استخدام هذه المعلومات لكتابة رسالة أولية بتنسيق JSON لإرسال طلب RPC.

cvd env type SERVICE_NAME REQUEST_OR_RESPONSE_TYPE_NAME

أرسل طلب RPC لإجراء تغييرات على البيئة

لإرسال طلب RPC لاستدعاء طريقة خدمة باستخدام بروتو بتنسيق JSON، استخدم أمر cvd enc call . عند انتهاء طلب RPC، تقوم الواجهة بطباعة الرسالة Rpc succeeded with OK status ، ورسالة استجابة تتضمن القيم، إذا كانت متوفرة.

cvd env call SERVICE_NAME METHOD_NAME JSON_FORMATTED_PROTO

مثال لحالة الاستخدام

فيما يلي مثال لحالة استخدام الأمر cvd env CLI لتعديل قوة إشارة Wi-Fi عن طريق استدعاء SetTxpower .

  1. تحديد اسم الخدمة واسم الطريقة واسم نوع رسالة الطلب لتعديل قوة إشارة Wi-Fi.

    الحصول على قائمة بجميع الخدمات المتاحة.

    cvd env ls
    (Omitted)
    {
      "services" :
      [
        "OpenwrtControlService",
        "EchoService",
        "GnssGrpcProxy",
        "WmediumdService"
      ]
    }
    

    احصل على قائمة بالطرق الخاصة بـ WmediumdService .

    cvd env ls WmediumdService
    (Omitted)
    {
      "methods" :
      [
        "ListStations",
        "LoadConfig",
        "ReloadConfig",
        "SetCivicloc",
        "SetLci",
        "SetPosition",
        "SetSnr",
        "SetTxpower",
        "StartPcap",
        "StopPcap"
      ]
    }
    

    احصل على معلومات حول أنواع رسائل الطلب والاستجابة لأسلوب SetTxpower .

    cvd env ls WmediumdService SetTxpower
    (Omitted)
    {
      "request_type" : "wmediumdserver.SetTxpowerRequest",
      "response_type" : "google.protobuf.Empty"
    }
    
  2. احصل على معلومات تفصيلية عن نوع رسالة الطلب wmediumdserver.SetTxpowerRequest .

    cvd env type WmediumdService wmediumdserver.SetTxpowerRequest
    (Omitted)
    message SetTxpowerRequest {
      string mac_address = 1;
      int32 tx_power = 2;
    }
    
  3. أرسل طلب RPC إلى خدمة WmediumdService لتعديل قوة إشارة Wi-Fi إلى المستوى المطلوب.

    cvd env call WmediumdService SetTxpower "{mac_address:'42:00:00:00:00:00', tx_power:1}"
    (Omitted)
    Rpc succeeded with OK status
    {}