ガチャつくブログ

IT系のお勉強のために、やってみたことをアウトプットしていきます。

MENU

Google Home Mini で遊ぶ - 毎日定時に何ゴミの日か教えて頂く -

f:id:tmt-tty:20200101214326p:plain

はじめに

あけおめ、ことよろ。

ガチャつく野郎2.0(@_tamitom)です。2020年、一発目の記事になります。

 

早速ですが、我が家の家事の分担上、自分はゴミ当番なのです。

最近、ゴミ回収スケジュールの変更があったこともあり、毎朝、「今日何のゴミだっけ...」と市のゴミ回収アプリを開いて調べる事が多くなり、煩わしさを感じています。

また、元々忘れがちな性格なので、そもそも出すのを忘れたり、特にハッピーマンデーなんかは土日の感覚でボケーッとしていると、、妻に「今日ゴミ出した?」とツッコまれ慌てて出すこともしばしば...

妻からも、「Google Home あるんだから毎朝言ってもらえば?活用しなよ」と言われる始末...

ということで、チャチャッと実装して忘れずにゴミだしできるようにしたい。

 

要件は、

「毎朝7:00に今日は何ゴミの日かGoogle Home Mini に教えて頂く」です。

 

結果から先に。こういう感じになります。


Google Home Mini - 何ゴミか通知 -

 

材料

 

ガチャつき方

早速やっていきます。

まずGoogle Home Mini を外部からのトリガーでしゃべれる様にします。

google-home-notifierの実装については、web上に色々記事があるため割愛します。

自分は下記のサイトを参考にさせて頂きました。

qiita.com

 

続いて、ゴミ収集カレンダーの元情報を作成します。

こちらは各自治体のホームページなどに情報があると思います。

自分の自治体では、2020年1月-9月までの情報があったので、これを加工してGoogleスプレッドシートに保存しました。

スクレイピングで取ってくるなど更新があっても自動で取得できれば良いのですが、自分の力量ではできないので、ここは手動更新の予定です...

こんな感じです。

f:id:tmt-tty:20200101202036p:plain

 

作成したデータをRaspberry Pi に持ってきます。

スプレッドシートを公開設定にすれば、下記のコマンドで持ってこれます。

扱い易い様にtsvにして保存します。

curl -s -L -o a.tsv 'https://docs.google.com/spreadsheets/d/[sheet id]/export?format=tsv&gid=0'

 

現在の日時情報(yyyymmdd)から収集対象のゴミを取得し、Google Home Mini に発話させるスクリプトを作成します。

 

gomi_check.sh

#!/bin/sh

a=`date '+%Y%m%d'`
b=`cat a.tsv | grep $a | awk '{print $2}'`
curl -X POST -d "text=今日のゴミは$b" http://localhost:8091/google-home-notifier

 

これを毎朝7時に実行させるためcronに登録します。

crontab -e
0 7 * * * /home/pi/gomi_check.sh

 

完成!!!


Google Home Mini - 何ゴミか通知 -

 

おわりに 

これで忘れずにゴミ出しできるかなぁ...

そもそもこれだと7時にGoogle Home Miniの前にいること必須なので、同時にLINEへの通知とかも必要かも。

後は、聞きたいタイミングで答えて欲しい時もあるので、Amazon Dash Buttonを押したら答えてくれるとかも実装しようかな。