Index
Purchase History
先日紹介したネタ帳の中でゴミの日を知るのと購買履歴を作るのうちゴミの日を知るってやつはPDF解析がうまくいかないので購買履歴の方を挑戦してみた。
How do I make
前回も書いたが生活用品が切れたときや続刊中のマンガを何巻まで購入したかGoogle Home mini(Nest mini)にそれを伝えればDBに保存しておく。
それをあとからWebアプリで確認できるようにした。
Construction
さて、どんな仕組みかを軽く紹介。
graph TD
ss[Google Home mini]
srv1(IFTTT)
gs(Google Sheets)
js1((check.js))
db((Database))
js2((www.js))
pc[Smartphone]
pc-->|1.say phrase|ss
ss-->|2.query phrase|srv1
srv1-->|3.update sheet|gs
js1-->|4.request cells|gs
gs-->|5.response cells|js1
js1-->|6.insert records|db
js2-->|8.request recordset|db
db-->|9.response recordset|js2
pc-->|7.request page|js2
js2-->|10.response page|pc
style ss fill:#eee
style srv1 color:#eee,fill:#666
style gs fill:#4f4
style js1 fill:#ddd,color:#373
style db fill:#e83,color:#333
style js2 fill:#ddd,color:#373
style pc fill:#7ee
linkStyle 0 stroke:#666
linkStyle 1 stroke:#666
linkStyle 2 stroke:#666
linkStyle 3 stroke:#666
linkStyle 4 stroke:#666
linkStyle 5 stroke:#666
linkStyle 6 stroke:#666
linkStyle 7 stroke:#666
linkStyle 8 stroke:#666
linkStyle 9 stroke:#666
linkStyle 0 stroke:#666
こんな感じ。
Google Homeに「切れちゃったよ キッチンペーパー」と言えば「買い物リストにキッチンペーパーを追加します」と返してくれてGoogleスプレッドシート(GS)に追加していく。
また、同様に「本棚にはワンピース95巻まである」と言えば「買い物リストにワンピース95巻を追加します」と返してくれる。GSにももちろん追加。
んで、定期的にGSをチェックするスクリプトを用意して、GSからセルを引っこ抜き解析しDBに突っ込む。
そのDBのテーブルをスマホでWebページとして見せると。
購入したら削除フラグを立てて非表示にしておこうかな。
what is different from Google ShoppingList?
うーん、Googleショッピングリストとの差別化としては、生活用品が切らしたことを直接Google Homeに伝えられることと、続刊中の漫画を何巻まで購入しているか分かること。
大した差別化にはなってないけど、私にとってはだいぶ便利だとは思う。
Coding
ま、大したコーディングはしていない。
Webアプリの構築とGSのチェックするところだけ。
あとはIFTTTとのインタフェースぐらいか。
今回はソースは割愛しようかな。
気が向いたらアップしようかな。
Experience
かなり便利。気軽にカジュアルに使えるし
思いついたらすぐGoogle Homeに伝えればよいし。
この習慣が身についたら、スーパーで考え込まなくてもよい。