前回は、UnityとOculusRift(以下:Ocules)との連携についてご紹介しました。
今回は、Pepperで任意の画像を取得して、端末内に保存する方法についてご紹介します。
以前の記事で、データベースファイルをhttpプロトコルでダウンロードして、そこからユーザデータを検索する方法をご紹介しました。
同じ方法を使えば、画像データや音声データもダウンロードすることが出来ます。
今回は、Pepperに検索キーワードを伝えると、Yahooの検索エンジンを利用して、その単語で一番最初にヒットした画像を保存してくれるプログラムを作成します。
■今回実現するアプリケーション
1)検索する単語をPepperに伝えます
2)Yahooの検索エンジンを使って、1)の単語で画像検索を試みます
3)一番最初にヒットした画像を、Pepperの端末内に保存します
■プログラム
画像ファイルをhttp経由でダウンロードすること以外は、以前の記事と同様ですので、プロジェクトの構成も同じです。

図1 今回作成したプロジェクト
上図の「InternetConnection」を、Yahooの検索エンジンを用いて画像をダウンロードする部品に変更します。
import socket
import time
import urllib2
import sys, urllib
import os.path
class MyClass(GeneratedClass):
…中略…
def onInput_inputVoice(self, inputData):
#Yahoo検索エンジンを使って画像検索を試みます
inputURLData = “http://image.search.yahoo.co.jp/search?ei=UTF-8&fr=top_ga1_sa&p=” + inputData
#検索した結果(HTMLデータ)を文字列として読み込みます
receiveData = str(urllib.urlopen(inputURLData).read())
#検索した結果を、
図2 プログラムを実行

図3 処理が正常に終了しました

図4 /tmpフォルダ配下に、「savefile.png」が保存されています
■まとめ
以上で、Pepperで画像ファイルをダウンロードする方法は終了です。
最後までご覧頂き、ありがとうございました。
弊社では全国各地の請負い(ご自宅)で作業協力頂ける、フリーランスエンジニアの方を常時探しております。
ご興味ある方は、お気軽にお問い合わせ下さい。