はじめに
あけおめ、ことよろ。
ガチャつく野郎2.0(@_tamitom)です。2020年、一発目の記事になります。
早速ですが、我が家の家事の分担上、自分はゴミ当番なのです。
最近、ゴミ回収スケジュールの変更があったこともあり、毎朝、「今日何のゴミだっけ...」と市のゴミ回収アプリを開いて調べる事が多くなり、煩わしさを感じています。
また、元々忘れがちな性格なので、そもそも出すのを忘れたり、特にハッピーマンデーなんかは土日の感覚でボケーッとしていると、、妻に「今日ゴミ出した?」とツッコまれ慌てて出すこともしばしば...
妻からも、「Google Home あるんだから毎朝言ってもらえば?活用しなよ」と言われる始末...
ということで、チャチャッと実装して忘れずにゴミだしできるようにしたい。
要件は、
「毎朝7:00に今日は何ゴミの日かGoogle Home Mini に教えて頂く」です。
結果から先に。こういう感じになります。
材料
- Google Home Mini
毎朝通知してもらいます。
store.google.com - Raspberry Pi
Google Home Mini を外部からのトリガーでしゃべらせるプログラムを動かす環境として必要です。具体的にはgoogle-home-notifierを使用します。自分はRaspberry Pi Zero WH で構築します。
ガチャつき方
早速やっていきます。
まずGoogle Home Mini を外部からのトリガーでしゃべれる様にします。
google-home-notifierの実装については、web上に色々記事があるため割愛します。
自分は下記のサイトを参考にさせて頂きました。
続いて、ゴミ収集カレンダーの元情報を作成します。
こちらは各自治体のホームページなどに情報があると思います。
自分の自治体では、2020年1月-9月までの情報があったので、これを加工してGoogleスプレッドシートに保存しました。
スクレイピングで取ってくるなど更新があっても自動で取得できれば良いのですが、自分の力量ではできないので、ここは手動更新の予定です...
こんな感じです。
作成したデータをRaspberry Pi に持ってきます。
スプレッドシートを公開設定にすれば、下記のコマンドで持ってこれます。
扱い易い様にtsvにして保存します。
現在の日時情報(yyyymmdd)から収集対象のゴミを取得し、Google Home Mini に発話させるスクリプトを作成します。
gomi_check.sh
これを毎朝7時に実行させるためcronに登録します。
完成!!!
おわりに
これで忘れずにゴミ出しできるかなぁ...
そもそもこれだと7時にGoogle Home Miniの前にいること必須なので、同時にLINEへの通知とかも必要かも。
後は、聞きたいタイミングで答えて欲しい時もあるので、Amazon Dash Buttonを押したら答えてくれるとかも実装しようかな。
〆