Documentație SDK HTTP pentru jucăriile Enjox
Prezentare generală
Aplicațiile terțe pot folosi SDK-ul HTTP Enjox pentru a obține capabilități de control asupra jucăriilor.
Funcționalitatea SDK-ului HTTP este oferită de aplicația EnjoxRemote. În acest caz, aplicația EnjoxRemote acționează ca un proxy Bluetooth ↔ HTTP, permițându-ți să controlezi cu ușurință toate jucăriile de pe același telefon (sau din aceeași rețea Wi-Fi) prin protocolul standard HTTP. Utilizatorii trebuie să lanseze mai întâi aplicația EnjoxRemote înainte de a-ți lansa aplicația care folosește SDK-ul HTTP.

Arhitectură: aplicația ta comunică cu aplicația EnjoxRemote prin SDK-ul HTTP, iar aplicația EnjoxRemote comunică cu jucăriile Enjox prin Bluetooth.
Notă: Când accesezi prin rețeaua Wi-Fi, înlocuiește 127.0.0.1 cu adresa IP a dispozitivului pe care rulează aplicația EnjoxRemote. Portul implicit este 8089.
Metoda de apelare
http://127.0.0.1:8089/{command}?param=value[&token=xxx]
Metoda de cerere
GET, POST
Parametrii cererii
| Parametru | Descriere | Valori |
|---|---|---|
| command | Comandă | vibrate, rotate, preset, pattern |
| param | Parametri | Variază în funcție de comandă |
| token | Token | Valoare fixă: 6b9a21fb055343f8b10113a1b78b7229 (în prezent fixă, ar putea fi necesară în versiunile viitoare) |
Formatul răspunsului
{"ret": 0, "data": 0}
| ret | data | Descriere |
|---|---|---|
| 0 | - | Succes |
| 1 | 10 | Eroare necunoscută |
| 1 | 11 | Jucărie neconectată |
| 1 | 12 | Baterie scăzută la jucărie |
API simplu
Vibrarea jucăriei
http://127.0.0.1:8089/vibrate?speed=num&time=msec
Funcție
Pune jucăria să vibreze timp de msec milisecunde
Metoda de cerere
GET
Parametrii cererii
| Parametru | Descriere | Valori |
|---|---|---|
| speed | Viteză | 0-100, 0 pentru oprire, 100 pentru intensitate maximă |
| time | Timp | Milisecunde |
Exemplu
http://127.0.0.1:8089/vibrate?speed=20&time=1000
Limitare
Intervalul minim între două comenzi este de 100ms
Rotirea jucăriei
http://127.0.0.1:8089/rotate?speed=num&time=msec
Funcție
Pune jucăria să se rotească timp de msec milisecunde
Metoda de cerere
GET
Parametrii cererii
| Parametru | Descriere | Valori |
|---|---|---|
| speed | Viteză | 0-100, 0 pentru oprire, 100 pentru intensitate maximă |
| time | Timp | Milisecunde |
Exemplu
http://127.0.0.1:8089/rotate?speed=20&time=1000
Oprirea jucăriei
http://127.0.0.1:8089/stop
Funcție
Oprește toate acțiunile jucăriei
Metoda de cerere
GET
Parametrii cererii
Niciunul
API pentru tipare
Tipare presetate
http://127.0.0.1:8089/preset?id=num
Funcție
Pune jucăria să vibreze folosind tipare predefinite
Metoda de cerere
GET
Parametrii cererii
| Parametru | Descriere | Valori |
|---|---|---|
| id | ID-ul tiparului | 1 Pulse, 2 Wave, 3 Firework, 4 Earthquake |
Exemplu
http://127.0.0.1:8089/preset?id=1
Note
Jucăria poate fi oprită în orice moment folosind API-ul simplu. Dacă nu este oprită, jucăria va continua să repete tiparul la nesfârșit, până când bateria se descarcă.
Flux de tipare
http://127.0.0.1:8089/pattern
Funcție
Trimite o serie de comenzi către jucărie
Metoda de cerere
POST
Parametrii cererii
| Parametru | Descriere | Valori |
|---|---|---|
| data | Flux de tipare | Șir de flux de tipare (în corpul cererii) |
Exemplu
http://127.0.0.1:8089/pattern
Corpul cererii
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;
Note
Fluxurile de tipare pot fi scrise personalizat sau înregistrate în aplicația EnjoxRemote prin glisarea degetului.
Formatul fluxului de tipare
Un flux de tipare este alcătuit dintr-un antet de tipar și date de tipar, separate prin #. Descrierea antetului de tipar este prezentată în tabelul de mai jos. Datele de tipar reprezintă un șir de perechi de numere separate prin virgulă și delimitate prin punct și virgulă, fiecare pereche corespunzând tipurilor de acțiune din antetul de tipar (de exemplu, pentru F=v,r, fiecare pereche conține valori pentru vibrare și rotire).
| Cuvânt-cheie | Conținut | Descriere |
|---|---|---|
| V | 1 | Numărul versiunii |
| F | v,r | Tipuri de acțiune: v = vibrare, r = rotire, p = contracție |
| S | 100 | Interval de timp în milisecunde |