कटलफ़िश: एनवायरमेंट कंट्रोल

इस पेज में कटलफ़िश डिवाइस में पर्यावरण को कंट्रोल करने का तरीका बताया गया है REST API या कमांड लाइन इंटरफ़ेस का इस्तेमाल करके. उदाहरण के लिए, वाई-फ़ाई सिग्नल में बदलाव किया जा सकता है या Cuttlefish डिवाइस की जीपीएस जगह की जानकारी अपडेट की जा सकती है.

सेवाएं

cvd env कमांड, Cuttlefish के एनवायरमेंट को कंट्रोल करने के लिए ये सेवाएं देता है:

सेवाएं ब्यौरा
GnssGrpcProxy Cuttlefish की जगह की जानकारी की सुविधा के लिए GNSS को कंट्रोल करता है.
OpenwrtControlService Cuttlefish वाई-फ़ाई सुविधा के लिए, वर्चुअलाइज़ किए गए वाई-फ़ाई एपी की सेवा देने वाले Openwrt को कंट्रोल करता है.
WmediumdService Wmediumd, वायरलेस मीडियम सिम्युलेटर को कंट्रोल करता है कटलफ़िश वाई-फ़ाई सुविधा का इस्तेमाल करें.
CasimirControlService Casimir को कंट्रोल करता है. यह बाहरी एनएफ़सी का सिम्युलेटर है डिवाइस.

REST API का इस्तेमाल करके, एनवायरमेंट को कंट्रोल करें

इस सेक्शन में, <https://localhost:1443> सेवा एंडपॉइंट के ज़रिए Rest API का इस्तेमाल करके, एनवायरमेंट को कंट्रोल करने का तरीका बताया गया है.

उपलब्ध सेवाओं या तरीकों की सूची बनाना

सभी सेवाओं की सूची पाने के लिए, इस यूआरएल पर GET का अनुरोध भेजें. डिवाइस आईडी

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

किसी सेवा के सभी तरीकों की सूची पाने के लिए, डिवाइस आईडी और सेवा के नाम के साथ, यहां दिए गए यूआरएल पर GET अनुरोध भेजें.

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

किसी तरीके के बारे में ज़्यादा जानकारी पाने के लिए. जैसे, अनुरोध या उसका जवाब मैसेज का टाइप, डिवाइस आईडी के साथ इस यूआरएल पर GET का अनुरोध भेजें. एक सेवा नाम और विधि नाम.

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

अनुरोध और जवाब के टाइप के बारे में ज़्यादा जानकारी पाना

अनुरोध या रिस्पॉन्स मैसेज टाइप के बारे में ज़्यादा जानकारी पाने के लिए, यहां दिए गए यूआरएल पर GET अनुरोध भेजें. साथ ही, डिवाइस आईडी, सेवा का नाम, और अनुरोध या रिस्पॉन्स मैसेज टाइप की जानकारी दें. इससे मैसेज में मौजूद हर फ़ील्ड के नाम और टाइप प्रिंट होते हैं. इसके बाद, इस जानकारी का इस्तेमाल करके, रिमोट प्रोसेस कॉल (आरपीसी) का अनुरोध भेजने के लिए, JSON फ़ॉर्मैट में प्रोटो मैसेज लिखा जा सकता है.

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

एनवायरमेंट में बदलाव करने के लिए, आरपीसी अनुरोध भेजें

JSON फ़ॉर्मैट वाले प्रोटो के साथ किसी सेवा के तरीके को कॉल करने के लिए आरपीसी अनुरोध भेजने के लिए, डिवाइस आईडी, सेवा के नाम, और तरीके के नाम के साथ नीचे दिए गए यूआरएल पर POST अनुरोध भेजें. JSON के फ़ॉर्मैट वाले प्रोटो को शरीर.

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

इस्तेमाल का उदाहरण

