कटलफिश: पर्यावरण नियंत्रण

यह पृष्ठ वर्णन करता है कि REST API या कमांड लाइन इंटरफ़ेस का उपयोग करके कटलफ़िश डिवाइस में पर्यावरण को कैसे नियंत्रित किया जाए। उदाहरण के लिए, आप वाई-फाई सिग्नल को संशोधित कर सकते हैं या कटलफिश डिवाइस के जीपीएस स्थान को अपडेट कर सकते हैं।

सेवाएं

cvd env कमांड कटलफिश पर्यावरण को नियंत्रित करने के लिए निम्नलिखित सेवाएं प्रदान करता है:

सेवाएं विवरण
GnssGrpcProxy कटलफिश जियोलोकेशन सुविधा के लिए जीएनएसएस को नियंत्रित करता है।
OpenwrtControlService Openwrt नियंत्रित करता है, जो कटलफिश वाई-फाई सुविधा के लिए एक वर्चुअलाइज्ड वाई-फाई एपी प्रदाता है।
WmediumdService कटलफिश वाई-फाई सुविधा के लिए एक वायरलेस माध्यम सिम्युलेटर Wmediumd को नियंत्रित करता है।

REST API का उपयोग करके पर्यावरण को नियंत्रित करें

यह अनुभाग वर्णन करता है कि <https://localhost:1443> सेवा समापन बिंदु के माध्यम से रेस्ट एपीआई का उपयोग करके पर्यावरण को कैसे नियंत्रित किया जाए।

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

सभी सेवाओं की सूची प्राप्त करने के लिए, डिवाइस आईडी के साथ निम्नलिखित URL पर एक 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 अनुरोध भेजें। यह संदेश में प्रत्येक फ़ील्ड के सभी नाम और प्रकार प्रिंट करता है। फिर आप RPC अनुरोध भेजने के लिए JSON-स्वरूपित प्रोटो संदेश लिखने के लिए इस जानकारी का उपयोग कर सकते हैं।

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

परिवेश में परिवर्तन करने के लिए RPC अनुरोध भेजें

JSON-स्वरूपित प्रोटो के साथ किसी सेवा की विधि को कॉल करने के लिए RPC अनुरोध भेजने के लिए, डिवाइस आईडी, सेवा नाम और विधि नाम के साथ निम्नलिखित URL पर एक POST अनुरोध भेजें। JSON-स्वरूपित प्रोटो को मुख्य भाग में शामिल किया जाना चाहिए।

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

उदाहरण उपयोग मामला

SetTxpower कॉल करके वाई-फ़ाई सिग्नल की शक्ति को संशोधित करने के लिए रेस्ट एपीआई का एक उदाहरण उपयोग मामला निम्नलिखित है।

  1. वाई-फाई सिग्नल की शक्ति को संशोधित करने के लिए सेवा का नाम, विधि का नाम और अनुरोध संदेश प्रकार का नाम निर्धारित करें।

    1. निम्नलिखित URL पर GET अनुरोध भेजकर सभी उपलब्ध सेवाओं की सूची प्राप्त करें।

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

      यह एक उदाहरण प्रतिक्रिया है.

      {"services":["OpenwrtControlService","EchoService","GnssGrpcProxy","WmediumdService"]}
      
    2. निम्नलिखित URL पर GET अनुरोध भेजकर WmediumdService के तरीकों की एक सूची प्राप्त करें।

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

      यह एक उदाहरण प्रतिक्रिया है.

      {"methods":["ListStations","LoadConfig","ReloadConfig","SetCivicloc","SetLci","SetPosition","SetSnr","SetTxpower","StartPcap","StopPcap"]}
      
    3. निम्नलिखित URL पर GET अनुरोध भेजकर SetTxpower विधि के लिए अनुरोध और प्रतिक्रिया संदेश प्रकारों के बारे में जानकारी प्राप्त करें।

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

      यह एक उदाहरण प्रतिक्रिया है.

      {"request_type_name":"wmediumdserver.SetTxpowerRequest","response_type_name":"google.protobuf.Empty"}
      
  2. निम्नलिखित URL पर GET अनुरोध भेजकर wmediumdserver.SetTxpowerRequest अनुरोध संदेश प्रकार के लिए विस्तृत जानकारी प्राप्त करें।

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

    यह एक उदाहरण प्रतिक्रिया है.

    message SetTxpowerRequest {
      string mac_address = 1;
      int32 tx_power = 2;
    }
    
  3. निम्नलिखित अनुरोध निकाय के साथ इस URL पर एक POST अनुरोध भेजकर वाई-फाई सिग्नल की शक्ति को वांछित स्तर तक संशोधित करने के लिए WmediumdService सेवा को एक RPC अनुरोध भेजें।

    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 कमांड का उपयोग करें। यह कमांड संदेश में प्रत्येक फ़ील्ड के सभी नाम और प्रकार प्रिंट करता है। फिर आप RPC अनुरोध भेजने के लिए JSON-स्वरूपित प्रोटो संदेश लिखने के लिए इस जानकारी का उपयोग कर सकते हैं।

cvd env type SERVICE_NAME REQUEST_OR_RESPONSE_TYPE_NAME

परिवेश में परिवर्तन करने के लिए RPC अनुरोध भेजें

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

cvd env call SERVICE_NAME METHOD_NAME JSON_FORMATTED_PROTO

उदाहरण उपयोग मामला

SetTxpower कॉल करके वाई-फ़ाई सिग्नल की शक्ति को संशोधित करने के लिए cvd env CLI कमांड का एक उदाहरण उपयोग मामला निम्नलिखित है।

  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
    {}
    
