【未完】シャープ製お掃除ロボット(cocorobo RX-V200)のAPIを叩く

ココロボは優秀な家庭用ロボだと公言しつつ、公式アプリからしか制御できないのでハックし甲斐がねえなと思って早幾年。8月26日にシャープから開発者向けAPIが公開されました。これ公開するまでに色々あったんだろうなあ(社内調整が)。

一個問題があってうまく動かせてないですが、備忘録的にAPIの叩き方を記録します。

APIの概要

今回公開されたAPIはWebAPIとアプリAPIの二種で、それぞれできることが違います。

  • WebAPI

    • 認証
    • 音声発話
  • アプリAPI

    • 機器制御
    • 機器情報の取得

何をやるにしてもWebAPIの認証をかける必要がありますが、そこでこけているのでこの記事は未完です。単なる作業記録。 ちょっと残念なのが、機器制御や情報取得がアプリAPIAndroid APK)の使用を前提としていること。機器制御に関しては法的な問題があるかも…と思う節もあるけれど、ココロボの情報取得だけだったら問題ないんじゃねえのかな。

ココロボは温度・湿度、電池残量、衝突回数などを取得しているので、そのデータをWebAPI経由で取れたら良いと思うんです。公開しない理由が良く分からない(APIのメイン開発者が辞めたとかだったらしゃーないけど)

WebAPIの叩き方

公式サイトのリファレンスにはサンプルコードがありますが、JavaPHPのサンプルだけでした。両方そんなに使ったことないので、UNIX系で汎用的につかえるcurlAPIを叩きます。

curlMac OSLinux系なら大概デフォルトで入ってます。今回はRaspberry Pi(Rasbian)使いました。

curl -H "Content-type: application/json" -d '{"apikey_cocorobo":"XXXXXXXXXXXXXXXXXX", "message":"ほげほげ"}' 'https://developer.cloudlabs.sharp.co.jp/cloudlabs-api/cocorobo/auth' 

JSONで投げます。apikey_cocoroboの部分は開発者登録をした際に割り振られるキーです。

POSTで渡せと書いてますが、-dオプションがデフォルトでPOSTなのでこれで大丈夫。なんだけど。。

{"resultCode":"1","errorCode":"E010106","message":"Registertd MAC Address:XXXXXXXXXXXXX different with COCOROBO MAC Address."}

なんかMACアドレスが違うらしい。というわけで一旦ここまで。シャープに問い合わせて回答もらえ次第つぎの作業に移ります。せっかく勉強しているのでPythonで制御したいなー。

https://developer.cloudlabs.sharp.co.jp/clabsapi-web/developer.cloudlabs.sharp.co.jp

スターフライヤーでの子連れ移動が快適だった

盆の帰省移動にスターフライヤーを使ってなかなか快適だったので記録しておきます。

簡単にまとめると。

  • 赤ちゃん用ベッドが良い
  • 機内テレビ放送が良い
  • 空き時間の作業が捗る

一番最後は個人的にスターフライヤーの好きなところで娘は全然関係ないです。

続きを読む

Windowsのキャプチャーソフト「Snipping Tool」を使うと生産性が爆上がりする

最近ドキュメントを作ることが多いんだけど、文章だけだとわかりにくいので、スクリーンキャプチャを撮って貼り付けたいことが多々。2年前まではWindowsのスクリーンキャプチャー機能(Fn+PrtSc)を使ってたんですが、会社がWindows7になってからは専ら「Snipping Tool」を使うようになりました。

f:id:kazutaka83:20150801183209p:plain

↑これ。とても便利。

矩形キャプチャ、選択範囲キャプチャくらいしかできないかとたかくくってたら時間遅延でのキャプチャという素敵な機能があったのでまとめます。

続きを読む

Raspberry Pi2にWindows 10 IoT Coreをインストールする

7月29日にWindows10がリリースされました。Windows 10はPC・タブレットで使用するOSですが、並行でWindows 10 IoT Coreというものが出ていて、Raspberry Pi2やインテルGalileoMinnowBoard MAXにインストールしてセンサーやLED等を制御することができます。

