Documentação da API HTTP
A documentação da API HTTP dir-te-á como podes controlar o teu painel de avaliação de vídeo remotamente, quer através de um dispositivo Stream Deck, de uma chamada de comando curl através da linha de comando, ou através de software que tu próprio desenvolveste.
O que é uma API e uma API HTTP?
Uma API (Application Programming Interface – Interface de Programação de Aplicações) é um elemento que fornece uma forma de interação com outros sistemas. Existem muitos tipos de API, razão pela qual me referi a ela como um “elemento”, e pode proporcionar muitos tipos de interacções: pode enviar-lhe dados, recolher dados desse sistema ou controlá-lo remotamente.
No nosso caso, implementámos uma API HTTP, o que significa que temos uma espécie de servidor Web, que está à espera de receber os seus pedidos como se estivesse a pedir um sítio Web e a fazer coisas com base no endereço que digitou.
A parte importante aqui é que se trata de um servidor Web, pelo que pode enviar pedidos de API HTTP utilizando qualquer programa que possa pedir páginas Web (o seu browser favorito, a aplicação enrolar em Linux e OSX, etc.) e, mais importante, pode fazê-lo a partir de qualquer computador, tablet ou telemóvel, que esteja na mesma rede, permitindo-lhe ter vários LDSscoreboards (ou LDSperimetral) controlados a partir de um ponto centralizado, o seu centro de controlo.
Para chamar esta API HTTP, é necessário consultar um url (URL é o nome dado ao endereço composto pelo protocolo, computador, porta e pedido) como se fosse uma “página Web”. Mas onde está essa página Web? Estou a fazer uma confusão! A forma mais fácil é abrir com o seu browser preferido o pedido que pretende. O endereço terá o seguinte aspeto: https://IP_DEL_ORDENADOR:PUERTO_CONFIGURADO/PETICION_A_EFECTUAR
Por conseguinte, e em resumo:
- O endereço IP do computador depende da configuração de rede do equipamento. Recomendamos que o defina como fixo para evitar que seja alterado e que os pedidos passem para outro computador sem que se aperceba.
- A porta é indicada na configuração do terminal, assinalada com uma seta vermelha.
- O pedido dependerá da ordem que pretende dar ao LDSscoreboard (veremos isso em breve).
Com esta documentação da API HTTP, podes aprender a controlar remotamente o painel de avaliação de vídeo de uma forma simples.

