- 調査・研究
Pepperを活用して快適な職場づくりにチャレンジ (傘忘れ対策)
弊社では、快適な職場環境をつくるための活動を行っています。
この活動への ITを活用した アプローチとして、Pepperで何かできないか検証をしてみました。
今回はPepperと外部のサービスを組み合わせて「帰宅時に傘が必要かを知らせる」アプリが実装できるか試してみたので紹介します。
※ ソフトバンクロボティクスのPepperを活用し弊社が独自に実施しています。
アプリの概要
このアプリは、「帰宅時にビルのエントランスで傘を持っていないことに気付き、オフィスまで取りに戻る」という悔しい経験が何度かあったので作ってみることにしました。
Pepperに触れると1時間以内の気象情報を外部サービスから取得し、雨が降りそうな場合は傘を忘れないようにPepperが知らせてくれるという仕組みです。
気象情報は無料で公開しているAPIを使った取得が一番簡単だと思ったので、無料公開APIを使用しました。無料で公開しているAPIは複数ありますが、今回はYahoo! JAPANデベロッパーネットワークが提供するWEB APIの Yahoo! Open Local Platform (YOLP )から気象情報APIを使うことにしました。
処理の流れは以下のようなイメージです。
開発
※アプリはPepperの開発ツールであるChoregraphe(コレグラフ)で開発。
<Choregraphe>
処理の流れを設定します。天気(はれ・くもり・あめ)によって画面やジェスチャーを変えています。
<気象情報の取得方法(JSONデータ)>
①YOLPのAPIを利用するためにアプリケーションIDを取得
②地点(緯度、経度)を決める ※今回は弊社本社所在地にしました
③以下のように引数を設定し、リクエスト用のURLを作成
coordinates:緯度、経度
appid:アプリケーションID
output:結果を受け取る形式を指定(JSONまたはJSONP)
④リクエスト
上記Choregraphe画面上の赤枠で囲われたpython Scriptボックス内でリクエストを投げます。
⑤取得したJSONデータ
苦労したこと
JSONデータの文字化け
JSONデータをpythonで取得する際に文字化けしてしまいました。requestモジュールを使用して取得したレスポンス(JSONデータ)はpythonの辞書型にデコードすると、ログ出力や必要データの抜き出しが可能になります。
雨がなかなか降らない
晴れの日が続きRainfall(降水量)の値も0.00が続いたので、降雨時の実データ確認に数日間要しました。
今回のようなWeb APIを利用する場合は、その時々でテストに必要な実データのバリエーションが揃えられないことが考えられるため、テスト期間や仕方に工夫が必要になりそうです。
Pepperに触れると、このように傘が必要か知らせてくれます。
(画像をクリックすると拡大します)
今回は天気予報をそのまま発信しただけですが、例えば「取得データを溜めて、朝は雨だけど夕方は晴れの場合も傘を忘れないように知らせる」などデータの使い方次第で機能は広がると思いました。
他のAPIでも実装可能か検証してみたいと思います。