Pular para o conteúdo principal

API REST/HTTP

O Limelight OS possui um servidor REST/HTTP rodando em (ipaddress):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 dump JSON completo dos resultados atuais de rastreamento
GET/statusRecupera 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 pipeline padrão (JSON)
GET/pipeline-atindexObtém pipeline[n] da câmera (JSON). Carrega pipeline do disco. Inclua um parâmetro 'index' na URL da requisição.
POST/pipeline-switchAlterna 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 "flush" como 1 para salvar estas 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 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 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 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/rebootar

Calibração

MétodoRotaDescrição
GET/cal-defaultRetorna resultado de calibração padrão
GET/cal-fileRetorna resultado de calibração personalizada (sistema de arquivos)
GET/cal-eepromRetorna resultado de calibração personalizada (eeprom)
GET/cal-latestRetorna o resultado mais recente de calibração personalizada. 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 mais recente de calibração
DELETE/cal-eepromExclui resultado de calibração da eeprom
DELETE/cal-fileExclui 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 snapshot
DELETE/delete-snapshotsExclui todos os snapshots
DELETE/delete-snapshotExclui um snapshot específico. Inclua um parâmetro 'snapname' na requisição.