এই পৃষ্ঠায় বর্ণনা করা হয়েছে কীভাবে REST API বা কমান্ড লাইন ইন্টারফেস ব্যবহার করে একটি Cuttlefish ডিভাইসের পরিবেশ নিয়ন্ত্রণ করা যায়। উদাহরণস্বরূপ, আপনি Wi-Fi সিগন্যাল পরিবর্তন করতে বা Cuttlefish ডিভাইসটির GPS অবস্থান আপডেট করতে পারেন।
পরিষেবা
cvd env কমান্ডটি Cuttlefish পরিবেশ নিয়ন্ত্রণের জন্য নিম্নলিখিত পরিষেবাগুলি প্রদান করে:
| পরিষেবা | বর্ণনা |
|---|---|
GnssGrpcProxy | কাটলফিশ জিওলোকেশন ফিচারের জন্য জিএনএসএস নিয়ন্ত্রণ করে। |
OpenwrtControlService | কাটলফিশ ওয়াই-ফাই ফিচারের জন্য একটি ভার্চুয়ালাইজড ওয়াই-ফাই এপি প্রোভাইডার Openwrt নিয়ন্ত্রণ করে। |
WmediumdService | কাটলফিশের ওয়াই-ফাই ফিচারের জন্য একটি ওয়্যারলেস মিডিয়াম সিমুলেটর Wmediumd নিয়ন্ত্রণ করে। |
CasimirControlService | Casimir নিয়ন্ত্রণ করে, যা বাহ্যিক এনএফসি ডিভাইসগুলোর জন্য একটি সিমুলেটর। |
REST API ব্যবহার করে পরিবেশ নিয়ন্ত্রণ করুন
এই অংশে <https://localhost:1443> সার্ভিস এন্ডপয়েন্টের মাধ্যমে রেস্ট এপিআই ব্যবহার করে পরিবেশ নিয়ন্ত্রণ করার পদ্ধতি বর্ণনা করা হয়েছে।
উপলব্ধ পরিষেবা বা পদ্ধতিগুলির তালিকা করুন
সমস্ত পরিষেবার তালিকা পেতে, ডিভাইস আইডি সহ নিম্নলিখিত 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 কল করে ওয়াই-ফাই সিগন্যালের শক্তি পরিবর্তন করার Rest API-এর একটি উদাহরণ নিচে দেওয়া হলো।
ওয়াই-ফাই সিগন্যালের শক্তি পরিবর্তন করার জন্য সার্ভিসের নাম, মেথডের নাম এবং অনুরোধ বার্তার ধরনের নাম নির্ধারণ করুন।
নিম্নলিখিত 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 কমান্ডের একটি ব্যবহারিক উদাহরণ।
ওয়াই-ফাই সিগন্যালের শক্তি পরিবর্তন করার জন্য সার্ভিসের নাম, মেথডের নাম এবং অনুরোধ বার্তার ধরনের নাম নির্ধারণ করুন।
উপলব্ধ সকল পরিষেবার একটি তালিকা নিন।
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 {}