Raspberry Piでゆっくりが予定を教えてくれるシステムを使ってみた

raspberry_pi_Pi_iso_ORIG_01_092314_06582_092314_071239_AMRaspberry Piを使ってGoogleカレンダーの中のその日の予定を、自動で、定期的に音声でゆっくりボイスで話してくれるものを自宅に構築してみました。
動かすことも比較的簡単なので、この面白いシステムを試しに使ってみてはどうでしょうか。

概要

Googleカレンダー内で以下のように予定を設定した場合
スクリーンショット_092314_075426_AM
下のように毎日決まった時間にしゃべって教えてくれます。

yukkuri3実際の音声

※このような形に出力するため若干プログラムの修正をしています。

作られた方

本当は記事のタイトル「作ってみた」にしたかったけど、中身ほとんど同じだからね。仕方ないね。
また、Googleカレンダーの予定をしゃべってくれるもののほかに、ごみの日をゆっくりボイスでしゃべってくれるソースも公開していらっしゃるので、見たら幸せになります。

ゆっくりが今日の予定を教えてくれる – Raspberry Piで作るゆっくり秘書システム | 株式会社インフィニットループ技術ブログゆっくりが今日の予定を教えてくれる – Raspberry Piで作るゆっくり秘書システム | 株式会社インフィニットループ技術ブログ

導入方法

1. 初期セットアップ

Raspberry Piをsshで接続し、IPアドレス固定などはできているという前提で話を進めます。
まだの方はこちらの記事を見てね

Raspberry Pi B+が出たので、買ってみたよ | きまぐれPCライフRaspberry Pi B+が出たので、買ってみたよ | きまぐれPCライフ

2. 導入前の準備

端末からsshで接続する

$ ssh pi@192.168.2.2

初期パスワードはraspberry

phpをインストール。の前に

$ sudo apt-get update
$ sudo apt-get upgrade

をしてから

$ sudo apt-get install php5-cli

途中でyes/noが出るので、yと押してください

ついでにemacsもインストール

$ sudo apt-get install emacs

現在の時刻の確認

$ date

手動での時刻設定

$ sudo date -s "09/22 1:47 2014"

3. ゆっくりボイスの導入

AquesTalk Piをダウンロードします
ダウンロードリンク
Downloadの部分にあり、文章を一番下まで見るとダウンロードができるようになります。
「同意してDownload」を押してください

その後FTPクライアントを使ってRaspberry Piのユーザpiのホームディレクトリにファイルを転送してください。
そして解凍します

$ tar xvfz aquestalkpi-20130827.tar.gz

これでインストールは終わったのでスピーカーにつないで動作を確認してみます。

$ cd aquestalkpi
$ ./AquesTalkPi "ゆっくりしていってね!" | aplay

これでゆっくり話してくれるはずです

4. プログラムの導入

ソースコードの内容

gitをインストールをしてから

$ sudo apt-get install git

cloneします

$ git clone https://github.com/ketaiorg/gcal2txt.git

これでホームディレクトリにgcal2txtができたと思います。

5. カレンダー情報の登録

一旦普通のパソコンに戻り、Googleカレンダーの設定をします。
Googleカレンダーにいき、右上にある歯車マークから①、②・・・と画像のようにクリックしていきます
無題クリップ_092314_095840_AM

スクリーンショット_092314_100020_AMスクリーンショット_092314_100122_AM_092314_111412_AM

スクリーンショット_092314_101337_AM

赤い部分と青い部分をそれぞれコピペして、残しておきます。

Raspberry Piに戻りまして

$ cd
$ cd gcal2txt
$ emacs gcal2txt

emacsで41行目にコピペの内容を貼り付けます。

/**
* 対象カレンダー定義
*/
protected $calendar = array(
array('userid' => '赤い部分をコピペ', 'magiccookie' => '青い部分をコピペ'),
);

C-x, C-sで保存し、C-x, C-cで終了します (CはCtrl)

6. 実行してみる

手順通りにしていれば以下のコマンドで動くはずです。

$ aquestalkpi/AquesTalkPi -s 70 "`gcal2txt/gcal2txt --length 1500`" | aplay

「-s 数値」でスピードを、「-b」で棒読みモードになるので好みのものを設定してください。

7. 定期実行する

cronに登録して、予定を喋れるようにする。
この辺りはよくわかっていないので、原文をそのまま載せておきます。

$ crontab -e
15 8 * * 1-5 aquestalkpi/AquesTalkPi -b -s 80 "`gcal2txt/gcal2txt --length 1500`" | aplay >/dev/null 2>&1

まとめ

どうでしょうか。できましたか?
これを作られた所の説明だけだと、あまり理解していない私からすると若干説明不足で苦労したので、初心者向けに丁寧に書いてみました。
自分で構築したものが動くことは、すごくうれしいので実際に体験してもらいたいものです。
あと、私もよくわかっていない部分があるので、質問はご遠慮ください。

 

関連商品

Raspberry Pi Model B+ (Plus)Raspberry Piクックブック (Make:PROJECTS)

ゆっくりしていってね! キーホルダー

カスタマイズメモ

・カレンダーが1つなら124行目の変数iの部分は消してもいい気がする

・googleカレンダーのURLは語尾をfull?alt=jsonにするとjson形式になるためプラグインを入れてブラウザで見ると、わかりやすい

・件名だけでなく本文を抽出するには、

$msg .= ' ' . $item->content . "\n"; 

とする

Pocket

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。