こんにちは、ふー(@dr_fooooo)です。

ぼくは普段小児科医としてこども病院で働いています。

このブログでは、小児科医であるぼくがわかりやすく医療のことをお伝えしています。

今回のお話は、医療とは関係なくめざましテレビのじゃんけんについてです(笑)

以前、GoogleのCMで声だけでいろいろなことができるのがあって、ぼくもやってみたいなーというところから自分の家をスマートホーム化しています。

今ではGoogle Homeやスマホからテレビやエアコン、電気などリモコンを使わずに声で操作できるようにしています。

いろんなことが声1つでできるようになったので、本当に便利になりました。

そして、最近

めざましじゃんけんの時間になったら自動でフジテレビにできるようにならない?

ぼく
できるよ!
設定しとくね!

ぼく
というよりじゃんけんってボタン押すだけだから、むしろそこも自動化できるじゃん!

ということで、めざましじゃんけんの自動化を試しにやってみました。

自動化の様子

まず自動化の様子をご覧ください。

以下は5分程度の動画です。(最後数秒だけ音が流れます。)

これは設定していた命令によって自動でじゃんけんするところまでを録画しています。

動画の詳細
(ぼくの家は通常テレビとレコーダーを一緒に起動させている点、スマートリモコンが複数ある点からややコマンドが複雑になっています。)
0:01 コマンドをhubot(自動で命令を送ってくれるbot)に送信
0:39 7時55分になり、テレビが起動、フジテレビに設定し、ミュートにも設定。
(ここから3分待ちの設定)
3:41 じゃんけんの手(今回はグー)を出すために、リモコンの青ボタンを5秒おきに3回押しています。
(テレビを見てみると、じゃんけんの部分がグーに選択されています)
(ここから1分待ちの設定)
4:50 ミュートが解除され、電源が切れます。

この設定のやり方を公開していこうと思います。

実はそこまで難しくはありません(ただめっちゃ簡単というわけでもないです…)

スマートホーム化で複雑なことをさせようとするのは実はすごく難しいのですが、そのすごく難しいことを比較的簡単に設定できる方法を開発・公開している方がいます。(後ほど出てきます。)

ぼくはめざましじゃんけんの自動化だけの公開になります。

hubot からRM Mini3を使えるようにできている方は、コマンドの作成まで飛んでください。

上のことが何を言っているかわからない方は、そのまま続きを読んでください。

まず必要なもの!

ここからはぼくが開発・公開したわけではないので、本家のサイトを御覧頂いたほうが良いかと思います。

ラズベリーパイ

食べものではありません。小さいPCです。

よくわからない方は下のスターターキットを購入されたほうが良いと思います。

スマートリモコン

以前はrm mini3(中国版)がかなり安かったのですが、いつのまにか上記の日本正規品と同額くらいまで値上がりしています。

上記の購入をおすすめ。

ちなみにぼくは家にSynology NASを配置していたため、サーバーが自宅にあります。

その場合はラズベリーパイを使わなくても設定可能で、実際にできました。

ただし、いろいろなところでエラーが出てめんどくさかったです。

簡単に設定するならラズベリーパイを購入するのをおすすめします。

今回はいらないけど購入をおすすめ!スマートスピーカー

今回は関係ないですが、Amazon EchoやGoogle Homeを購入すれば、声をかけるだけでGoogle assistantが起動してくれるので、より快適な生活が送れます。

スマートホーム化

本家のサイトをみていただき、設定してください。

終わりましたら戻ってきていただけるとじゃんけんの自動化ができます。

めざましじゃんけんを自動化する!

スマートホーム化の設定お疲れ様でした。

ぼくもやったときは半日くらいかかりました。

ここからが本番です。

まずは必要なボタンを登録しておきましょう!

今回使うのは以下のボタンたち。必要なものを登録しましょう!

(コードのところをターミナルやコマンドにコピペすれば、できるようにしてあります。)

hubotの名前がhomebotじゃない方は頭の名前を変更し、使用してください。

例 iebotの場合は、homebot → iebotに変更

$ bin/hubot 起動(homebotのディレクトリに移動してから)
homebot> homebot learn tv:on テレビの電源onを登録
homebot> homebot learn tv:off テレビの電源offを登録
homebot> homebot learn tv:ch8 フジテレビ(地域によってチャンネルが違う。関東はch8)
homebot> homebot learn tv:blue 青(めざましじゃんけんではグーに相当)を登録
homebot> homebot learn tv:red 赤(めざましじゃんけんではチョキに相当)を登録
homebot> homebot learn tv:green 緑(めざましじゃんけんではパーに相当)を登録
homebot> homebot learn tv:mute ミュートを登録

これで完了しました。

お疲れ様でした。

めざましじゃんけんの時間を確認

めざましテレビのホームページからめざましじゃんけんの時間を確認します。

現在(2018.10.10時点)ではこの時間になっています。

平日 1回目 5時58分ごろ, 2回目 6時58分ごろ, 3回目 7時35分ごろ, 4回目 7時58分ごろ
土曜 1回目 7時26分ごろ, 2回目 8時22分ごろ

ちなみに1週間で計22回あるので、全敗してもかならず100ptまではたまります。(負けでも5ptもらえるため)

では、その時間に合わせて、自動化を組んでいきましょう!

コマンドの作成

何も考えなくて良いから答えだけ欲しい方は「最終的なコマンドはこのようになりました」まで飛ばしてください。

 

