इस पेज पर, REST API या कमांड लाइन इंटरफ़ेस का इस्तेमाल करके, Cuttlefish डिवाइस में एनवायरमेंट को कंट्रोल करने का तरीका बताया गया है. उदाहरण के लिए, Cuttlefish डिवाइस के वाई-फ़ाई सिग्नल में बदलाव किया जा सकता है या जीपीएस की जगह की जानकारी अपडेट की जा सकती है.
सेवाएं
cvd env कमांड, Cuttlefish एनवायरमेंट को कंट्रोल करने के लिए ये सेवाएं उपलब्ध कराती है:
| सेवाएं | ब्यौरा |
|---|---|
GnssGrpcProxy
|
यह कुकी, Cuttlefish की जियोलोकेशन सुविधा के लिए GNSS को कंट्रोल करती है. |
OpenwrtControlService
|
यह Openwrt को कंट्रोल करता है. यह Cuttlefish की वाई-फ़ाई सुविधा के लिए, वर्चुअलाइज़ किया गया वाई-फ़ाई एपी
प्रोवाइडर है. |
WmediumdService
|
यह कुकी, Cuttlefish की वाई-फ़ाई सुविधा के लिए वायरलेस मीडियम सिम्युलेटर 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 के इस्तेमाल का उदाहरण दिया गया है.
वाई-फ़ाई सिग्नल की मज़बूती में बदलाव करने के लिए, सेवा का नाम, तरीका, और अनुरोध मैसेज टाइप का नाम तय करें.
नीचे दिए गए यूआरएल पर
GETअनुरोध भेजकर, उपलब्ध सभी सेवाओं की सूची पाएं.https://localhost:1443/devices/cvd-1/servicesयह जवाब का एक उदाहरण है.
{"services":["OpenwrtControlService","EchoService","GnssGrpcProxy","WmediumdService"]}WmediumdServiceके लिए उपलब्ध तरीकों की सूची पाने के लिए, इस यूआरएल परGETअनुरोध भेजें.https://localhost:1443/devices/cvd-1/services/WmediumdServiceयह जवाब का एक उदाहरण है.
{"methods":["ListStations","LoadConfig","ReloadConfig","SetCivicloc","SetLci","SetPosition","SetSnr","SetTxpower","StartPcap","StopPcap"]}SetTxpowerतरीके के लिए, अनुरोध और जवाब के मैसेज टाइप के बारे में जानकारी पाएं. इसके लिए, यहां दिए गए यूआरएल परGETअनुरोध भेजें.https://localhost:1443/devices/cvd-1/services/WmediumdService/SetTxpowerयह जवाब का एक उदाहरण है.
{"request_type_name":"wmediumdserver.SetTxpowerRequest","response_type_name":"google.protobuf.Empty"}
wmediumdserver.SetTxpowerRequestअनुरोध मैसेज टाइप के बारे में ज़्यादा जानकारी पाने के लिए, नीचे दिए गए यूआरएल परwmediumdserver.SetTxpowerRequestअनुरोध भेजें.GEThttps://localhost:1443/devices/cvd-1/services/WmediumdService/wmediumdserver.SetTxpowerRequest/typeयह जवाब का एक उदाहरण है.
message SetTxpowerRequest { string mac_address = 1; int32 tx_power = 2; }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 फ़ॉर्मैट वाला
प्रोटो मैसेज लिखा जा सकता है.
cvd env type SERVICE_NAME REQUEST_OR_RESPONSE_TYPE_NAMEएनवायरमेंट में बदलाव करने के लिए, आरपीसी अनुरोध भेजना
JSON फ़ॉर्मैट वाले प्रोटो का इस्तेमाल करके, किसी सेवा के तरीके को कॉल करने के लिए आरपीसी अनुरोध भेजने के लिए, cvd enc call कमांड का इस्तेमाल करें. जब आरपीसी अनुरोध खत्म हो जाता है, तो इंटरफ़ेस Rpc succeeded with OK status मैसेज प्रिंट करता है. साथ ही, अगर उपलब्ध हो, तो वैल्यू वाला जवाब भी प्रिंट करता है.
cvd env call SERVICE_NAME METHOD_NAME JSON_FORMATTED_PROTOइस्तेमाल का उदाहरण
यहां SetTxpower को कॉल करके, वाई-फ़ाई सिग्नल की क्षमता में बदलाव करने के लिए, cvd env सीएलआई कमांड के इस्तेमाल का उदाहरण दिया गया है.
वाई-फ़ाई सिग्नल की मज़बूती में बदलाव करने के लिए, सेवा का नाम, तरीका, और अनुरोध मैसेज टाइप का नाम तय करें.
सभी उपलब्ध सेवाओं की सूची पाएं.
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" }wmediumdserver.SetTxpowerRequestअनुरोध मैसेज टाइप के बारे में ज़्यादा जानकारी पाएं.cvd env type WmediumdService wmediumdserver.SetTxpowerRequest (Omitted) message SetTxpowerRequest { string mac_address = 1; int32 tx_power = 2; }वाई-फ़ाई सिग्नल की ताकत को अपनी ज़रूरत के हिसाब से बदलने के लिए,
WmediumdServiceसेवा को आरपीसी अनुरोध भेजें.cvd env call WmediumdService SetTxpower "{mac_address:'42:00:00:00:00:00', tx_power:1}" (Omitted) Rpc succeeded with OK status {}