LoginSignup
3
0

More than 3 years have passed since last update.

Aibo プログラミング

Posted at

必要なもの

 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も試していく。

3
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0