まずはじゃんけんまでの流れを確認します。

  1. テレビをつける
  2. ミュートにする(音が出ても良い方は省略可)
  3. フジテレビにチャンネルを合わせる
  4. 時間になったらじゃんけんする(グーチョキパーのどれかをあらかじめ選択)
  5. じゃんけんが終了
  6. ミュートを解除
  7. 電源を消す

以上になるかと思います。

そして大事な点は以下。

  • テレビをつけてからじゃんけんまでが短いとじゃんけんが起動しない可能性がある。

→ぼくは、3分前にテレビをつけることとしました。

  • じゃんけんのボタン(青・赤・緑)を1回だけしか送信しない設定だと、じゃんけんがまだ起動していないタイミングだとできなくなる。

→ぼくは、5秒ごとに3回同じボタンを押す設定にしました。

  • じゃんけんの直後に消すとじゃんけんのタイミングがずれると成立しない恐れがある。

→ぼくは、じゃんけんから1分後にテレビを消す設定としています。

 

以上から下記の設定を作ることになります。(人によって待ち時間は変えても良いと思います。)

  1. テレビをつける
  2. ミュートにする
  3. フジテレビにチャンネルを合わせる
  4. (3分待つ) → 動画で検証したところぎりぎりだったので2分45秒に変更
  5. じゃんけんする(今回はグーで設定)
  6. (10秒待つ)
  7. じゃんけんする(今回はグーで設定)
  8. (10秒待つ)
  9. じゃんけんする(今回はグーで設定)
  10. (10秒待つ)
  11. じゃんけんする(今回はグーで設定)
  12. (1分待つ)
  13. ミュートを解除
  14. 電源を消す

1と2と3の間隔、11と12の間隔は1秒で設定しています。

 

最終的にはこのようなコマンドになりました!

  • 平日 じゃんけん1回目(5時58分ごろ)
send [5:55] tv:on [1s] tv:mute [1s] tv:ch8 [2m+45s] tv:blue [10s] tv:blue [10s] tv:blue [10s] tv:blue [1m] tv:mute [1s] tv:off
  • 平日 じゃんけん2回目(6時58分ごろ)
send [6:55] tv:on [1s] tv:mute [1s] tv:ch8 [2m+45s] tv:blue [10s] tv:blue [10s] tv:blue [10s] tv:blue [1m] tv:mute [1s] tv:off
  • 平日 じゃんけん3回目(7時35分ごろ)
send [7:32] tv:on [1s] tv:mute [1s] tv:ch8 [2m+45s] tv:blue [10s] tv:blue [10s] tv:blue [10s] tv:blue [1m] tv:mute [1s] tv:off
  • 平日 じゃんけん4回目(7時58分ごろ)
send [7:55] tv:on [1s] tv:mute [1s] tv:ch8 [2m+45s] tv:blue [10s] tv:blue [10s] tv:blue [10s] tv:blue [1m] tv:mute [1s] tv:off
  • 土曜 じゃんけん1回目(7時26分ごろ)
send [7:23] tv:on [1s] tv:mute [1s] tv:ch8 [2m+45s] tv:blue [10s] tv:blue [10s] tv:blue [10s] tv:blue[1m] tv:mute [1s] tv:off
  • 土曜 じゃんけん2回目(8時22分ごろ)
send [8:19] tv:on [1s] tv:mute [1s] tv:ch8 [2m+45s] tv:blue [10s] tv:blue [10s] tv:blue [10s] tv:blue [1m] tv:mute [1s] tv:off

 

平日1-4回目をすべてくっつける方法もありますが、時間指定[5:55]などは最初しかできないです。

そのため、時間変更などがあっても、対応が容易だと考え、じゃんけんごとに1回ずつのコマンドでやることを選択しています。

コマンドを自動で投稿してもらうためには?

本家のサイトでも登場してくるIFTTTという機能を使います。

まずはログインし、My Appletsのページに行きます。

そして、写真の赤丸のNew Appletをクリック!

次に赤丸のthisをクリック!

検索欄に「date」とうつとDate & Timeが出てくるのでクリック!

今回は平日5日間やりたいので、「Every day of the week at」をクリック

平日1回目のじゃんけん(5時58分ごろ)の設定を行う場合、写真のように05 AM, 45 Minutesとし、月曜から金曜までチェックをつけ、「Create trigger」をクリック!

ここまでで平日の5時45分にhubotに命令を送る設定が完了。

次はthatをクリックし、命令の内容を登録しましょう!

検索欄で「slack」とにゅうりょくし、slackをクリック!

Post to channelをクリック!(図は省略)

「Which channel?」でDirect Messagesを選び、次に「@homebot(他の名前で登録している人はその名前)」を選びましょう!

「Message」にコマンド(平日じゃんけん1回目)をコピペします。

他の欄は無視し、下の方にあるCreate actionをクリック!

そしてタイトルを決めます。

したの通知はオフにしましょう!(じゃないと毎回通知が来ます!)

最後に忘れずにFinishを押しましょう!

以上で完成です。

あとは平日2回目以降、土曜の分まで登録すれば完璧です!

まとめ

スマートホーム化が1番大変ですが、そこを乗り越えるといろいろなことができるかと思います。

今回はたまたまじゃんけんを思いついたので、設定してみました。

ぼくの場合はこれでちゃんとじゃんけんできています。

これで毎週キーワードがわかりますね。

Twitterでフォローしよう

おすすめの記事