Dokumentacja HTTP SDK zabawek Enjox
Przegląd
Aplikacje innych firm mogą korzystać z Enjox HTTP SDK, aby uzyskać możliwość sterowania zabawkami.
Funkcjonalność HTTP SDK jest udostępniana przez aplikację EnjoxRemote. W tym układzie aplikacja EnjoxRemote działa jako pośrednik Bluetooth ↔ HTTP, pozwalając łatwo sterować wszystkimi zabawkami w tym samym telefonie (lub sieci Wi-Fi) za pomocą standardowego protokołu HTTP. Użytkownicy muszą najpierw uruchomić aplikację EnjoxRemote, zanim uruchomią Twoją aplikację korzystającą z HTTP SDK.

Architektura: Twoja aplikacja komunikuje się z aplikacją EnjoxRemote przez HTTP SDK, a aplikacja EnjoxRemote komunikuje się z zabawkami Enjox przez Bluetooth.
Uwaga: Przy dostępie przez sieć Wi-Fi zastąp 127.0.0.1 adresem IP urządzenia, na którym działa aplikacja EnjoxRemote. Domyślny port to 8089.
Metoda wywołania
http://127.0.0.1:8089/{command}?param=value[&token=xxx]
Metoda żądania
GET, POST
Parametry żądania
| Parametr | Opis | Wartości |
|---|---|---|
| command | Polecenie | vibrate, rotate, preset, pattern |
| param | Parametry | Zależnie od polecenia |
| token | Token | Wartość stała: 6b9a21fb055343f8b10113a1b78b7229 (obecnie stała, może być wymagana w przyszłych wersjach) |
Format odpowiedzi
{"ret": 0, "data": 0}
| ret | data | Opis |
|---|---|---|
| 0 | - | Sukces |
| 1 | 10 | Nieznany błąd |
| 1 | 11 | Zabawka niepołączona |
| 1 | 12 | Niski poziom baterii zabawki |
Proste API
Wibracja zabawki
http://127.0.0.1:8089/vibrate?speed=num&time=msec
Funkcja
Wibruje zabawką przez msec milisekund
Metoda żądania
GET
Parametry żądania
| Parametr | Opis | Wartości |
|---|---|---|
| speed | Prędkość | 0-100, 0 zatrzymuje, 100 to maksymalne natężenie |
| time | Czas | Milisekundy |
Przykład
http://127.0.0.1:8089/vibrate?speed=20&time=1000
Ograniczenie
Minimalny odstęp między dwoma poleceniami to 100 ms
Obrót zabawki
http://127.0.0.1:8089/rotate?speed=num&time=msec
Funkcja
Obraca zabawką przez msec milisekund
Metoda żądania
GET
Parametry żądania
| Parametr | Opis | Wartości |
|---|---|---|
| speed | Prędkość | 0-100, 0 zatrzymuje, 100 to maksymalne natężenie |
| time | Czas | Milisekundy |
Przykład
http://127.0.0.1:8089/rotate?speed=20&time=1000
Zatrzymanie zabawki
http://127.0.0.1:8089/stop
Funkcja
Zatrzymuje wszystkie działania zabawki
Metoda żądania
GET
Parametry żądania
Brak
API wzorów
Gotowe wzory
http://127.0.0.1:8089/preset?id=num
Funkcja
Wibruje zabawką według predefiniowanych wzorów
Metoda żądania
GET
Parametry żądania
| Parametr | Opis | Wartości |
|---|---|---|
| id | ID wzoru | 1 Pulse, 2 Wave, 3 Firework, 4 Earthquake |
Przykład
http://127.0.0.1:8089/preset?id=1
Uwagi
Zabawkę można w każdej chwili zatrzymać za pomocą prostego API. Jeśli nie zostanie zatrzymana, będzie powtarzać wzór w nieskończoność, aż do wyczerpania baterii.
Strumień wzoru
http://127.0.0.1:8089/pattern
Funkcja
Wysyła serię poleceń do zabawki
Metoda żądania
POST
Parametry żądania
| Parametr | Opis | Wartości |
|---|---|---|
| data | Strumień wzoru | Ciąg strumienia wzoru (w treści żądania) |
Przykład
http://127.0.0.1:8089/pattern
Treść żądania
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;
Uwagi
Strumienie wzorów można pisać samodzielnie lub nagrać w aplikacji EnjoxRemote, przesuwając palcem.
Format strumienia wzoru
Strumień wzoru składa się z nagłówka wzoru i danych wzoru, oddzielonych znakiem #. Opis nagłówka wzoru przedstawiono w tabeli poniżej. Dane wzoru to ciąg par liczb rozdzielonych przecinkami, oddzielonych średnikami, przy czym każda para odpowiada typom działań z nagłówka wzoru (np. dla F=v,r każda para zawiera wartości dla wibracji i obrotu).
| Słowo kluczowe | Treść | Opis |
|---|---|---|
| V | 1 | Numer wersji |
| F | v,r | Typy działań: v = wibracja, r = obrót, p = skurcz |
| S | 100 | Odstęp czasu w milisekundach |