Enjox Toy HTTP SDK 문서
개요
서드파티 앱은 Enjox HTTP SDK를 사용해 토이에 대한 제어 기능을 얻을 수 있어요.
HTTP SDK 기능은 EnjoxRemote 앱에서 제공해요. 이 경우 EnjoxRemote 앱은 Bluetooth ↔ HTTP 프록시 역할을 하여, 표준 HTTP 프로토콜을 통해 동일한 휴대폰(또는 Wi-Fi 네트워크)의 모든 토이를 쉽게 제어할 수 있게 해줘요. 사용자는 HTTP SDK를 사용하기 위해 당신의 앱을 실행하기 전에 먼저 EnjoxRemote 앱을 실행해야 해요.

아키텍처: 당신의 앱은 HTTP SDK를 통해 EnjoxRemote 앱과 통신하고, EnjoxRemote 앱은 Bluetooth를 통해 Enjox Toys와 통신해요.
참고: Wi-Fi 네트워크를 통해 접근할 때는 127.0.0.1을 EnjoxRemote 앱이 실행 중인 기기의 IP 주소로 바꿔주세요. 기본 포트는 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
제한
두 명령어 사이의 최소 간격은 100ms예요.
토이 회전
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 | 밀리초 단위 시간 간격 |