小型機器向け軽量OSというカテゴリなんやろか。

f:id:kazutaka83:20150731232107j:plain 公式サイトはここ

インストールして動かすとこまでやったので忘備録を残します。 なんに使うかまだ考えてないので、動かしながらできることを考えつつ別記事で書いていく感じです。

続きを読む

Twitterで見かけたナスマリネを作った

インターネットに転がっているレシピは大概微妙。でも時々宝が隠れている。

これは宝の可能性が大だぜいと感じたので、実際に作りました。結論から言うと宝です。ナスと油は大正義。

準備するもの

最低限以下のものが必要です。

  • ナス
  • にんにく
  • オリーブオイル
  • 醤油

これに加えて

  • 輪切り唐辛子
  • ビアー

があるとなお良さげ。

事前準備

ナスは軽く水洗いしてアク抜きをします。今回ナスは輪切り。

f:id:kazutaka83:20150628184452j:plain f:id:kazutaka83:20150628184712j:plain

ひゃっはー!後は10分ほど水に浸す。 f:id:kazutaka83:20150628184831j:plain

浸してる間が暇なので、この間を使ってにんにくスライスを作成。薄めに切った方が良い気がしたので透ける程度に薄く切りました。

これを f:id:kazutaka83:20150628185004j:plain こう f:id:kazutaka83:20150628185240j:plain 後は醤油と酢を1対1で適当に混ぜる。ナス3本使って醤油50ml、酢50mlで作ってみた。んでこの手順でマリネ液を作ったときに輪切りの唐辛子を加えました。不味くなるわけがねえ。

焼きます

ナスを焼きます。油を吸わせれば吸わせるほどナスは上手くなります。これは自然の摂理です。 f:id:kazutaka83:20150628190535j:plain 軽い揚げ物を作る気持ちでオリーブオイルを熱したところ。 f:id:kazutaka83:20150628190753j:plain ナスの水切りが甘くて大惨事を引き起こしたところ。バッチバチ油が跳ねた。 f:id:kazutaka83:20150628190953j:plain 適度に焼き目がついたら先ほど作ったマリネ液に叩き込み。マリネ液に漬けたところは写真を撮り忘れた。

完成

f:id:kazutaka83:20150628192226j:plain

人類は油が大好きということを思い起こさせてくれる一品。油、ニンニク、そして熱したナスの甘み。後味はナス。これはとても良い。

f:id:kazutaka83:20150628192245j:plain

しかしビールがあった方が良いのは間違い無し。今回は西友で買ったバスペールエール。これも朝日ビール傘下になってたのね。

www.asahibeer.co.jp

「無限にビールが飲める」は言い過ぎやろと思ってましたが、実際無限にビール飲める勢いです。サイコー!

Windows環境でpsycopg2を導入する

作業メモです。

膨大な正規化されていないデータを取り扱う場合、まずデータの中身を確認しに行く必要があります。地理空間情報を扱っている手前、一般的なテキストデータ(CSVとかtxtなど)だけでなく、shapeファイルという摩訶不思議なフォーマットを扱わなければなりません。

んで、これバイナリファイルなのでそのままだと見えない。仕方ないからPostgreSQLに叩き込んで、pandasのデータフレーム使って便利に解析しようという寸法です。

こけた

Windows環境は魔窟。

動作環境はPython3。Python3をインストールするとpip環境自動で入るっぽいので、pip使ってインストール楽勝だぜと思ってたけど、エラーが出てどうにもならなかった。

error: Unable to find vcvarsall.bat

エラーメッセージ中にはVisual C++ 10が必要とか色々あり、こことかここを見ながら対処してみたものの出来ず。

対処法

pipを使わずpsycopgのホームページからexeダウンロードして実行で解決します。

http://www.stickpeople.com/projects/python/win-psycopg/

WindowsPythonの開発環境を整えるときは落ちてるインストーラ使うのが鉄板。納得いかないけど。


スポンサード リンク