読者です 読者をやめる 読者になる 読者になる

出かける前に予定とかを教えてくれるシステムを作った話

Ubuntu ROS Python API Linux PC プログラミング 技術

この記事はお家ハックAdvent Calendar 2014の17日目の記事です。

今回は朝の外出前に予定とか天気とか携行品を通知してくれるシステムを作った話です。(実は今年の8月ぐらいに作ったというのは内緒)

コンセプト

忙しい現代人は朝ゆっくりする時間が無い人が多い*1
僕も朝は決まってドタバタしてる。しかも急いで色々準備するもんだから忘れ物などをよくする。*2
忘れ物は人によっては結構深刻な問題に発展しかねない。
そういう失敗を起こさないための予防策として、外出前に今日の携行品とか予定を確認できる様なシステムがあればすごく嬉しいなーと思い、そういうサポートをしてくれるシステムを作りました。

概要

前提

朝の行動として以下の行動が考えられる

  • 起床
  • 洗顔など
  • 朝食
  • 気象情報確認
  • 気象情報に基づいた着替え
  • 予定確認
  • 携行品準備
  • 消灯
  • 外出

上記のうち太字の行動に何らかのサポートを行う事で外出前に効率的かつ失敗の少ない行動を行うことが出来ると考えました。

システムについて

必要要件
  • 当日の予定をメール通知
  • 持ち物を音声で通知
  • 天候情報を音声で通知
  • 消灯機構

以上を行う

システム概略図

基本はPCとUSBカメラとマイクとスピーカーがあれば出来る様にしたいと考え下図のようにした。(ちょっとわかりにくいけど・・・)
f:id:i-hako:20141217222005p:plain
天気情報や予定、持ち物などを各種APIを使用してウェブから取得してくる。
また、ユーザインターフェースとして音声を用いることにした。
音声UIとしてrospeexというクラウド音声合成サービスを使用した。*3

動作概要

システムの動作の概要は下図の通り
f:id:i-hako:20141217230615p:plain

  • 事前作業として、ユーザはgoogleカレンダーに事前に予定と必要物品を登録しておく。
  • ユーザが音声で予定を尋ねると、それを認識しgoogleカレンダーに予め登録されている予定を読みだしてメールで送信する。
  • 更にその後ユーザが外出準備に取り掛かり、携行品を準備しようとすると、動体を検出してその日必要な携行品を音声で通知してくれる。
  • また、外出直前に天気などを尋ねると、yahoo! weatherから天気情報を取得してその日の天候について教えてくれる。
  • 最後に、「電気を消して」と言うと電気を消す。

という感じです。


まとめ

感想

実際にやった場所は研究室だったので、厳密な意味でのお家ハックかと言われるとちょっとあれな感じはあるけれど*4、カメラとスピーカーとマイクがあれば好きな所で必要な情報をサポートしてくれるので、割りと便利かも知れない。
むしろ頼りすぎて余計に物忘れが激しくなりそうな感じはある。
一番きつかったのは各状態の制御をrosmessageでやってるので、ちょっと同期などが難しかった感じがあります。
(ROSについてはググってください。僕はあまり説明出来ません…(申し訳ない))

今後について

結局リマインダーの強化版みたいな感じで、事前にgoogleカレンダーに手動で予定や必要物品を登録しなきゃいけないのでもうちょっと賢い感じで予定とか立ててくれると嬉しいなーとか…

*1:早起きすればいいとかそういう話もあるけど…

*2:予定をすっぽかす事も有ります

*3:画像はhttp://rospeex.org/top-ja/より拝借

*4:まぁでもほとんど住んでるも同然だし良いよね!!!!!