食洗機かけ終わったかわからなくなる問題を RaspberryPI + BlueButton + LINE Notify + Google Home で解決した話
概要
食洗機かけ終わったかどうかわからなくなる問題が我が家で多発していました。
それを RaspberryPI + BluetButton + LINE Notify + Google Home で解決した話です。
食洗機かけ終わったかどうかわからなくなる問題が我が家で多発していました。
それを RaspberryPI + BluetButton + LINE Notify + Google Home で解決した話です。
Raspi3 に docker-compose で Prometheus による監視機構を作成しました。
1 | raspi%$ wget -qO- https://get.docker.com/ | sh |
1 | raspi%$ sudo apt-get update |
1 | raspi%$ docker-compose --version |
1 | raspi%$ cd ~ |
1 | .htpasswd 作成時のユーザ/パス == GF_SECURITY_ADMIN_USER/GF_SECURITY_ADMIN_PASSWORD |
である必要があります。
Grafana の認証機能により設定した Basic 認証でログインできる仕組みがあり、
一致しない場合、ログインできず、失敗します。
1 | GF_SECURITY_ADMIN_USER=admin-user |
1 | raspi%$ htpasswd -c nginx/conf/conf.d/.htpasswd admin-user |
Raspi の温度や電圧を定期取得し Prometheus に読み込ませるファイル(*.prom)作成します。
1 | */5 * * * * <home/to/path>/vagrant-docker/docker/prometheus-grafana-on-raspi3/node-exporter/collector/raspi.sh |
1 | raspi%$ docker-compose up -d |
http://<your_server_ip>:13000
にアクセスすると .htpasswd で指定したユーザ/パスを求められるので入力します
その後、Grafana のページが表示されれば成功です。
「Add data Source」をクリックします。
以下の様に設定し「Save & Test」をクリックしし Success することを確認します。
左上のアイコンから Dashboards > Import 選択し DockerDashboard.json をインポートします。
nginx/conf/conf.d/default.conf
1 | server { |
以下の点で非常にハマりました。
nginx の proxy 機能で grafana に繋げても 以下の様に表示されてしまうケースにぶつかりまくりました。
1 | {{alert.title}} |
イメージ探しについ時間取ってしまいましたが
自作した方が早かったかもと反省。
今回は自身を監視するという仕組みにしましたが外部から監視し相互に監視し合う体制が必要です。
家庭内稟議が通ればもう一台 get しよう!
そして、家庭の為になるものを作ろう!
Amazon Prime 会員の無料体験版で
Raspberry Pi 3 B 買いました♪
開発 Ready な状態を作るべく
そのセットアップ方法をまとめました。
以下最低限必要なものです。
計 8,459円
電源はPCのUSBポートからでも良いかな、と思ってましたが
Pi3Bの推奨電流が 2.5 A となった為、2.5 A 対応電源が必要になりました。
その他
大体持ち合わせてるのでは、と思います。
会社のゴミ山に捨ててあるのではないでしょうか。
その他含めても 10,378円。こりゃやるっきゃない。
早速セットアップ手順へ
以下サイトからSDカードフォーマッターアプリをダウンロードしフォーマットします。
Macであれば for Mac
を選択し
同意してダウンロードします。
フォーマットするSDカードがどれか知る必要がある為、
SDカードを差し込む前にターミナルから以下実行
1 | df -h |
※MacBook AirではSDカード差し込み口がないのでカードリーダで読込みます。
もう一度 df -h
すると
新たに追加されたのが SDカード のファイルシステムです。
※ 自分は名前を「RASP3B」としました。
もう一度 df -h
ディスクイメージ名が変更されているのがわかります。
以上でSDカードフォーマット完了です。
オフィシャルサイトから最新 Raspbian OS をインストールします。
数分掛かります。
1 | cd ~/Downloads |
先ほど確認した ファイルシステム名 /dev/disk2s1
から s1
を取り除いた、
イメージ対象をアンマウントする
1 | diskutil umountDisk /dev/disk2 |
1 | sudo dd if=/Users/<User>/Downloads/2016-05-27-raspbian-jessie.img of=/dev/rdisk2 bs=1m |
disk2
に r
を頭に足すとアンバッファモードで実行し速度アップします。257 秒かかった 汗
以上で Raspberry Pi に挿す SDカード が作成できました。
1 | $ diskutil eject /dev/disk2 |
全て接続し終わるまでRaspberry Pi に電流を流さないでください。
全てが深く刺さっているのを確認した後
いよいよ電源を電源アダプタに接続します。
ついた!
なにやら読み込みが始まった!
※我が家はテレビがディスプレイ代わりです。
おぉ〜GUIのトップ画面がでてきた!
まず成功♪
System
タブの Expand Filesystem
ボタンクリック以上でSDカードの全容量を利用可能になります。
Localisation
タブの Set Locale
ボタンをクリックします。Language
: ja (Japanese) 選択Country
: JP (Japan) 選択Character Set
: UTF-8 選択上記選択し OK
ボタンクリック
Localisation
タブ > Set Timezone
ボタン クリック再度 Set Timezone
ボタンをクリックすると Asia/Tokyo が選択されています。
Localisation
タブの Set Keyboard
ボタンをクリック
Country
: Japan
選択
Variant
: Japanese
選択
以上選択しOK
ボタンクリック
1 | ifconfig |
1 | [MacOSX local]$ ssh pi@192.168.xxx.xxx |
SSH ログインが確認できました!
あとあと気づいたのだけど
わざわざ画面をiPhoneで撮影せずとも
Remote Desktop して綺麗なものを取ればよかった。。
ということで
SSH ついでに Remote Desktop 機能を要する tightvncserver インストール
1 | $ sudo apt-get install tightvncserver |
1 | vnc://raspberrypi.local:5901 |
インターネットに接続されているのがわかります。
ただし
日本語がもれなく豆腐。。
Zabbix でも以前日本語フォントがなくて同様の事象がありました。。
日本語フォントをインストールする必要があります。
1 | sudo apt-get update |
日本語 - Mozc
選択以上でセットアップ完了です。
ご清聴ありがとうございました。