前回の投稿から結構経っちゃいましたけど気にせず行きます。
家族で共有する(といっても夫婦間)Googleアカウントを一つ作成して、そのカレンダーに予定を登録することでスケジュール共有をすることにしました。
このままでもスマホで確認ができますが、目につくところにモニターを壁掛けにすれば効果3倍増しです(我が家比)
ちなみに、前回の投稿はこちら。
我が家のIOTもどき1号 家族共有カレンダー | ABBM INDOOR
もくじ
ざっくりいうと
RaspberryPiを壁掛けにしたモニターの後ろに忍ばせて常時つけっぱなしにします。
RaspberryPiはデフォルトでオートログインなので自動でGoogleカレンダーを立ち上げれば目的は達成です。ただし標準のブラウザではうまく表示できないので、ひと工夫します。
ほかに、設定しておいた時間になるとモニターの電源を落とし、朝には自動的に復旧するようにしたり、こまごまとしたこともやります。
なお、RaspberryPiの調達やインストール、初期設定などは割愛します。
RaspberryPi標準ブラウザでGoogleカレンダーが正常に表示されない
なにこれモバイル用?
標準ブラウザがChromiumなので、Googleカレンダーを自動で開くようにすればOKじゃーんなんて思っていましたが・・・
なんじゃこりゃー(;’∀’)
どういうわけか、ガラケー用っぽい表示になってしまいます。こいつぁひどい。
ブラウザのユーザーエージェントがMozilla/5.0 (X11; Linux armv7)になっているからだとかなんとか見かけました(記憶が曖昧)
まぁ、ここでユーザーエージェント書き換えとかやってもよかったんですが、なんか面倒。
というわけで別の方法。
Chromeアプリだとなぜかイケる
ChromeアプリといってもGoogle謹製のGoogleアプリではないですよ。
これです。
Windowed Calendar for Google Calendar
なぜかこれを使うとx86機などのブラウザで開いた時と同じ表示になります。というわけでサクッと入れちゃいます。
ただし、なぜかRaspberryPiを最新にアップデートしちゃうと使えません。
なぜか最新にアップデートするとこんなんなっちゃいます。
そのくせ、普通にChromiumで開くと相変わらずモバイル用の表示なので参っちゃいました。
そんなわけで、Raspbian Jessieのイメージで動かすのはいいのですが、アップデートができません。
apt-get upgrade禁止です。。。
まぁ、そのうち対処します(と言ってすでに稼働から2か月ほど経つ)
とにかく今回はサクッと動くものを作ろう!という趣旨ですので!
本当は2時間ぐらいで作るつもりがモバイル表示になっちゃうとかで回り道して、「結局ユーザーエージェント書き換えたりしたほうがよかったんじゃない?」なんて言葉が浮かびましたが初志貫徹です!苦しい言い訳です!
自動起動化
何はともあれ、ちゃんと表示できるものが手に入りましたので自動的に起動するように設定します。
新しいタブの「アプリ」をクリックして、、、
さっき入れたアプリのコンテキストメニューから「ショートカットを作成」を選びます。
デスクトップにショートカットができるので、それを /home/pi/.config/autostart に移動させます。
これでひとまず電源ONと同時に自動的に上がってきます。
ちなみに、最大化状態で終了させれば次回起動時に最大化状態で上がってきます。小難しいことしなくていいので楽ちんですね。
ただし、ウィンドウのタイトルバーは表示されたままになります。ま、「これぐらいならいっか」で放置です。
これだけでとりあえず形になったので、細かいところをいじります。
RaspberryPiと接続したモニターの電源管理
省電力機能のOFF
RaspberryPiは放っておくとモニターへの出力を切るようです。いや、省電力にしてるのかな?
これだと壁掛けで常時起動の意味がないのでOFFにします。
xsetコマンドを使用するので入っていない場合は以下コマンドにて必要なものをインストール。
1 | $ sudo apt-get install x11-xserver-utils |
/home/pi/.xinitrcを編集。ない場合は新規作成。内容は以下の通り。
1 2 3 | xset s off xset -dpms xset s noblank |
/home/pi/.config/autostart/screensaver.desktopを作成し、以下の内容で保存します。
1 2 3 | [Desktop Entry] Type=Application Exec=/home/pi/.xinitrc |
/etc/lightdm.confを編集します。sudoつけないと保存できません
1 | $ sudo vi /etc/lightdm/lightdm.conf |
で、lightdm.conf内に、
1 | #xserver-command=X |
という部分があります。これを
1 | xserver-command=X -s 0 -dpms |
に変更します。
最後に再起動でもしてあげればOKです。
参考サイト:raspbianでディスプレイをスリープさせない設定 – おみブロZ
とりあえず、これで勝手に画面がブラックアウトするのは防ぐことができました。
RaspberryPiのモニターをON/OFFする
夜間、煌々とモニターが光っていると眩しいとのクレームご意見を嫁様よりいただきましたので、なんとかすることにします。
これもxsetコマンドでなんとかできるんかなーと思っていたんですが何やってもうまくいきませんでした。
イマイチ使い方わかってないのがいけないんですが・・・・。
また、 tvservice というコマンドでできるという記述もありますが、うまくいきません。復旧できなかったりしました。
どうもRaspberryPiだともっと便利なコマンドがあるみたいです。
それがズバリ vcgencmd です。なんか、RaspberryPiだとこれを使うのが一番いい方法のようですね。
使い方は、
1 | vcgencmd display_power 0 |
これで消えます。
1 | vcgencmd display_power 1 |
これで点きます。めちゃ簡単ですね!
そんなわけでひとまず適当な時間にcronでON/OFFさせます。rootじゃなくてもOKなので、初期ユーザーであるpiで設定しました。
1 2 | 0 23 * * * vcgencmd display_power 0 0 6 * * * vcgencmd display_power 1 |
23時消灯、6時起床です。健康的ですね(その時間に寝起きするわけじゃないですがね)
マウスポインタが気になる問題
カレンダーが見えていればいいだけなのに、マウスポインターがあると気になる。
というわけで消します。
RaspberryPiのマウスポインタを消し去る方法
unclutterというプログラムを使います。
man unclutter してみると、
unclutter – remove idle cursor image from screen
と書かれています。実にシンプルでいいですね。
単にマウスポインタを消すだけじゃなくて、アイドル時間何秒で消すとか、再び動かしたら表示するということができます。
まさにうってつけですね。
1 | unclutter -idle 3 -root |
上記コードを /etc/rc.local の “exit0″の直前に入れればOKです。
次回起動時から、3秒でマウスポインタが消えますです。
完成
というわけで完成です。
ほかにもシャットダウンボタンを付けたりしましたが、その辺はググれば情報が出てきます。
前回の記事のとおり、これを設置してから予定の伝達ミスが格段に減りました。今も便利に使っています。
昔の遺産のモニターが余っているとか、RaspberryPiが引き出しの奥で眠っている方、作ってみません?