Enjox Toy HTTP-SDK-Dokumentation
Überblick
Drittanbieter-Apps können das Enjox HTTP-SDK nutzen, um die Toys anzusteuern.
Die HTTP-SDK-Funktionalität wird von der EnjoxRemote App bereitgestellt. Die EnjoxRemote App fungiert dabei als Bluetooth-↔-HTTP-Proxy, sodass du alle Toys auf demselben Handy (oder im selben Wi-Fi-Netzwerk) bequem über das Standard-HTTP-Protokoll steuern kannst. Nutzer müssen zuerst die EnjoxRemote App starten und erst danach deine App, um das HTTP-SDK verwenden zu können.

Architektur: Deine App kommuniziert über das HTTP-SDK mit der EnjoxRemote App, und die EnjoxRemote App kommuniziert über Bluetooth mit den Enjox Toys.
Hinweis: Beim Zugriff über das Wi-Fi-Netzwerk ersetze 127.0.0.1 durch die IP-Adresse des Geräts, auf dem die EnjoxRemote App läuft. Der Standardport ist 8089.
Aufrufmethode
http://127.0.0.1:8089/{command}?param=value[&token=xxx]
Anfragemethode
GET, POST
Anfrageparameter
| Parameter | Beschreibung | Werte |
|---|---|---|
| command | Befehl | vibrate, rotate, preset, pattern |
| param | Parameter | Variiert je nach Befehl |
| token | Token | Fester Wert: 6b9a21fb055343f8b10113a1b78b7229 (derzeit fest, kann in zukünftigen Versionen erforderlich sein) |
Antwortformat
{"ret": 0, "data": 0}
| ret | data | Beschreibung |
|---|---|---|
| 0 | - | Erfolg |
| 1 | 10 | Unbekannter Fehler |
| 1 | 11 | Toy nicht verbunden |
| 1 | 12 | Toy-Akku niedrig |
Einfache API
Toy vibrieren lassen
http://127.0.0.1:8089/vibrate?speed=num&time=msec
Funktion
Das Toy für msec Millisekunden vibrieren lassen
Anfragemethode
GET
Anfrageparameter
| Parameter | Beschreibung | Werte |
|---|---|---|
| speed | Geschwindigkeit | 0-100, 0 zum Stoppen, 100 für maximale Intensität |
| time | Zeit | Millisekunden |
Beispiel
http://127.0.0.1:8089/vibrate?speed=20&time=1000
Einschränkung
Der minimale Abstand zwischen zwei Befehlen beträgt 100 ms
Toy rotieren lassen
http://127.0.0.1:8089/rotate?speed=num&time=msec
Funktion
Das Toy für msec Millisekunden rotieren lassen
Anfragemethode
GET
Anfrageparameter
| Parameter | Beschreibung | Werte |
|---|---|---|
| speed | Geschwindigkeit | 0-100, 0 zum Stoppen, 100 für maximale Intensität |
| time | Zeit | Millisekunden |
Beispiel
http://127.0.0.1:8089/rotate?speed=20&time=1000
Toy stoppen
http://127.0.0.1:8089/stop
Funktion
Alle Toy-Aktionen stoppen
Anfragemethode
GET
Anfrageparameter
Keine
Pattern-API
Voreingestellte Muster
http://127.0.0.1:8089/preset?id=num
Funktion
Das Toy mit vordefinierten Mustern vibrieren lassen
Anfragemethode
GET
Anfrageparameter
| Parameter | Beschreibung | Werte |
|---|---|---|
| id | Muster-ID | 1 Pulse, 2 Wave, 3 Firework, 4 Earthquake |
Beispiel
http://127.0.0.1:8089/preset?id=1
Hinweise
Das Toy kann jederzeit über die Einfache API gestoppt werden. Wird es nicht gestoppt, wiederholt das Toy das Muster endlos, bis der Akku leer ist.
Pattern-Stream
http://127.0.0.1:8089/pattern
Funktion
Eine Reihe von Befehlen an das Toy senden
Anfragemethode
POST
Anfrageparameter
| Parameter | Beschreibung | Werte |
|---|---|---|
| data | Pattern-Stream | Pattern-Stream-Zeichenfolge (im Anfragetext) |
Beispiel
http://127.0.0.1:8089/pattern
Anfragetext
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;
Hinweise
Pattern-Streams können selbst geschrieben oder in der EnjoxRemote App durch Wischen mit dem Finger aufgezeichnet werden.
Pattern-Stream-Format
Ein Pattern-Stream besteht aus einem Pattern-Header und Pattern-Daten, getrennt durch #. Die Beschreibung des Pattern-Headers ist in der Tabelle unten dargestellt. Die Pattern-Daten sind eine Folge von Zahlenpaaren – die Zahlen innerhalb eines Paares durch Komma, die Paare untereinander durch Semikolon getrennt –, wobei die Werte eines Paares den im Pattern-Header definierten Aktionstypen entsprechen (z. B. enthält bei F=v,r jedes Paar je einen Wert für vibrate und rotate).
| Schlüsselwort | Inhalt | Beschreibung |
|---|---|---|
| V | 1 | Versionsnummer |
| F | v,r | Aktionstypen: v = vibrate, r = rotate, p = contract |
| S | 100 | Zeitintervall in Millisekunden |