এই পৃষ্ঠাটি বর্ণনা করে যে কিভাবে REST API বা কমান্ড লাইন ইন্টারফেস ব্যবহার করে একটি Cuttlefish ডিভাইসে পরিবেশ নিয়ন্ত্রণ করা যায়। উদাহরণস্বরূপ, আপনি Wi-Fi সংকেত পরিবর্তন করতে পারেন বা Cuttlefish ডিভাইসের GPS অবস্থান আপডেট করতে পারেন।
সেবা
cvd env কমান্ড Cuttlefish পরিবেশ নিয়ন্ত্রণের জন্য নিম্নলিখিত পরিষেবা প্রদান করে:
| সেবা | বর্ণনা |
|---|---|
GnssGrpcProxy | Cuttlefish জিওলোকেশন বৈশিষ্ট্যের জন্য GNSS নিয়ন্ত্রণ করে। |
OpenwrtControlService | Cuttlefish Wi-Fi বৈশিষ্ট্যের জন্য একটি ভার্চুয়ালাইজড Wi-Fi AP প্রদানকারী Openwrt নিয়ন্ত্রণ করে। |
WmediumdService | Wmediumd নিয়ন্ত্রণ করে, Cuttlefish Wi-Fi বৈশিষ্ট্যের জন্য একটি ওয়্যারলেস মিডিয়াম সিমুলেটর। |
CasimirControlService | Casimir নিয়ন্ত্রণ করে, বাহ্যিক NFC ডিভাইসের জন্য একটি সিমুলেটর। |
REST API ব্যবহার করে পরিবেশ নিয়ন্ত্রণ করুন
এই বিভাগে <https://localhost:1443> সার্ভিস এন্ডপয়েন্টের মাধ্যমে Rest API ব্যবহার করে পরিবেশ কীভাবে নিয়ন্ত্রণ করা যায় তা বর্ণনা করে।
উপলব্ধ পরিষেবা বা পদ্ধতি তালিকা
সমস্ত পরিষেবার একটি তালিকা পেতে, একটি ডিভাইস আইডি সহ নিম্নলিখিত URL এ একটি GET অনুরোধ পাঠান৷
https://localhost:1443/devices/DEVICE_ID/services
একটি পরিষেবার জন্য সমস্ত পদ্ধতির একটি তালিকা পেতে, একটি ডিভাইস আইডি এবং পরিষেবার নাম সহ নিম্নলিখিত URL এ একটি GET অনুরোধ পাঠান৷
https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME
একটি পদ্ধতির জন্য বিস্তারিত তথ্য পেতে, যেমন অনুরোধ বা প্রতিক্রিয়া বার্তা প্রকার, একটি ডিভাইস আইডি, একটি পরিষেবার নাম এবং পদ্ধতির নাম সহ নিম্নলিখিত URL-এ একটি GET অনুরোধ পাঠান৷
https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/METHOD_NAME
অনুরোধ এবং প্রতিক্রিয়া ধরনের বিস্তারিত তথ্য পান
একটি অনুরোধ বা প্রতিক্রিয়া বার্তা প্রকারের বিস্তারিত তথ্য পেতে, একটি ডিভাইস আইডি, একটি পরিষেবার নাম এবং অনুরোধ বা প্রতিক্রিয়া বার্তার ধরন সহ নিম্নলিখিত URL এ একটি 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 কল করে Wi-Fi সংকেত শক্তি পরিবর্তন করার জন্য Rest API-এর একটি উদাহরণ ব্যবহার করা হল।
Wi-Fi সংকেত শক্তি পরিবর্তন করার জন্য পরিষেবার নাম, পদ্ধতির নাম এবং অনুরোধ বার্তার প্রকারের নাম নির্ধারণ করুন।
নিম্নলিখিত URL এ একটি
GETঅনুরোধ পাঠিয়ে সমস্ত উপলব্ধ পরিষেবাগুলির একটি তালিকা পান৷https://localhost:1443/devices/cvd-1/servicesএটি একটি উদাহরণ প্রতিক্রিয়া.
{"services":["OpenwrtControlService","EchoService","GnssGrpcProxy","WmediumdService"]}নিম্নলিখিত URL-এ একটি
GETঅনুরোধ পাঠিয়েWmediumdServiceএর পদ্ধতির একটি তালিকা পান।https://localhost:1443/devices/cvd-1/services/WmediumdServiceএটি একটি উদাহরণ প্রতিক্রিয়া.
{"methods":["ListStations","LoadConfig","ReloadConfig","SetCivicloc","SetLci","SetPosition","SetSnr","SetTxpower","StartPcap","StopPcap"]}নিম্নলিখিত URL এ একটি
GETঅনুরোধ পাঠিয়েSetTxpowerপদ্ধতির জন্য অনুরোধ এবং প্রতিক্রিয়া বার্তা প্রকারের তথ্য পান৷https://localhost:1443/devices/cvd-1/services/WmediumdService/SetTxpowerএটি একটি উদাহরণ প্রতিক্রিয়া.
{"request_type_name":"wmediumdserver.SetTxpowerRequest","response_type_name":"google.protobuf.Empty"}
নিম্নলিখিত 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; }নিম্নলিখিত অনুরোধের অংশের সাথে এই 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 অনুরোধ সমাপ্ত হয়, ইন্টারফেস Rpc succeeded with OK status বার্তাটি প্রিন্ট করে এবং, যদি উপলব্ধ থাকে, মান সহ একটি প্রতিক্রিয়া বার্তা।
cvd env call SERVICE_NAME METHOD_NAME JSON_FORMATTED_PROTOউদাহরণ ব্যবহার ক্ষেত্রে
নিম্নলিখিতটি SetTxpower কল করে Wi-Fi সংকেত শক্তি পরিবর্তন করার জন্য cvd env CLI কমান্ডের একটি উদাহরণ ব্যবহার করা হয়েছে।
Wi-Fi সংকেত শক্তি পরিবর্তন করার জন্য পরিষেবার নাম, পদ্ধতির নাম এবং অনুরোধ বার্তার প্রকারের নাম নির্ধারণ করুন।
সমস্ত উপলব্ধ পরিষেবাগুলির একটি তালিকা পান।
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পরিষেবাতে RPC অনুরোধ পাঠান।cvd env call WmediumdService SetTxpower "{mac_address:'42:00:00:00:00:00', tx_power:1}" (Omitted) Rpc succeeded with OK status {}