必要なもの
aibo
やってみる
AIBOデベロッパーズサイトは優しく記載されていたので
こんな記録は必要なさそうだが、今後のために念の為残しておく。
https://developer.aibo.com/jp/docs
まず、AIBOのAPIを操作するには下記の2つが必要の様子
・トークン
・デバイスID
トークンの払い出し
https://developer.aibo.com/jp/token
よりトークンを払い出す
トークンの種類は下記の通り
・24時間
・30日
・90日
今回はお試しなので24時間を選択した
ここで失敗した場合は、WIFIにつながっていないか、
AIBO本体のバージョンが古いと思われる。
※実際、NW環境が悪く、AIBOのバージョンアップが行われてなくて苦労した。
デバイスIDを取得する
操作したいAIBO自体のデバイスIDを取得する。
REQUEST
curl -X GET https://public.api.ices -H "Authorization:Bearer XXXXXXXX"
RESPONSE
{"devices":[{"deviceId":"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX","nickname":"なまえ"}]}
この返却値は必ずメモしておく。
APIを叩いてみる
APIは下記より選択
https://developer.aibo.com/jp/docs
FoundObjectsStatus
- aibo が認識している人やものについて取得します。
を試してみる
先程取得したデバイスIDとトークンを含めてAPIを実行
REQUEST
curl -X POST https://public.api.aibo.com/v1/devices/デバイスID/capabilities/found_objects_status/execute -H "Authorization:Bearer トークン" -d '{}'
RESPONSE
{"executionId":"XXXXXXXXXXXXX","status":"ACCEPTED","result":{}}(base)
ExecuteionIDが返却される。
AIBOのAPIはすべて非同期通信のようなので、この後に結果取得のAPIを実行する必要がある。
数秒待った後、下記を実行
結果取得API
先程実行した結果返されてきたexecutionIdをパラメータに付与し、実行結果を取得するAPIを実行する
REQUEST
curl -X GET https://public.api.aibo.com/v1/executions/XXXXXXXXXXX \
-H "Authorization:Bearer XXXXXXXXXXXXXXX"
RESPONSE
{"executionId":"XXXXXXXXXXXXX","status":"SUCCEEDED","result":{"found_objects_status":[{"name":"person","visible":true,"distance":"middle","direction":"left_front"}]}}
結果が返ってきた。
確かに左前に私がいるので認識しているようだ。
この他のAPIもだいたいこんな手順でいけるようなので他のAPIも試していく。