Enjox Toy HTTP SDK-documentatie
Overzicht
Externe apps kunnen de Enjox HTTP SDK gebruiken om controle over de speeltjes te krijgen.
De HTTP SDK-functionaliteit wordt geleverd door de EnjoxRemote-app. In dit geval fungeert de EnjoxRemote-app als een Bluetooth ↔ HTTP-proxy, waarmee je eenvoudig alle speeltjes op dezelfde telefoon (of hetzelfde Wi-Fi-netwerk) kunt bedienen via het standaard HTTP-protocol. Gebruikers moeten eerst de EnjoxRemote-app starten voordat ze jouw app starten om de HTTP SDK te gebruiken.

Architectuur: jouw app communiceert met de EnjoxRemote-app via de HTTP SDK, en de EnjoxRemote-app communiceert met de Enjox-speeltjes via Bluetooth.
Let op: vervang bij toegang via een Wi-Fi-netwerk 127.0.0.1 door het IP-adres van het apparaat waarop de EnjoxRemote-app draait. De standaardpoort is 8089.
Aanroepmethode
http://127.0.0.1:8089/{command}?param=value[&token=xxx]
Verzoekmethode
GET, POST
Verzoekparameters
| Parameter | Beschrijving | Waarden |
|---|---|---|
| command | Commando | vibrate, rotate, preset, pattern |
| param | Parameters | Verschilt per commando |
| token | Token | Vaste waarde: 6b9a21fb055343f8b10113a1b78b7229 (momenteel vast, kan in toekomstige versies vereist zijn) |
Antwoordformaat
{"ret": 0, "data": 0}
| ret | data | Beschrijving |
|---|---|---|
| 0 | - | Succes |
| 1 | 10 | Onbekende fout |
| 1 | 11 | Speeltje niet verbonden |
| 1 | 12 | Batterij van speeltje bijna leeg |
Eenvoudige API
Speeltje laten trillen
http://127.0.0.1:8089/vibrate?speed=num&time=msec
Functie
Laat het speeltje gedurende msec milliseconden trillen
Verzoekmethode
GET
Verzoekparameters
| Parameter | Beschrijving | Waarden |
|---|---|---|
| speed | Snelheid | 0-100, 0 om te stoppen, 100 voor maximale intensiteit |
| time | Tijd | Milliseconden |
Voorbeeld
http://127.0.0.1:8089/vibrate?speed=20&time=1000
Beperking
Minimaal interval tussen twee commando's is 100ms
Speeltje laten draaien
http://127.0.0.1:8089/rotate?speed=num&time=msec
Functie
Laat het speeltje gedurende msec milliseconden draaien
Verzoekmethode
GET
Verzoekparameters
| Parameter | Beschrijving | Waarden |
|---|---|---|
| speed | Snelheid | 0-100, 0 om te stoppen, 100 voor maximale intensiteit |
| time | Tijd | Milliseconden |
Voorbeeld
http://127.0.0.1:8089/rotate?speed=20&time=1000
Speeltje stoppen
http://127.0.0.1:8089/stop
Functie
Stop alle acties van het speeltje
Verzoekmethode
GET
Verzoekparameters
Geen
Patroon-API
Vooraf ingestelde patronen
http://127.0.0.1:8089/preset?id=num
Functie
Laat het speeltje trillen met vooraf gedefinieerde patronen
Verzoekmethode
GET
Verzoekparameters
| Parameter | Beschrijving | Waarden |
|---|---|---|
| id | Patroon-ID | 1 Pulse, 2 Wave, 3 Firework, 4 Earthquake |
Voorbeeld
http://127.0.0.1:8089/preset?id=1
Opmerkingen
Het speeltje kan op elk moment worden gestopt met de eenvoudige API. Als het niet wordt gestopt, blijft het speeltje het patroon eindeloos herhalen totdat de batterij leeg is.
Patroonstroom
http://127.0.0.1:8089/pattern
Functie
Stuur een reeks commando's naar het speeltje
Verzoekmethode
POST
Verzoekparameters
| Parameter | Beschrijving | Waarden |
|---|---|---|
| data | Patroonstroom | Patroonstroom-string (in de verzoekbody) |
Voorbeeld
http://127.0.0.1:8089/pattern
Verzoekbody
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;
Opmerkingen
Patroonstromen kunnen zelf worden geschreven of in de EnjoxRemote-app worden opgenomen door met je vinger te slepen.
Formaat van patroonstroom
Een patroonstroom bestaat uit een patroonheader en patroongegevens, gescheiden door #. De beschrijving van de patroonheader staat in de onderstaande tabel. Patroongegevens zijn een string van door komma's gescheiden getallenparen, gescheiden door puntkomma's, waarbij elk paar overeenkomt met de actietypes in de patroonheader (bijv. voor F=v,r bevat elk paar waarden voor vibreren en draaien).
| Sleutelwoord | Inhoud | Beschrijving |
|---|---|---|
| V | 1 | Versienummer |
| F | v,r | Actietypes: v = vibreren, r = draaien, p = samentrekken |
| S | 100 | Tijdsinterval in milliseconden |