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 um dump JSON completo dos resultados atuais de rastreamento
GET/statusRecupera um 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 de URL 'index' na requisição.
POST/pipeline-switchMuda para um pipeline diferente. Inclua um parâmetro de URL 'index' na 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 Câmera

MétodoRotaDescrição
POST/set-imumodeDefine o Modo IMU (JSON)
POST/set-throttleDefine o número de quadros a serem ignorados entre quadros processados para gerenciamento térmico
POST/set-imuassistalphaDefine o alfa do filtro complementar do Modo de Assistência IMU (padrão 0.001)

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 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 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 personalizada (sistema de arquivos)
GET/cal-eepromRetorna o resultado de calibração personalizada (eeprom)
GET/cal-latestRetorna o resultado de calibração personalizada 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 dados de calibração no corpo da requisição.
POST/cal-fileAtualiza o resultado de calibração no sistema de arquivos. Envie 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

Capturas de Tela

MétodoRotaDescrição
POST/capture-snapshotCaptura uma imagem. Inclua um parâmetro de URL 'snapname' para nomear a captura.
POST/upload-snapshotFaz upload de uma captura nomeada. Inclua um parâmetro de URL 'snapname' e um arquivo de imagem no corpo da requisição.
GET/snapshotmanifestRetorna uma lista de nomes de arquivos de captura
DELETE/delete-snapshotsExclui todas as capturas
DELETE/delete-snapshotExclui uma captura específica. Inclua um parâmetro 'snapname' na requisição.