Dokumentation til Enjox-legetøjs HTTP SDK
Oversigt
Tredjepartsapps kan bruge Enjox HTTP SDK til at få styringsfunktioner over legetøjet.
HTTP SDK-funktionaliteten leveres af EnjoxRemote-appen. I dette tilfælde fungerer EnjoxRemote-appen som en Bluetooth ↔ HTTP-proxy, så du nemt kan styre alt legetøj på den samme telefon (eller det samme Wi-Fi-netværk) via standard-HTTP-protokollen. Brugere skal først starte EnjoxRemote-appen, før de starter din app, for at kunne bruge HTTP SDK'en.

Arkitektur: Din app kommunikerer med EnjoxRemote-appen via HTTP SDK, og EnjoxRemote-appen kommunikerer med Enjox-legetøj via Bluetooth.
Bemærk: Når du tilgår via Wi-Fi-netværk, skal du erstatte 127.0.0.1 med IP-adressen på den enhed, der kører EnjoxRemote-appen. Standardporten er 8089.
Kaldemetode
http://127.0.0.1:8089/{command}?param=value[&token=xxx]
Anmodningsmetode
GET, POST
Anmodningsparametre
| Parameter | Beskrivelse | Værdier |
|---|---|---|
| command | Kommando | vibrate, rotate, preset, pattern |
| param | Parametre | Varierer afhængigt af kommandoen |
| token | Token | Fast værdi: 6b9a21fb055343f8b10113a1b78b7229 (i øjeblikket fast, kan blive påkrævet i fremtidige versioner) |
Svarformat
{"ret": 0, "data": 0}
| ret | data | Beskrivelse |
|---|---|---|
| 0 | - | Lykkedes |
| 1 | 10 | Ukendt fejl |
| 1 | 11 | Legetøj ikke forbundet |
| 1 | 12 | Legetøjets batteri lavt |
Simpel API
Få legetøjet til at vibrere
http://127.0.0.1:8089/vibrate?speed=num&time=msec
Funktion
Få legetøjet til at vibrere i msec millisekunder
Anmodningsmetode
GET
Anmodningsparametre
| Parameter | Beskrivelse | Værdier |
|---|---|---|
| speed | Hastighed | 0-100, 0 for at stoppe, 100 for maksimal styrke |
| time | Tid | Millisekunder |
Eksempel
http://127.0.0.1:8089/vibrate?speed=20&time=1000
Begrænsning
Minimumsintervallet mellem to kommandoer er 100ms
Få legetøjet til at rotere
http://127.0.0.1:8089/rotate?speed=num&time=msec
Funktion
Få legetøjet til at rotere i msec millisekunder
Anmodningsmetode
GET
Anmodningsparametre
| Parameter | Beskrivelse | Værdier |
|---|---|---|
| speed | Hastighed | 0-100, 0 for at stoppe, 100 for maksimal styrke |
| time | Tid | Millisekunder |
Eksempel
http://127.0.0.1:8089/rotate?speed=20&time=1000
Stop legetøjet
http://127.0.0.1:8089/stop
Funktion
Stop alle legetøjets handlinger
Anmodningsmetode
GET
Anmodningsparametre
Ingen
Mønster-API
Forudindstillede mønstre
http://127.0.0.1:8089/preset?id=num
Funktion
Få legetøjet til at vibrere med foruddefinerede mønstre
Anmodningsmetode
GET
Anmodningsparametre
| Parameter | Beskrivelse | Værdier |
|---|---|---|
| id | Mønster-ID | 1 Pulse, 2 Wave, 3 Firework, 4 Earthquake |
Eksempel
http://127.0.0.1:8089/preset?id=1
Bemærkninger
Legetøjet kan stoppes når som helst med den simple API. Hvis det ikke stoppes, vil legetøjet fortsætte med at gentage mønsteret i det uendelige, indtil batteriet er opbrugt.
Mønsterstrøm
http://127.0.0.1:8089/pattern
Funktion
Send en række kommandoer til legetøjet
Anmodningsmetode
POST
Anmodningsparametre
| Parameter | Beskrivelse | Værdier |
|---|---|---|
| data | Mønsterstrøm | Mønsterstrøm-streng (i anmodningens body) |
Eksempel
http://127.0.0.1:8089/pattern
Anmodningens body
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;
Bemærkninger
Mønsterstrømme kan skrives manuelt eller optages i EnjoxRemote-appen ved at glide fingeren.
Mønsterstrøm-format
En mønsterstrøm består af et mønsterhoved og mønsterdata, adskilt af #. Beskrivelsen af mønsterhovedet er vist i tabellen nedenfor. Mønsterdata er en streng af kommaadskilte talpar adskilt af semikolon, hvor hvert par svarer til handlingstyperne i mønsterhovedet (f.eks. for F=v,r indeholder hvert par værdier for vibrate og rotate).
| Nøgleord | Indhold | Beskrivelse |
|---|---|---|
| V | 1 | Versionsnummer |
| F | v,r | Handlingstyper: v = vibrate, r = rotate, p = contract |
| S | 100 | Tidsinterval i millisekunder |