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

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

सेवाएं

cvd env निर्देश, कटलफ़िश एनवायरमेंट:

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

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

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

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

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

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

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

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

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

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

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

  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 सेवा को एक RPC अनुरोध भेजें इस यूआरएल पर 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
    {}