इस पेज पर, 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
अनुरोध भेजें.GET
https://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 {}