Documentazione HTTP SDK per i giocattoli Enjox
Panoramica
Le app di terze parti possono usare l'HTTP SDK di Enjox per ottenere il controllo sui giocattoli.
La funzionalità HTTP SDK è fornita dall'app EnjoxRemote. In questo caso l'app EnjoxRemote funge da proxy Bluetooth ↔ HTTP, permettendoti di controllare facilmente tutti i giocattoli sullo stesso telefono (o sulla stessa rete Wi-Fi) tramite il protocollo HTTP standard. Per usare l'HTTP SDK, gli utenti devono prima avviare l'app EnjoxRemote e poi avviare la tua app.

Architettura: la tua app comunica con l'app EnjoxRemote tramite HTTP SDK, e l'app EnjoxRemote comunica con i giocattoli Enjox tramite Bluetooth.
Nota: quando accedi tramite rete Wi-Fi, sostituisci 127.0.0.1 con l'indirizzo IP del dispositivo su cui è in esecuzione l'app EnjoxRemote. La porta predefinita è 8089.
Metodo di invocazione
http://127.0.0.1:8089/{command}?param=value[&token=xxx]
Metodo della richiesta
GET, POST
Parametri della richiesta
| Parametro | Descrizione | Valori |
|---|---|---|
| command | Comando | vibrate, rotate, preset, pattern |
| param | Parametri | Variano a seconda del comando |
| token | Token | Valore fisso: 6b9a21fb055343f8b10113a1b78b7229 (attualmente fisso, potrebbe essere richiesto in versioni future) |
Formato della risposta
{"ret": 0, "data": 0}
| ret | data | Descrizione |
|---|---|---|
| 0 | - | Successo |
| 1 | 10 | Errore sconosciuto |
| 1 | 11 | Giocattolo non connesso |
| 1 | 12 | Batteria del giocattolo scarica |
API semplice
Far vibrare il giocattolo
http://127.0.0.1:8089/vibrate?speed=num&time=msec
Funzione
Fa vibrare il giocattolo per msec millisecondi
Metodo della richiesta
GET
Parametri della richiesta
| Parametro | Descrizione | Valori |
|---|---|---|
| speed | Velocità | 0-100, 0 per fermare, 100 per la massima intensità |
| time | Tempo | Millisecondi |
Esempio
http://127.0.0.1:8089/vibrate?speed=20&time=1000
Limitazione
L'intervallo minimo tra due comandi è 100ms
Far ruotare il giocattolo
http://127.0.0.1:8089/rotate?speed=num&time=msec
Funzione
Fa ruotare il giocattolo per msec millisecondi
Metodo della richiesta
GET
Parametri della richiesta
| Parametro | Descrizione | Valori |
|---|---|---|
| speed | Velocità | 0-100, 0 per fermare, 100 per la massima intensità |
| time | Tempo | Millisecondi |
Esempio
http://127.0.0.1:8089/rotate?speed=20&time=1000
Fermare il giocattolo
http://127.0.0.1:8089/stop
Funzione
Ferma tutte le azioni del giocattolo
Metodo della richiesta
GET
Parametri della richiesta
Nessuno
API dei pattern
Pattern preimpostati
http://127.0.0.1:8089/preset?id=num
Funzione
Fa vibrare il giocattolo usando pattern predefiniti
Metodo della richiesta
GET
Parametri della richiesta
| Parametro | Descrizione | Valori |
|---|---|---|
| id | ID del pattern | 1 Pulse, 2 Wave, 3 Firework, 4 Earthquake |
Esempio
http://127.0.0.1:8089/preset?id=1
Note
Il giocattolo può essere fermato in qualsiasi momento usando l'API semplice. Se non viene fermato, il giocattolo continuerà a ripetere il pattern all'infinito finché la batteria non si scarica.
Stream di pattern
http://127.0.0.1:8089/pattern
Funzione
Invia una serie di comandi al giocattolo
Metodo della richiesta
POST
Parametri della richiesta
| Parametro | Descrizione | Valori |
|---|---|---|
| data | Stream di pattern | Stringa dello stream di pattern (nel corpo della richiesta) |
Esempio
http://127.0.0.1:8089/pattern
Corpo della richiesta
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
Gli stream di pattern possono essere scritti su misura oppure registrati nell'app EnjoxRemote facendo scorrere il dito.
Formato dello stream di pattern
Uno stream di pattern è composto da un'intestazione di pattern e dai dati del pattern, separati da #. La descrizione dell'intestazione del pattern è mostrata nella tabella sottostante. I dati del pattern sono una stringa di coppie di numeri separate da virgole e suddivise da punti e virgola, dove ogni coppia corrisponde ai tipi di azione nell'intestazione del pattern (ad esempio, per F=v,r, ogni coppia contiene i valori per vibrazione e rotazione).
| Parola chiave | Contenuto | Descrizione |
|---|---|---|
| V | 1 | Numero di versione |
| F | v,r | Tipi di azione: v = vibrazione, r = rotazione, p = contrazione |
| S | 100 | Intervallo di tempo in millisecondi |