,

यह पृष्ठ वर्णन करता है कि REST API या कमांड लाइन इंटरफ़ेस का उपयोग करके कटलफ़िश डिवाइस में पर्यावरण को कैसे नियंत्रित किया जाए। उदाहरण के लिए, आप वाई-फाई सिग्नल को संशोधित कर सकते हैं या कटलफिश डिवाइस के जीपीएस स्थान को अपडेट कर सकते हैं।

सेवाएं

cvd env कमांड कटलफिश पर्यावरण को नियंत्रित करने के लिए निम्नलिखित सेवाएं प्रदान करता है:

सेवाएं विवरण
GnssGrpcProxy कटलफिश जियोलोकेशन सुविधा के लिए जीएनएसएस को नियंत्रित करता है।
OpenwrtControlService Openwrt नियंत्रित करता है, जो कटलफिश वाई-फाई सुविधा के लिए एक वर्चुअलाइज्ड वाई-फाई एपी प्रदाता है।
WmediumdService कटलफिश वाई-फाई सुविधा के लिए एक वायरलेस माध्यम सिम्युलेटर Wmediumd को नियंत्रित करता है।

REST API का उपयोग करके पर्यावरण को नियंत्रित करें

यह अनुभाग वर्णन करता है कि <https://localhost:1443> सेवा समापन बिंदु के माध्यम से रेस्ट एपीआई का उपयोग करके पर्यावरण को कैसे नियंत्रित किया जाए।

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

सभी सेवाओं की सूची प्राप्त करने के लिए, डिवाइस आईडी के साथ निम्नलिखित URL पर एक 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 अनुरोध भेजें। यह संदेश में प्रत्येक फ़ील्ड के सभी नाम और प्रकार प्रिंट करता है। फिर आप RPC अनुरोध भेजने के लिए JSON-स्वरूपित प्रोटो संदेश लिखने के लिए इस जानकारी का उपयोग कर सकते हैं।

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

परिवेश में परिवर्तन करने के लिए RPC अनुरोध भेजें

JSON-स्वरूपित प्रोटो के साथ किसी सेवा की विधि को कॉल करने के लिए RPC अनुरोध भेजने के लिए, डिवाइस आईडी, सेवा नाम और विधि नाम के साथ निम्नलिखित URL पर एक POST अनुरोध भेजें। JSON-स्वरूपित प्रोटो को मुख्य भाग में शामिल किया जाना चाहिए।

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

उदाहरण उपयोग मामला

SetTxpower कॉल करके वाई-फ़ाई सिग्नल की शक्ति को संशोधित करने के लिए रेस्ट एपीआई का एक उदाहरण उपयोग मामला निम्नलिखित है।

  1. वाई-फाई सिग्नल की शक्ति को संशोधित करने के लिए सेवा का नाम, विधि का नाम और अनुरोध संदेश प्रकार का नाम निर्धारित करें।

    1. निम्नलिखित URL पर GET अनुरोध भेजकर सभी उपलब्ध सेवाओं की सूची प्राप्त करें।

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

      यह एक उदाहरण प्रतिक्रिया है.

      {"services":["OpenwrtControlService","EchoService","GnssGrpcProxy","WmediumdService"]}
      
    2. निम्नलिखित URL पर GET अनुरोध भेजकर WmediumdService के तरीकों की एक सूची प्राप्त करें।

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

      यह एक उदाहरण प्रतिक्रिया है.

      {"methods":["ListStations","LoadConfig","ReloadConfig","SetCivicloc","SetLci","SetPosition","SetSnr","SetTxpower","StartPcap","StopPcap"]}
      
    3. निम्नलिखित URL पर GET अनुरोध भेजकर SetTxpower विधि के लिए अनुरोध और प्रतिक्रिया संदेश प्रकारों के बारे में जानकारी प्राप्त करें।

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

      यह एक उदाहरण प्रतिक्रिया है.

      {"request_type_name":"wmediumdserver.SetTxpowerRequest","response_type_name":"google.protobuf.Empty"}
      
  2. निम्नलिखित URL पर GET अनुरोध भेजकर wmediumdserver.SetTxpowerRequest अनुरोध संदेश प्रकार के लिए विस्तृत जानकारी प्राप्त करें।

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

    यह एक उदाहरण प्रतिक्रिया है.

    message SetTxpowerRequest {
      string mac_address = 1;
      int32 tx_power = 2;
    }
    
  3. निम्नलिखित अनुरोध निकाय के साथ इस URL पर एक POST अनुरोध भेजकर वाई-फाई सिग्नल की शक्ति को वांछित स्तर तक संशोधित करने के लिए WmediumdService सेवा को एक RPC अनुरोध भेजें।

    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 कमांड का उपयोग करें। यह कमांड संदेश में प्रत्येक फ़ील्ड के सभी नाम और प्रकार प्रिंट करता है। फिर आप RPC अनुरोध भेजने के लिए JSON-स्वरूपित प्रोटो संदेश लिखने के लिए इस जानकारी का उपयोग कर सकते हैं।

cvd env type SERVICE_NAME REQUEST_OR_RESPONSE_TYPE_NAME

परिवेश में परिवर्तन करने के लिए RPC अनुरोध भेजें

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

cvd env call SERVICE_NAME METHOD_NAME JSON_FORMATTED_PROTO

उदाहरण उपयोग मामला

SetTxpower कॉल करके वाई-फ़ाई सिग्नल की शक्ति को संशोधित करने के लिए cvd env CLI कमांड का एक उदाहरण उपयोग मामला निम्नलिखित है।

  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
    {}