自動化厨のプログラミングメモブログ │ CODE:LIFE

Python/ExcelVBA/JavaScript/Raspberry Piなどで色んなことを自動化

自宅で開発・導入しているIoT機器や機能を晒してみる

多分生まれつきとにかく楽をしたい気持ちが強いが、GoogleアシスタントとAlexaなどの音声アシスタント、超小型の低消費電力コンピュータのRaspberry Pi、便利なIoTデバイスの登場がそれに拍車をかけた。

もしかしたら誰かの参考になるかもしれないので晒してみる。


 

自動でSlackへ通知→GoogleHomeで読み上げ

f:id:maru0014:20200912122630p:plain
Google Homeを喋らせる

仕組み

  1. SlackのGoogleHomeチャンネルにメッセージ投稿
  2. Slackの発信Webフックからngrok経由でRaspberry PiへメッセージをPOST
  3. Raspberry Pi 上で稼働しているPythonプログラムで受信
  4. VOICETEXT API を利用して音声データに変換
  5. 自宅のGoogleHome全てにクロームキャストして音声を再生

 

お父さんが会社から出たらSlackへ通知→GoogleHomeで読み上げ

導入背景 帰るときは連絡してよ と言われるが面倒だし忘れると更に面倒。

動作概要 IFTTTアプリの機能でGPSの座標が指定範囲外に出たとき をトリガーにして SlackのGoogleHomeチャンネルに「お父さんが会社を出ました」と投稿。

現状

使ってません。特定の会社で働く場合は使えるけど、現状は1日に色んな場所へ移動するのでそれが移動なのか帰り路なのかが判別できず無駄な通知が飛びすぎました。

通知を飛ばす条件に時間の範囲も追加すればいいかもしれませんが、IFTTT単体ではそこまでできず面倒なので保留としています。

 

お父さんが自宅の半径100m以内に入ったらSlackへ通知→GoogleHomeで読み上げ

IFTTTからSlackへメッセージを投稿させています。

こっちはさっきのと逆で指定範囲内に入った場合の通知。これなら確実に帰る直前の通知になります。ただ、数分前に通知したところでなんか意味あんのかという疑問はある。


 

Slackへ定時投稿→GoogleHomeで読み上げ

f:id:maru0014:20200912122706p:plain

IFTTT からSlackへメッセージを投稿させています。

これは半分子ども用。お昼は幼稚園だから設定してないけど長期休み中は12時も設定しておこうかな。

  • 07:00に今日の天気と服装指数を通知
  • 07:15に燃えるゴミの日を通知
  • 15:00におやつの時間を通知
  • 18:00に晩御飯の時間を通知
  • 19:30にお風呂の時間を通知
  • 20:15にお休みの時間を通知

 


スマートロック

Candee HOUSE の SESAME スマートロックを利用しています。

本体 14,800円、出先からも操作・ログ受信したい場合はWi-Fiモジュールとセットで19,800円。

f:id:maru0014:20200912122720p:plain

  • スマホアプリから解錠・施錠
  • 解錠・施錠されたらスマホに通知
  • 第三者への鍵データ一時貸与(使ったこと無いけどゲストハウスとかで重宝されているらしい)

もう導入して2年が経つが何も不満がない。電池もちが心配でしたが余裕で1年半くらいは持ちそう。(心配性なので1年経過後に残量が50%切った段階で電池交換しちゃいました)

 


Googleアシスタントコマンド

f:id:maru0014:20200912122748p:plain

  • ショッピングリストに $ を追加
    • ToDoリストみたいな買い物リスト 地味に便利
  • お父さん $
    • お父さんにメンションしてSlackメッセージを送信
  • お母さん $
    • お母さんにメンションしてSlackメッセージを送信
  • LINE $
    • LINEbotとして家族グループにメッセージを送信(Slackが定着しているので最近は使ってない)
  • 室温
    • GASでスマート家電コントローラーから定期的に取得している各部屋の温度、湿度をSlackへ通知→GoogleHomeで読み上げ
  • おはよう(Alexaも対応)
    • 全部屋の照明をオン
    • 今日の天気を通知
    • 今日の予定を通知
  • おやすみ(Alexaも対応)
    • 全部屋の照明をオフ
  • いってきます(Alexaも対応)
    • 全部屋の照明をオフ
    • テレビをオフ
  • PCスリープ
    • 自宅のPCをIFTTT→Pushbullet→EventGhost経由でスリープモードにする
  • スリープ解除
    • 自宅のPCをIFTTT→Slack→Raspberry Pi経由でマジックパケットを送る

 


ペアレンタルコントロール

f:id:maru0014:20200912122758p:plain

主にYoutube見すぎ問題対策。LINEモバイルなら1GBで550円(i-filter付き)で子供に丁度いい。

TeamViewerで遠隔操作も可能にしておけば強制的にLINE通話に応答させたりできる。

Googleファミリーリンク

  • 端末利用制限
  • アプリ利用制限
  • 位置情報確認
  • 利用状況確認
  • リモートロック
  • リモートワイプ

i-filter(LINEモバイルのおまけ)

  • コンテンツフィルタリング
  • 利用状況集計・分析
  • めちゃ細かい設定しないならファミリーリンクで十だと思う

TeamViewer

  • 親スマホから子ども用スマホを遠隔操作

 


 

Raspberry Pi で作っている省電力サーバたち

f:id:maru0014:20200912122812p:plain

  • NASPi...ラズパイで作ったNAS
  • PiVPN...ラズパイで作ったVPNサーバ
  • おもちゃ...色々やるおもちゃサーバ
    • Slackの投稿内容を音声APIでmp3化してGoogleHomeにキャストするやつ(Python)
    • Slackから受け取ったコマンドでマジックパケットを送信するやつ(Python)

 


スマート家電コントローラー(アプリ、Googleアシスタント、Alexaから操作可能)

ラトックシステム スマート家電リモコン を利用。スマート家電は高いのでスマートリモコン買った方がいい。1個 6,836円 を2個。最新機種のRS-WFIREX4なら赤外線の届く距離が長いので各部屋に1個もいらない。

  • テレビ
  • エアコン
  • 照明✕3
  • サーキュレーター
  • 空気清浄機

各家電の注意事項として、リモコンの電源ON/OFFが別れているものにする必要がある。

安い照明器具だと1ボタンだけでON/OFFになっているため赤外線信号が1パターンのみ。つまり、OFFにしたつもりがONになったり、ONにしたつもりがOFFになってしまい相当イライラする。

 


GAS、スプレッドシート

f:id:maru0014:20200912122929p:plain

  • スマート家電コントローラーで取得した各部屋の温度、湿度を定期的にスプレッドシートへ記録しておく、音声コマンド「室温」をトリガーにSlackへ通知もする
  • 幼稚園からのメールを検知したらSlackへ通知→GoogleHomeで読み上げ
    • イベントごとなどは当日の朝メールで通知が来るようなこともあるので、バタバタしているときでも読み上げてくれるとすごく助かる。

今後作りたいもの

スマートすだれ

  • ベランダの洗濯物が濡れないように雨を検知したら自動で降りる というコンセプト
  • 材料調達、ベランダでの電源確保やモータ制御が面倒でやってない

スマートエスプレッソマシン

  • やりたいよ、やりたいんだけどね
  • キッチン周りの機器はメンテナンスが大変なのを知っているので踏ん切りがつかない