Документація HTTP SDK для іграшок Enjox
Огляд
Сторонні застосунки можуть використовувати Enjox HTTP SDK, щоб отримати можливості керування іграшками.
Функціональність HTTP SDK забезпечується застосунком EnjoxRemote. У цьому випадку застосунок EnjoxRemote виступає проксі Bluetooth ↔ HTTP, що дозволяє тобі легко керувати всіма іграшками на тому самому телефоні (або в мережі Wi-Fi) за стандартним протоколом HTTP. Спершу користувачі мають запустити застосунок EnjoxRemote, а вже потім — твій застосунок, щоб скористатися HTTP SDK.

Архітектура: твій застосунок взаємодіє із застосунком EnjoxRemote через HTTP SDK, а застосунок EnjoxRemote взаємодіє з іграшками Enjox через Bluetooth.
Примітка: під час доступу через мережу Wi-Fi заміни 127.0.0.1 на IP-адресу пристрою, на якому запущено застосунок EnjoxRemote. Усталений порт — 8089.
Метод виклику
http://127.0.0.1:8089/{command}?param=value[&token=xxx]
Метод запиту
GET, POST
Параметри запиту
| Параметр | Опис | Значення |
|---|---|---|
| command | Команда | vibrate, rotate, preset, pattern |
| param | Параметри | Залежить від команди |
| token | Токен | Фіксоване значення: 6b9a21fb055343f8b10113a1b78b7229 (наразі фіксоване, може знадобитися в майбутніх версіях) |
Формат відповіді
{"ret": 0, "data": 0}
| ret | data | Опис |
|---|---|---|
| 0 | - | Успіх |
| 1 | 10 | Невідома помилка |
| 1 | 11 | Іграшку не під'єднано |
| 1 | 12 | Низький заряд іграшки |
Простий API
Вібрація іграшки
http://127.0.0.1:8089/vibrate?speed=num&time=msec
Функція
Викликає вібрацію іграшки протягом msec мілісекунд
Метод запиту
GET
Параметри запиту
| Параметр | Опис | Значення |
|---|---|---|
| speed | Швидкість | 0-100, 0 — зупинка, 100 — максимальна інтенсивність |
| time | Час | Мілісекунди |
Приклад
http://127.0.0.1:8089/vibrate?speed=20&time=1000
Обмеження
Мінімальний інтервал між двома командами — 100 мс
Обертання іграшки
http://127.0.0.1:8089/rotate?speed=num&time=msec
Функція
Викликає обертання іграшки протягом msec мілісекунд
Метод запиту
GET
Параметри запиту
| Параметр | Опис | Значення |
|---|---|---|
| speed | Швидкість | 0-100, 0 — зупинка, 100 — максимальна інтенсивність |
| time | Час | Мілісекунди |
Приклад
http://127.0.0.1:8089/rotate?speed=20&time=1000
Зупинка іграшки
http://127.0.0.1:8089/stop
Функція
Зупиняє всі дії іграшки
Метод запиту
GET
Параметри запиту
Немає
API візерунків
Попередньо задані візерунки
http://127.0.0.1:8089/preset?id=num
Функція
Викликає вібрацію іграшки за попередньо заданими візерунками
Метод запиту
GET
Параметри запиту
| Параметр | Опис | Значення |
|---|---|---|
| id | ID візерунка | 1 Pulse, 2 Wave, 3 Firework, 4 Earthquake |
Приклад
http://127.0.0.1:8089/preset?id=1
Примітки
Іграшку можна будь-коли зупинити за допомогою простого API. Якщо її не зупинити, іграшка нескінченно повторюватиме візерунок, доки не розрядиться батарея.
Потік візерунків
http://127.0.0.1:8089/pattern
Функція
Надсилає іграшці серію команд
Метод запиту
POST
Параметри запиту
| Параметр | Опис | Значення |
|---|---|---|
| data | Потік візерунків | Рядок потоку візерунків (у тілі запиту) |
Приклад
http://127.0.0.1:8089/pattern
Тіло запиту
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;
Примітки
Потоки візерунків можна писати власноруч або записувати в застосунку EnjoxRemote, ковзаючи пальцем.
Формат потоку візерунків
Потік візерунків складається із заголовка візерунка та даних візерунка, розділених символом #. Опис заголовка візерунка наведено в таблиці нижче. Дані візерунка — це рядок із пар чисел, розділених комами, що відокремлюються крапкою з комою, де кожна пара відповідає типам дій із заголовка візерунка (наприклад, для F=v,r кожна пара містить значення для вібрації та обертання).
| Ключове слово | Вміст | Опис |
|---|---|---|
| V | 1 | Номер версії |
| F | v,r | Типи дій: v = вібрація, r = обертання, p = стискання |
| S | 100 | Часовий інтервал у мілісекундах |