In questa pagina viene descritto come controllare l'ambiente in un dispositivo Seppia utilizzando l'API REST o l'interfaccia a riga di comando. Ad esempio, puoi modificare Segnale Wi-Fi o aggiornamento della posizione GPS del dispositivo Seppia.
Servizi
Il comando cvd env
fornisce i seguenti servizi per il controllo
Ambiente di seppia:
Servizi | Descrizione |
---|---|
GnssGrpcProxy
|
Controlla GNSS per la geolocalizzazione di Seppia funzionalità. |
OpenwrtControlService
|
Consente di controllare Openwrt , un punto di accesso Wi-Fi virtualizzato
per la funzionalità Wi-Fi Cuttlefish. |
WmediumdService
|
Controlla Wmediumd , un simulatore di veicoli wireless
per la funzionalità Wi-Fi Cuttlefish. |
Controlla l'ambiente utilizzando l'API REST
Questa sezione descrive come controllare l'ambiente utilizzando l'API Rest
attraverso l'endpoint di servizio <https://localhost:1443>
.
Elenca i servizi o i metodi disponibili
Per ricevere un elenco di tutti i servizi, invia una richiesta GET
al seguente URL con
un ID dispositivo.
https://localhost:1443/devices/DEVICE_ID/services
Per ottenere un elenco di tutti i metodi per un servizio, invia una richiesta GET
al
l'URL seguente con un ID dispositivo e il nome del servizio.
https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME
Per ottenere informazioni dettagliate su un metodo, ad esempio la richiesta o la risposta
tipi di messaggi, invia una richiesta GET
al seguente URL con un ID dispositivo,
il nome di un servizio e il nome del metodo.
https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/METHOD_NAME
Ottieni informazioni dettagliate sui tipi di richiesta e risposta
Per ricevere informazioni dettagliate su un tipo di messaggio di richiesta o risposta, invia un GET
al seguente URL con l'ID dispositivo, il nome di un servizio e
tipo di messaggio di richiesta o risposta. Vengono stampati tutti i nomi e i tipi di
nel messaggio. Puoi quindi utilizzare queste informazioni per scrivere un
Messaggio di protocollo in formato JSON per l'invio di una richiesta RPC.
https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/REQUEST_OR_RESPONSE_TYPE_NAME/type
Invia una richiesta RPC per apportare modifiche all'ambiente
Per inviare una richiesta RPC per chiamare un metodo di un servizio con un protocollo in formato JSON,
invia una richiesta POST
al seguente URL con un ID dispositivo, un servizio
e il nome del metodo. Il protocollo in formato JSON deve essere incluso nel
del testo.
https://localhost:1443/devices/DEVICE_ID/services/SERVICE_NAME/METHOD_NAME
Caso d'uso di esempio
Di seguito è riportato un esempio di caso d'uso dell'API Rest per modificare il Wi-Fi
potenza del segnale chiamando SetTxpower
.
Determinare il nome del servizio, il nome del metodo e il tipo di messaggio di richiesta nome per modificare l'intensità del segnale Wi-Fi.
Ricevi un elenco di tutti i servizi disponibili inviando una richiesta
GET
all'indirizzo al seguente URL.https://localhost:1443/devices/cvd-1/services
Questo è un esempio di risposta.
{"services":["OpenwrtControlService","EchoService","GnssGrpcProxy","WmediumdService"]}
Ricevi un elenco di metodi per
WmediumdService
inviando una richiestaGET
al seguente URL.https://localhost:1443/devices/cvd-1/services/WmediumdService
Questo è un esempio di risposta.
{"methods":["ListStations","LoadConfig","ReloadConfig","SetCivicloc","SetLci","SetPosition","SetSnr","SetTxpower","StartPcap","StopPcap"]}
Ottenere informazioni sui tipi di messaggi di richiesta e risposta per
SetTxpower
inviando una richiestaGET
al seguente URL.https://localhost:1443/devices/cvd-1/services/WmediumdService/SetTxpower
Questo è un esempio di risposta.
{"request_type_name":"wmediumdserver.SetTxpowerRequest","response_type_name":"google.protobuf.Empty"}
Ottieni informazioni dettagliate per la richiesta
wmediumdserver.SetTxpowerRequest
tipo di messaggio inviando una richiestaGET
al seguente URL.https://localhost:1443/devices/cvd-1/services/WmediumdService/wmediumdserver.SetTxpowerRequest/type
Questo è un esempio di risposta.
message SetTxpowerRequest { string mac_address = 1; int32 tx_power = 2; }
Invia una richiesta RPC al servizio
WmediumdService
per modificare il Wi-Fi di intensità del segnale al livello desiderato inviando una richiestaPOST
a questo URL con il seguente corpo della richiesta.https://localhost:1443/devices/cvd-1/services/WmediumdService/SetTxpower
{"mac_address":"42:00:00:00:00:00", "tx_power":1}
Questo è un esempio di risposta.
{}
Controlla l'ambiente utilizzando la riga di comando
In questa sezione vengono descritti i sottocomandi disponibili per il comando dell'interfaccia a riga di comando cvd env
.
Per ulteriori dettagli, stampa il messaggio della guida utilizzando cvd help env
.
Elenca i servizi o i metodi disponibili
Per ottenere un elenco di tutti i servizi, utilizza cvd env ls
senza argomenti.
cvd env ls
Per ottenere un elenco di tutti i metodi per un servizio, includi il nome del come argomento.
cvd env ls SERVICE_NAME
Per ottenere informazioni dettagliate come i tipi di messaggi di richiesta o di risposta di un , includi il nome del servizio e il nome del metodo.
cvd env ls SERVICE_NAME METHOD_NAME
Ottieni informazioni dettagliate sui tipi di richiesta e risposta
Per ottenere informazioni dettagliate su un tipo di messaggio di richiesta o risposta, utilizza la
Comando cvd env type
. Questo comando visualizza tutti i nomi e i tipi di ciascun campo
nel messaggio. Puoi quindi utilizzare queste informazioni per scrivere un prompt in formato JSON
messaggio proto per l'invio di una richiesta RPC.
cvd env type SERVICE_NAME REQUEST_OR_RESPONSE_TYPE_NAME
Invia una richiesta RPC per apportare modifiche all'ambiente
Per inviare una richiesta RPC per chiamare un metodo di un servizio con un protocollo in formato JSON,
usa il comando cvd enc call
. Quando la richiesta RPC termina, l'interfaccia
stampa il messaggio Rpc succeeded with OK status
e, se disponibile, una risposta
che includono valori.
cvd env call SERVICE_NAME METHOD_NAME JSON_FORMATTED_PROTO
Caso d'uso di esempio
Di seguito è riportato un esempio di caso d'uso del comando dell'interfaccia a riga di comando cvd env
per la modifica
l'intensità del segnale Wi-Fi chiamando il numero SetTxpower
.
Determinare il nome del servizio, il nome del metodo e il tipo di messaggio di richiesta nome per modificare l'intensità del segnale Wi-Fi.
Ottieni un elenco di tutti i servizi disponibili.
cvd env ls (Omitted) { "services" : [ "OpenwrtControlService", "EchoService", "GnssGrpcProxy", "WmediumdService" ] }
Visualizza un elenco di metodi per
WmediumdService
.cvd env ls WmediumdService (Omitted) { "methods" : [ "ListStations", "LoadConfig", "ReloadConfig", "SetCivicloc", "SetLci", "SetPosition", "SetSnr", "SetTxpower", "StartPcap", "StopPcap" ] }
Ottenere informazioni sui tipi di messaggi di richiesta e risposta per
SetTxpower
.cvd env ls WmediumdService SetTxpower (Omitted) { "request_type" : "wmediumdserver.SetTxpowerRequest", "response_type" : "google.protobuf.Empty" }
Ottieni informazioni dettagliate per la richiesta
wmediumdserver.SetTxpowerRequest
tipo di messaggio.cvd env type WmediumdService wmediumdserver.SetTxpowerRequest (Omitted) message SetTxpowerRequest { string mac_address = 1; int32 tx_power = 2; }
Invia una richiesta RPC al servizio
WmediumdService
per modificare il Wi-Fi l'intensità del segnale al livello desiderato.cvd env call WmediumdService SetTxpower "{mac_address:'42:00:00:00:00:00', tx_power:1}" (Omitted) Rpc succeeded with OK status {}