Documentação do HTTP SDK dos brinquedos Enjox
Visão geral
As aplicações de terceiros podem usar o HTTP SDK da Enjox para obter capacidades de controlo sobre os brinquedos.
A funcionalidade do HTTP SDK é fornecida pela aplicação EnjoxRemote. Neste caso, a aplicação EnjoxRemote funciona como um proxy Bluetooth ↔ HTTP, permitindo-te controlar facilmente todos os brinquedos no mesmo telemóvel (ou na mesma rede Wi-Fi) através do protocolo HTTP padrão. O utilizador tem de iniciar primeiro a aplicação EnjoxRemote antes de abrir a tua aplicação para usar o HTTP SDK.

Arquitetura: a tua aplicação comunica com a aplicação EnjoxRemote através do HTTP SDK, e a aplicação EnjoxRemote comunica com os brinquedos Enjox via Bluetooth.
Nota: ao aceder através da rede Wi-Fi, substitui 127.0.0.1 pelo endereço IP do dispositivo que está a executar a aplicação EnjoxRemote. A porta predefinida é 8089.
Método de invocação
http://127.0.0.1:8089/{command}?param=value[&token=xxx]
Método do pedido
GET, POST
Parâmetros do pedido
| Parâmetro | Descrição | Valores |
|---|---|---|
| command | Comando | vibrate, rotate, preset, pattern |
| param | Parâmetros | Varia consoante o comando |
| token | Token | Valor fixo: 6b9a21fb055343f8b10113a1b78b7229 (atualmente fixo, poderá ser exigido em versões futuras) |
Formato da resposta
{"ret": 0, "data": 0}
| ret | data | Descrição |
|---|---|---|
| 0 | - | Sucesso |
| 1 | 10 | Erro desconhecido |
| 1 | 11 | Brinquedo não ligado |
| 1 | 12 | Bateria do brinquedo fraca |
API simples
Fazer o brinquedo vibrar
http://127.0.0.1:8089/vibrate?speed=num&time=msec
Função
Faz o brinquedo vibrar durante msec milissegundos
Método do pedido
GET
Parâmetros do pedido
| Parâmetro | Descrição | Valores |
|---|---|---|
| speed | Velocidade | 0-100, 0 para parar, 100 para intensidade máxima |
| time | Tempo | Milissegundos |
Exemplo
http://127.0.0.1:8089/vibrate?speed=20&time=1000
Limitação
O intervalo mínimo entre dois comandos é de 100 ms
Fazer o brinquedo rodar
http://127.0.0.1:8089/rotate?speed=num&time=msec
Função
Faz o brinquedo rodar durante msec milissegundos
Método do pedido
GET
Parâmetros do pedido
| Parâmetro | Descrição | Valores |
|---|---|---|
| speed | Velocidade | 0-100, 0 para parar, 100 para intensidade máxima |
| time | Tempo | Milissegundos |
Exemplo
http://127.0.0.1:8089/rotate?speed=20&time=1000
Parar o brinquedo
http://127.0.0.1:8089/stop
Função
Para todas as ações do brinquedo
Método do pedido
GET
Parâmetros do pedido
Nenhum
API de padrões
Padrões predefinidos
http://127.0.0.1:8089/preset?id=num
Função
Faz o brinquedo vibrar usando padrões predefinidos
Método do pedido
GET
Parâmetros do pedido
| Parâmetro | Descrição | Valores |
|---|---|---|
| id | ID do padrão | 1 Pulse, 2 Wave, 3 Firework, 4 Earthquake |
Exemplo
http://127.0.0.1:8089/preset?id=1
Notas
O brinquedo pode ser parado a qualquer momento através da API simples. Se não for parado, o brinquedo continua a repetir o padrão indefinidamente até a bateria se esgotar.
Fluxo de padrões
http://127.0.0.1:8089/pattern
Função
Envia uma série de comandos para o brinquedo
Método do pedido
POST
Parâmetros do pedido
| Parâmetro | Descrição | Valores |
|---|---|---|
| data | Fluxo de padrões | String do fluxo de padrões (no corpo do pedido) |
Exemplo
http://127.0.0.1:8089/pattern
Corpo do pedido
Content-Type: application/x-www-form-urlencoded
data=V:1;F:v,r;S:100;#0,0;2,0;4,3;5,5;6,6;
Notas
Os fluxos de padrões podem ser escritos manualmente ou gravados na aplicação EnjoxRemote deslizando o dedo.
Formato do fluxo de padrões
Um fluxo de padrões é composto por um cabeçalho de padrão e dados de padrão, separados por #. A descrição do cabeçalho de padrão é apresentada na tabela abaixo. Os dados de padrão são uma string de pares de números separados por vírgulas e divididos por ponto e vírgula, em que cada par corresponde aos tipos de ação no cabeçalho de padrão (por exemplo, para F=v,r, cada par contém valores para vibrate e rotate).
| Palavra-chave | Conteúdo | Descrição |
|---|---|---|
| V | 1 | Número da versão |
| F | v,r | Tipos de ação: v = vibrate, r = rotate, p = contract |
| S | 100 | Intervalo de tempo em milissegundos |