Dokumentace HTTP SDK pro pomůcky Enjox
Přehled
Aplikace třetích stran mohou pomocí Enjox HTTP SDK získat možnost ovládat pomůcky.
Funkce HTTP SDK poskytuje aplikace EnjoxRemote. EnjoxRemote v tomto případě funguje jako proxy mezi Bluetooth ↔ HTTP a umožňuje ti snadno ovládat všechny pomůcky na stejném telefonu (nebo v síti Wi-Fi) prostřednictvím standardního protokolu HTTP. Uživatelé musí před spuštěním tvé aplikace nejprve spustit aplikaci EnjoxRemote, aby mohli HTTP SDK použít.

Architektura: Tvoje aplikace komunikuje s aplikací EnjoxRemote prostřednictvím HTTP SDK a aplikace EnjoxRemote komunikuje s pomůckami Enjox přes Bluetooth.
Poznámka: Při přístupu přes síť Wi-Fi nahraď 127.0.0.1 IP adresou zařízení, na kterém běží aplikace EnjoxRemote. Výchozí port je 8089.
Způsob volání
http://127.0.0.1:8089/{command}?param=value[&token=xxx]
Metoda požadavku
GET, POST
Parametry požadavku
| Parametr | Popis | Hodnoty |
|---|---|---|
| command | Příkaz | vibrate, rotate, preset, pattern |
| param | Parametry | Liší se podle příkazu |
| token | Token | Pevná hodnota: 6b9a21fb055343f8b10113a1b78b7229 (aktuálně pevná, v budoucích verzích může být povinná) |
Formát odpovědi
{"ret": 0, "data": 0}
| ret | data | Popis |
|---|---|---|
| 0 | - | Úspěch |
| 1 | 10 | Neznámá chyba |
| 1 | 11 | Pomůcka není připojena |
| 1 | 12 | Slabá baterie pomůcky |
Jednoduché API
Vibrace pomůcky
http://127.0.0.1:8089/vibrate?speed=num&time=msec
Funkce
Nechá pomůcku vibrovat po dobu msec milisekund
Metoda požadavku
GET
Parametry požadavku
| Parametr | Popis | Hodnoty |
|---|---|---|
| speed | Rychlost | 0–100, 0 znamená stop, 100 je maximální intenzita |
| time | Čas | Milisekundy |
Příklad
http://127.0.0.1:8089/vibrate?speed=20&time=1000
Omezení
Minimální interval mezi dvěma příkazy je 100 ms
Rotace pomůcky
http://127.0.0.1:8089/rotate?speed=num&time=msec
Funkce
Nechá pomůcku rotovat po dobu msec milisekund
Metoda požadavku
GET
Parametry požadavku
| Parametr | Popis | Hodnoty |
|---|---|---|
| speed | Rychlost | 0–100, 0 znamená stop, 100 je maximální intenzita |
| time | Čas | Milisekundy |
Příklad
http://127.0.0.1:8089/rotate?speed=20&time=1000
Zastavení pomůcky
http://127.0.0.1:8089/stop
Funkce
Zastaví všechny činnosti pomůcky
Metoda požadavku
GET
Parametry požadavku
Žádné
API vzorů
Přednastavené vzory
http://127.0.0.1:8089/preset?id=num
Funkce
Nechá pomůcku vibrovat podle předdefinovaných vzorů
Metoda požadavku
GET
Parametry požadavku
| Parametr | Popis | Hodnoty |
|---|---|---|
| id | ID vzoru | 1 Pulse, 2 Wave, 3 Firework, 4 Earthquake |
Příklad
http://127.0.0.1:8089/preset?id=1
Poznámky
Pomůcku lze kdykoli zastavit pomocí jednoduchého API. Pokud ji nezastavíš, bude vzor opakovat donekonečna, dokud se nevybije baterie.
Proud vzorů
http://127.0.0.1:8089/pattern
Funkce
Odešle pomůcce sérii příkazů
Metoda požadavku
POST
Parametry požadavku
| Parametr | Popis | Hodnoty |
|---|---|---|
| data | Proud vzorů | Řetězec proudu vzorů (v těle požadavku) |
Příklad
http://127.0.0.1:8089/pattern
Tělo požadavku
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;
Poznámky
Proudy vzorů lze napsat ručně nebo je nahrát v aplikaci EnjoxRemote přejížděním prstem.
Formát proudu vzorů
Proud vzorů se skládá z hlavičky vzoru a dat vzoru, oddělených znakem #. Popis hlavičky vzoru je uveden v tabulce níže. Data vzoru jsou řetězec dvojic čísel oddělených čárkami, dvojice jsou odděleny středníky, a každá dvojice odpovídá typům akcí v hlavičce vzoru (např. u F=v,r každá dvojice obsahuje hodnoty pro vibraci a rotaci).
| Klíčové slovo | Obsah | Popis |
|---|---|---|
| V | 1 | Číslo verze |
| F | v,r | Typy akcí: v = vibrace, r = rotace, p = stah |
| S | 100 | Časový interval v milisekundách |