Pular para o conteúdo principal

API REST/HTTP

O Limelight OS possui um servidor REST/HTTP rodando em (endereço_ip):5807

LimelightLib Python é uma biblioteca de código aberto que utiliza a API HTTP/REST do Limelight.

Nota: ex. http://(endereço-ip-limelight):5807/results

Geral

MétodoRotaDescrição
GET/resultsRecupera o dump JSON completo dos resultados de direcionamento atuais
GET/statusRecupera o objeto JSON de status com temperatura, fps, nome do dispositivo, índice do pipeline, uso de CPU, uso de RAM
GET/hwreportRetorna um array JSON de relatórios completos de hardware. Um relatório de hardware contém informações legíveis como FOV, deslocamento principal, etc.

Gerenciamento de Pipeline

MétodoRotaDescrição
GET/pipeline-defaultObtém o pipeline padrão (JSON)
GET/pipeline-atindexObtém o pipeline[n] da câmera (JSON). Carrega o pipeline do disco. Inclua um parâmetro 'index' na URL da requisição.
POST/pipeline-switchMuda para um pipeline diferente. Inclua um parâmetro 'index' na URL da requisição.
POST/reload-pipelineForça a câmera a recarregar o pipeline atual e todos os recursos do pipeline
POST/update-pipelineAceita JSON com uma ou mais atualizações de configurações. Defina o parâmetro de URL "flush" como 1 para salvar essas configurações no disco.
POST/upload-pipelineFaz upload de um pipeline. Envie dados JSON no corpo da requisição. Opcionalmente inclua um parâmetro 'index'. Sobrescreve o pipeline no disco

Gerenciamento de Recursos

MétodoRotaDescrição
POST/upload-fieldmapFaz upload de um mapa de campo. Envie dados JSON no corpo da requisição. Opcionalmente inclua um parâmetro 'index'.
POST/upload-pythonFaz upload de código Python. Envie o código como texto simples no corpo da requisição. Opcionalmente inclua um parâmetro 'index'.
POST/upload-nnFaz upload de uma rede neural. Inclua um parâmetro 'type' ("detector" ou "classifier"), o conteúdo do arquivo no corpo da requisição e opcionalmente inclua um parâmetro 'index'.
POST/upload-nnlabelsFaz upload de rótulos de rede neural. Inclua um parâmetro 'type' ("detector" ou "classifier"), o arquivo no corpo da requisição e opcionalmente inclua um parâmetro 'index'.
GET/getsnapscriptnamesLista de nomes de snapscriptpro

Python e Orientação do Robô

MétodoRotaDescrição
POST/update-pythoninputsAtualiza as entradas Python para pipelines SnapScript. Envie dados JSON (array) no corpo da requisição.
POST/update-robotorientationAtualiza a orientação do robô. Envie dados JSON (array) no corpo da requisição. Ex: "[45,0,0,0,0,0]". O uso deste método desativa as atualizações de orientação baseadas em NetworkTables até reiniciar/reinicializar

Calibração

MétodoRotaDescrição
GET/cal-defaultRetorna o resultado de calibração padrão
GET/cal-fileRetorna o resultado de calibração personalizado (sistema de arquivos)
GET/cal-eepromRetorna o resultado de calibração personalizado (eeprom)
GET/cal-latestRetorna o resultado de calibração personalizado mais recente. Este resultado não é usado a menos que seja salvo no sistema de arquivos ou na eeprom
POST/cal-eepromAtualiza o resultado de calibração na eeprom. Envie os dados de calibração no corpo da requisição.
POST/cal-fileAtualiza o resultado de calibração no sistema de arquivos. Envie os dados de calibração no corpo da requisição.
DELETE/cal-latestExclui o resultado de calibração mais recente
DELETE/cal-eepromExclui o resultado de calibração da eeprom
DELETE/cal-fileExclui o resultado de calibração do sistema de arquivos

Snapshots

MétodoRotaDescrição
POST/capture-snapshotCaptura um snapshot. Inclua um parâmetro 'snapname' na URL para nomear o snapshot.
POST/upload-snapshotFaz upload de um snapshot nomeado. Inclua um parâmetro 'snapname' na URL e um arquivo de imagem no corpo da requisição.
GET/snapshotmanifestRetorna uma lista de nomes de arquivos de snapshot
DELETE/delete-snapshotsExclui todos os snapshots
DELETE/delete-snapshotExclui um snapshot específico. Inclua um parâmetro 'snapname' na requisição.