यहां SetTxpower को कॉल करके, वाई-फ़ाई सिग्नल की क्षमता में बदलाव करने के लिए, Rest API के इस्तेमाल का उदाहरण दिया गया है.

  1. वाई-फ़ाई सिग्नल की क्षमता में बदलाव करने के लिए, सेवा का नाम, तरीके का नाम, और अनुरोध मैसेज टाइप का नाम तय करें.

    1. उपलब्ध सभी सेवाओं की सूची पाने के लिए, यहां दिए गए यूआरएल पर GET अनुरोध भेजें.

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

      यह जवाब का एक उदाहरण है.

      {"services":["OpenwrtControlService","EchoService","GnssGrpcProxy","WmediumdService"]}
      
    2. यहां दिए गए यूआरएल पर GET अनुरोध भेजकर, WmediumdService के तरीकों की सूची पाएं.

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

      यह जवाब का एक उदाहरण है.

      {"methods":["ListStations","LoadConfig","ReloadConfig","SetCivicloc","SetLci","SetPosition","SetSnr","SetTxpower","StartPcap","StopPcap"]}
      
    3. SetTxpower तरीके के लिए, अनुरोध और जवाब के मैसेज टाइप के बारे में जानकारी पाएं. इसके लिए, नीचे दिए गए यूआरएल पर GET अनुरोध भेजें.

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

      यह जवाब का एक उदाहरण है.

      {"request_type_name":"wmediumdserver.SetTxpowerRequest","response_type_name":"google.protobuf.Empty"}
      
  2. wmediumdserver.SetTxpowerRequest अनुरोध मैसेज टाइप के बारे में ज़्यादा जानकारी पाने के लिए, नीचे दिए गए यूआरएल पर GET अनुरोध भेजें.

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

    यह जवाब का एक उदाहरण है.

    message SetTxpowerRequest {
      string mac_address = 1;
      int32 tx_power = 2;
    }
    
  3. WmediumdService सेवा को आरपीसी अनुरोध भेजें, ताकि वाई-फ़ाई सिग्नल की क्षमता को अपने हिसाब से बदला जा सके. इसके लिए, इस यूआरएल पर POST अनुरोध भेजें. साथ ही, अनुरोध बॉडी में नीचे दिया गया अनुरोध शामिल करें.

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

    यह जवाब का एक उदाहरण है.

    {}
    

कमांड लाइन का इस्तेमाल करके एनवायरमेंट को कंट्रोल करना

इस सेक्शन में, cvd env सीएलआई कमांड के लिए उपलब्ध सब-कमांड के बारे में बताया गया है. ज़्यादा जानकारी के लिए, 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

एनवायरमेंट में बदलाव करने के लिए, आरपीसी अनुरोध भेजें

JSON के फ़ॉर्मैट किए गए प्रोटो से किसी सेवा के तरीके को कॉल करने के लिए, RPC अनुरोध भेजने के लिए, cvd enc call निर्देश का इस्तेमाल करें. आरपीसी अनुरोध खत्म होने पर, इंटरफ़ेस Rpc succeeded with OK status मैसेज और वैल्यू वाला रिस्पॉन्स मैसेज प्रिंट करता है. हालांकि, यह वैल्यू वाला रिस्पॉन्स मैसेज सिर्फ़ तब दिखता है, जब वह उपलब्ध हो.

cvd env call SERVICE_NAME METHOD_NAME JSON_FORMATTED_PROTO

इस्तेमाल के उदाहरण

बदलाव करने के लिए, cvd env सीएलआई कमांड के इस्तेमाल का उदाहरण नीचे दिया गया है SetTxpower पर कॉल करके वाई-फ़ाई सिग्नल की क्षमता का पता लगाएं.

  1. सेवा का नाम, तरीका का नाम, और अनुरोध के मैसेज का टाइप तय करें वाई-फ़ाई सिग्नल की क्षमता में बदलाव करने के लिए नाम.

    सभी उपलब्ध सेवाओं की सूची पाएं.

    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. वाई-फ़ाई में बदलाव करने के लिए, WmediumdService सेवा को RPC अनुरोध भेजें सिग्नल की क्षमता को ज़रूरत के मुताबिक सेट किया जा सकता है.

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