No caso apresentado, o IP do nosso computador é 192.168.1.35 e a porta configurada é 8080.
Descrição da API
O objetivo é ter uma API para todos os comandos de controlo do LDSscoreboard, exceto a edição de conteúdos. Desta forma, pode controlar centralmente todos os ecrãs que desejar, publicar conteúdos promocionais ou marcar elementos.
controlo de deslizamento
Comando | Parâmetros |
---|---|
/pcontrol/show_slide/<SLIDE_NAME> | Faz com que o diapositivo indicado apareça no ecrã.
slide_slide_name = Nome do diapositivo a ser apresentado |
Contra-controlo
Comando | Parâmetros |
---|---|
/pcontrol/increment_counter/NAME_CONTER | Aumenta o contador que é passado como parâmetro
counter_name = Nome do contador a ser operado |
/pcontrol/decrement_counter/NAME_CONTER | Diminui o contador que é passado como parâmetro
counter_name = Nome do contador a ser operado |
/pcontrol/set_counter/NAME_COUNTER/VALUE | Atribui um valor a um determinado contador.
counter_name = Nome do contador a ser operado |
/pcontrol/get_counter_value/counter_name | Recupera o valor de um contador.
counter_name = Nome do contador a ser operado |
lista de jogadores
Comando | Parâmetros |
---|---|
/roster/get_local_team_name | Verificar o nome da equipa da casa |
/roster/get_guest_team_name | Verificar o nome da equipa visitante |
/roster/get_team_players_count/[local|guest] | Devolve o número de jogadores da equipa da casa ou da equipa visitante. |
/roster/get_player_information/[local|guest]/PLAYER_INDEX | Devolve as informações do jogador indicado (nome, número, etc.) |
/roster/increment_player_score/[local|guest]/PLAYER_INDEX | Aumenta a pontuação associada ao jogador com o índice indicado. |
/roster/decrement_player_score/[local|guest]/PLAYER_INDEX | Diminui a pontuação associada ao jogador com o índice indicado. |
/roster/get_player_score/[local|guest]/PLAYER_INDEX | Recupera a pontuação associada ao jogador com o índice indicado. |
/roster/increment_player_fauls/[local|guest]/PLAYER_INDEX | Aumenta as faltas associadas ao jogador com a classificação indicada. |
/roster/decrement_player_fauls/[local|guest]/PLAYER_INDEX | Diminui as faltas associadas ao jogador com o índice indicado. |
/roster/get_player_fauls/[local|guest]/PLAYER_INDEX | Recupera as faltas associadas ao jogador com o índice indicado. |
/roster/increment_player_cautions/[local|guest]/PLAYER_INDEX | Aumenta o número de advertências associadas ao jogador com a classificação indicada. |
/roster/decrement_player_cautions/[local|guest]/PLAYER_INDEX | Diminuição das cautelas associadas ao jogador com o índice indicado |
/roster/get_player_cautions/[local|guest]/PLAYER_INDEX | Recupera os avisos associados ao jogador com o índice indicado. |
controlo do temporizador
Comando | Parâmetros |
---|---|
/pcontrol/start_timer/NOMBRE_TIMER | Inicia o temporizador na direção em que foi definido.
timer_name = Nome do temporizador (ou cronómetro) a utilizar |
/pcontrol/stop_timer/NAME_TIMER | Pára o temporizador. O seu valor não é alterado.
timer_name = Nome do temporizador (ou cronómetro) a utilizar |
/pcontrol/reset_timer/NOMBRE_TIMER | Repõe o temporizador no valor inicial definido na sua configuração.
timer_name = Nome do temporizador (ou cronómetro) a utilizar |
/pcontrol/get_timer_time/NAMBRE_TIMER | Recupera a hora definida por um temporizador.
timer_name = Nome do temporizador (ou cronómetro) a utilizar |
Etiquetas dinâmicas e contadores automáticos
Comando | Parâmetros |
---|---|
/gc/get_dynamic_label/VAR | Recupera o valor que foi atribuído à variável dinâmica.
VAR = Identificador da variável a ser consultada |
/gc/set_dynamic_label/VAR/ARG1 | Altera o valor atribuído à variável dinâmica
VAR = Identificador da variável a ser atribuída |
/gc/get_automatic_variable/VAR | Obtém o valor de uma variável automática. Estas variáveis são calculadas quando se utiliza a lista de jogadores.
VAR = Nome da variável Variáveis existentes: |
/gc/reset_automatic_variable/VAR | Repõe o contador das variáveis automáticas que podem ser reniciadas.
VAR: Nome da variável reinicializável (local_team_fauls_resetable ou guest_team_fauls_resetable) |
Exemplo de utilização da API HTTP do LDSscoreboard
Vejamos um exemplo para compreender melhor como funciona a API HTTP tal como descrita nesta documentação. Suponhamos que definimos um marcador que contém um diapositivo chamado “slide1”, para pedir ao sistema que abra o slide1, devemos saber o IP do computador e a porta, uma vez que já sabemos o nome.
Se pegarmos na imagem no topo da página, veremos que temos o ip 192.168.1.35 e o porto 8080, pelo que devemos fazer um pedido HTTP (abrir a página) para o endereço http://192.168.1.35:8080 /pcontrol/show_slide/slide1
Para o fazer, podemos abrir um browser e colocar o endereço na barra de endereços:

Em seguida, se tivermos o LDSscoreboard em execução, devemos ver o slide chamado slide1 tornar-se ativo.
IMPORTANTE
Se o nome do diapositivo contiver um espaço, uma vez que se trata de um carácter especial, devemos substituí-lo por %20, ou seja, “my slide” será traduzido como “my%20slide”.
Ferramentas para efetuar chamadas HTTP
Claro que não está limitado a ter de fazer as chamadas HTTP a partir de um browser, fizemo-lo desta forma porque é uma ferramenta que provavelmente tem à mão e conhece, mas há muitas outras formas de o fazer.
enrolar
curl é uma ferramenta de pedido HTTP de código aberto. Está disponível no Linux, OSX e também nas versões mais recentes do Windows 10. É muito simples de utilizar, como mostra a imagem seguinte:

Javascript
Pode fazer um programa Javascript, utilizando jquery, onde é feita uma chamada HTTP, por exemplo com este código:
timer_identifier=”o meu temporizador”;
$.getJSON(`/pcontrol/start_
.done(function (data) {
se (dados.estado != 0) {
console.error(`Erro ao iniciar o temporizador: ${JSON.stringify(data)} `);
}
})
.fail(function (err) {
se (err.status != 200)
console.error(`Erro ao iniciar o temporizador [${JSON.stringify(err)}]`);
});
e qualquer linguagem de programação permite-lhe fazer essas chamadas.