Bu sayfada, REST API veya komut satırı arayüzü kullanılarak Mürekkepbalığı cihazındaki ortamın nasıl kontrol edileceği açıklanmaktadır. Örneğin, Mürekkep Balığı cihazının Wi-Fi sinyalini değiştirebilir veya GPS konumunu güncelleyebilirsiniz.
Hizmetler
cvd env
komutu Mürekkepbalığı ortamını kontrol etmek için aşağıdaki hizmetleri sağlar:
Hizmetler | Tanım |
---|---|
GnssGrpcProxy | Mürekkepbalığı coğrafi konum özelliği için GNSS'yi kontrol eder. |
OpenwrtControlService | Mürekkepbalığı Wi-Fi özelliği için sanallaştırılmış bir Wi-Fi AP sağlayıcısı olan Openwrt kontrol eder. |
WmediumdService | Mürekkepbalığı Wi-Fi özelliği için kablosuz ortam simülatörü olan Wmediumd kontrol eder. |
REST API'yi kullanarak ortamı kontrol edin
Bu bölümde <https://localhost:1443>
hizmet uç noktası aracılığıyla Rest API kullanılarak ortamın nasıl kontrol edileceği açıklanmaktadır.
Mevcut hizmetleri veya yöntemleri listeleyin
Tüm hizmetlerin bir listesini almak için aşağıdaki URL'ye cihaz kimliğiyle birlikte bir GET
isteği gönderin.
https://localhost:1443/devices/DEVICE_ID/services
Bir hizmete ilişkin tüm yöntemlerin bir listesini almak için aşağıdaki URL'ye cihaz kimliğini ve hizmet adını içeren bir GET
isteği gönderin.
https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME
Bir yönteme ilişkin istek veya yanıt mesajı türleri gibi ayrıntılı bilgi almak için aşağıdaki URL'ye cihaz kimliğini, hizmet adını ve yöntem adını içeren bir GET
isteği gönderin.
https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/METHOD_NAME
İstek ve yanıt türleri hakkında ayrıntılı bilgi alın
Bir istek veya yanıt mesajı türüne ilişkin ayrıntılı bilgi almak için aşağıdaki URL'ye cihaz kimliğini, hizmet adını ve istek veya yanıt mesaj türünü içeren bir GET
isteği gönderin. Bu, mesajdaki her alanın tüm adlarını ve türlerini yazdırır. Daha sonra bu bilgiyi, RPC isteği göndermek üzere JSON biçimli bir protokol mesajı yazmak için kullanabilirsiniz.
https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/REQUEST_OR_RESPONSE_TYPE_NAME/type
Ortamda değişiklik yapmak için RPC isteği gönder
JSON biçimli protokole sahip bir hizmetin yöntemini çağırmak üzere bir RPC isteği göndermek için aşağıdaki URL'ye aygıt kimliğini, hizmet adını ve yöntem adını içeren bir POST
isteği gönderin. JSON formatlı protokolün gövdeye dahil edilmesi gerekir.
https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/METHOD_NAME
Örnek kullanım durumu
Aşağıda, SetTxpower
çağırarak Wi-Fi sinyal gücünü değiştirmek için Rest API'sinin örnek kullanım durumu verilmiştir.
Wi-Fi sinyal gücünü değiştirmek için hizmet adını, yöntem adını ve istek mesajı türü adını belirleyin.
Aşağıdaki URL'ye bir
GET
isteği göndererek mevcut tüm hizmetlerin bir listesini alın.https://localhost:1443/devices/cvd-1/services
Bu örnek bir yanıttır.
{"services":["OpenwrtControlService","EchoService","GnssGrpcProxy","WmediumdService"]}
Aşağıdaki URL'ye bir
GET
isteği göndererekWmediumdService
yöntemlerinin bir listesini alın.https://localhost:1443/devices/cvd-1/services/WmediumdService
Bu örnek bir yanıttır.
{"methods":["ListStations","LoadConfig","ReloadConfig","SetCivicloc","SetLci","SetPosition","SetSnr","SetTxpower","StartPcap","StopPcap"]}
Aşağıdaki URL’ye
GET
isteği göndererekSetTxpower
yöntemine ait istek ve yanıt mesajı türleri hakkında bilgi alın.https://localhost:1443/devices/cvd-1/services/WmediumdService/SetTxpower
Bu örnek bir yanıttır.
{"request_type_name":"wmediumdserver.SetTxpowerRequest","response_type_name":"google.protobuf.Empty"}
Aşağıdaki URL'ye
GET
isteği göndererekwmediumdserver.SetTxpowerRequest
istek mesaj türüne ilişkin ayrıntılı bilgi alın.https://localhost:1443/devices/cvd-1/services/WmediumdService/wmediumdserver.SetTxpowerRequest/type
Bu örnek bir yanıttır.
message SetTxpowerRequest { string mac_address = 1; int32 tx_power = 2; }
Aşağıdaki istek gövdesiyle bu URL'ye bir
POST
isteği göndererek Wi-Fi sinyal gücünü istenen seviyeye değiştirmek içinWmediumdService
hizmetine bir RPC isteği gönderin.https://localhost:1443/devices/cvd-1/services/WmediumdService/SetTxpower
{"mac_address":"42:00:00:00:00:00", "tx_power":1}
Bu örnek bir yanıttır.
{}
Komut satırını kullanarak ortamı kontrol edin
Bu bölümde cvd env
CLI komutu için kullanılabilen alt komutlar açıklanmaktadır. Daha fazla ayrıntı için cvd help env
kullanarak yardım mesajını yazdırın.
Mevcut hizmetleri veya yöntemleri listeleyin
Tüm hizmetlerin bir listesini almak için herhangi bir argüman olmadan cvd env ls
komutunu kullanın.
cvd env ls
Bir hizmete ilişkin tüm yöntemlerin bir listesini almak için hizmetin adını argüman olarak ekleyin.
cvd env ls SERVICE_NAME
Bir yöntemin istek veya yanıt mesajı türleri gibi ayrıntılı bilgi almak için hizmet adını ve yöntem adını ekleyin.
cvd env ls SERVICE_NAME METHOD_NAME
İstek ve yanıt türleri hakkında ayrıntılı bilgi alın
Bir istek veya yanıt mesajı türüne ilişkin ayrıntılı bilgi almak için cvd env type
komutunu kullanın. Bu komut, mesajdaki her alanın tüm adlarını ve türlerini yazdırır. Daha sonra bu bilgiyi, RPC isteği göndermek üzere JSON biçimli bir protokol mesajı yazmak için kullanabilirsiniz.
cvd env type SERVICE_NAME REQUEST_OR_RESPONSE_TYPE_NAME
Ortamda değişiklik yapmak için RPC isteği gönder
JSON biçimli protokole sahip bir hizmetin yöntemini çağırmak üzere bir RPC isteği göndermek için cvd enc call
komutunu kullanın. RPC isteği sona erdiğinde arayüz, Rpc succeeded with OK status
ve varsa değerleri içeren bir yanıt mesajını yazdırır.
cvd env call SERVICE_NAME METHOD_NAME JSON_FORMATTED_PROTO
Örnek kullanım durumu
Aşağıda SetTxpower
çağırarak Wi-Fi sinyal gücünü değiştirmek için cvd env
CLI komutunun örnek kullanım durumu verilmiştir.
Wi-Fi sinyal gücünü değiştirmek için hizmet adını, yöntem adını ve istek mesajı türü adını belirleyin.
Mevcut tüm hizmetlerin bir listesini alın.
cvd env ls (Omitted) { "services" : [ "OpenwrtControlService", "EchoService", "GnssGrpcProxy", "WmediumdService" ] }
WmediumdService
için yöntemlerin bir listesini alın.cvd env ls WmediumdService (Omitted) { "methods" : [ "ListStations", "LoadConfig", "ReloadConfig", "SetCivicloc", "SetLci", "SetPosition", "SetSnr", "SetTxpower", "StartPcap", "StopPcap" ] }
SetTxpower
yöntemi için istek ve yanıt mesajı türleri hakkında bilgi alın.cvd env ls WmediumdService SetTxpower (Omitted) { "request_type" : "wmediumdserver.SetTxpowerRequest", "response_type" : "google.protobuf.Empty" }
wmediumdserver.SetTxpowerRequest
istek mesaj tipine ilişkin detaylı bilgi alın.cvd env type WmediumdService wmediumdserver.SetTxpowerRequest (Omitted) message SetTxpowerRequest { string mac_address = 1; int32 tx_power = 2; }
Wi-Fi sinyal gücünü istenen seviyeye değiştirmek için
WmediumdService
hizmetine RPC isteği gönderin.cvd env call WmediumdService SetTxpower "{mac_address:'42:00:00:00:00:00', tx_power:1}" (Omitted) Rpc succeeded with OK status {}