Enjox トイ HTTP SDK ドキュメント
概要
サードパーティ製アプリは、Enjox HTTP SDK を使ってトイを制御できます。
HTTP SDK の機能は EnjoxRemote App によって提供されます。EnjoxRemote App は Bluetooth ↔ HTTP のプロキシとして動作し、標準的な HTTP プロトコルを通じて、同じスマートフォン(または Wi-Fi ネットワーク)上のすべてのトイを簡単に制御できるようにします。HTTP SDK を使うには、ご自身のアプリを起動する前に、まず EnjoxRemote App を起動しておく必要があります。

アーキテクチャ:ご自身のアプリは HTTP SDK を介して EnjoxRemote App と通信し、EnjoxRemote App は Bluetooth を介して Enjox Toys と通信します。
ご注意:Wi-Fi ネットワーク経由でアクセスする場合は、127.0.0.1 を EnjoxRemote App が動作しているデバイスの 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
制限
2 つのコマンドの最小間隔は 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 App で指をスライドさせて記録できます。
パターンストリーム形式
パターンストリームは、パターンヘッダーとパターンデータで構成され、# で区切られます。パターンヘッダーの説明は下の表のとおりです。パターンデータは、セミコロンで区切られたカンマ区切りの数値ペアの文字列で、各ペアはパターンヘッダー内のアクションタイプに対応します(例えば F=v,r の場合、各ペアには vibrate と rotate の値が含まれます)。
| キーワード | 内容 | 説明 |
|---|---|---|
| V | 1 | バージョン番号 |
| F | v,r | アクションタイプ:v = vibrate、r = rotate、p = contract |
| S | 100 | 時間間隔(ミリ秒) |