前回、karotzがなかなか使えない子なことがわかりました。
ぼくらの家にkarotzがやってきた | Futurismo
そこで、調教します!ヽ(`Д´)ノ
karotz API を利用
karotzを操作するためのAPIが提供されています。これを利用すると、
- 耳を動かす
- きく
- はなす
- 光る
- 見る(WebCam)
などなど、いろんなことを指示できるみたい。
REST,JavaScriptがAPIとして用意されている。詳しくは以下。
どっちのAPIも使いこなせそうになかったが、APIをrubyでラッパーしたgemを見つけたので、今回はRubyを利用してkarotzを操作することにした。
とりあえず、Hello Worldさせてみた
まず初めの一歩はHello Worldからと決まっているので、こんにちはを喋らせた。
以下の記事を参考に使ってみる。
Karotz + Ruby = Love | ☠ nofail
Interactive Keyの取得方法
karotzを操作するためには、Interactive Keyという番号が必要。これは操作するたびに取得が必要。(15分のみ有効らしい)Ineractive keyの取得のためには、以下の3つの情報が必要。
- API Key
- Security Key
- Install Key
以下のページをサイトに設定する。
Key取得方法
-
サイトにアクセスして右上のLabを選択する。
-
Resister an applicationを選択
-
アプリケーションを登録するための情報を入れてSave。適当に埋めれば良いが、Application Nameだけ、あとから変更ができないため注意すること!
- API KeyとSecurity Keyが画面に表示されるので、メモする。
-
Update Codeを選択して、zip形式に圧縮したdescriptor.xmlをアップロードする。このdescriptor.xmlがアプリの基本情報のようなもの。メモ帳かなんかに作成して、圧縮すればよい。詳しい意味は、公式Docを。
<descriptor> <version>0.0.1</version> <accesses> <access>tts</access> <access>ears</access> <access>led</access> <access>multimedia</access> </accesses> <deployment>external</deployment> <parameters> <parameter key="showInstallUuid" value="true"/> </parameters> </descriptor>
- Make Privateを選択して非公開に。
- Test!を選択。画面が遷移して、InstallIDが表示される。メモする。
Rubyスクリプトの作成
Ruby gemを取得。
gem install karotz
スクリプトはこんな感じ。
require 'karotz'
Karotz::Configuration.configure do |config|
config.install_id = '**********************'
config.api_key = '**********************'
config.secret = '**********************'
end
Karotz::Client.session do |karotz|
karotz.ears
karotz.led
karotz.say
end
動作させると、耳を回して、testと話す。
しかし、test!としか喋れないことが発覚!Σ(゚Д゚ )
しかたがないので、githubからソースをcloneしていじることにした。それにしても、ライセンスはビールをおごることらしい(THE BEER-WARE LICENSE)。さすがはドイツ人。
git clone https://github.com/phoet/karotz.git
これで、指定した言葉を喋れるようになった。CygwinでRubyを動作させると、実行速度に難点が。。。