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.

Enjox HTTP-SDK-Architektur: App zu EnjoxRemote über HTTP, EnjoxRemote zu den Toys über Bluetooth

Architektur: Deine App kommuniziert über das HTTP-SDK mit der EnjoxRemote App, und die EnjoxRemote App kommuniziert über Bluetooth mit den Enjox Toys.

Testseite >>

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

Our site uses cookies. By continuing to use our site, you agree to the use of cookies. For more information about the use of cookies on our website, please see our Cookie Policy.