GoogleHomeでPCをリモート起動する

# 最近
Google Home miniを買いました。
NatureRemoも買いました。すっごい便利。
最近リモコン類をよく失くします。使わないから。



# PCをリモートで起動したいのだ！
家電の電源オン、オフはNatureRemoで赤外線を飛ばすことでできますが、
PCを起動するとなるとそうはいきません。

いろいろ調べました。



# Wake On Lan
Wake On Lanっていう便利な機能があるらしいです。
有線LAN経由で、マジックパケットなるものを送信すると起動できるようです。
最近は無線LANでもできるらしいです。
（無線LANハード側、BIOS側がWoLに対応している必要あります）



詳しくはこの辺りで調べてください（丸投げ
ありがとうございます。
[Wake on Lan で Windows 10 の PC を遠隔で起動する](https://qiita.com/gam0022/items/4c2a3fdc29ac4977b51c)



# やること
Google homeに「パソコンつけて」と話すと
PCにマジックパケットを送信してPCを起動する！




# 仕組み
GoogleHome → IFTTT → PushBullet → Tasker(Android) → WakeOnLan(Android) → PCへ

我が家はBuffaloルーターを利用しているので、ルータにさえアクセスできればWOLができます。
なのでWAN側（外出先）からは[MyDNS](https://www.mydns.jp/)を登録してアクセスしてます。便利。

家にいる場合だとAndroidは概ね家の中にあり、かつ、ローカルLANに接続されているので
Taskerを利用してWakeOnLanのパケットを送信しています。
IFTTTとtaskerの連携にPushBulletを使っています。

RaspberryPiとかNode.jsとかを使ってやる方法があるそうなのですが
ラズパイ、まだ導入してません。。。。。導入予定も特にありません（興味はあるんだけど

以下、参考にしました。ありがとうございます。
[Google Homeに話しかけてWindowsを操作してみる](https://qiita.com/miso_develop/items/7a02908aad2a5cf192d0)
[Google HomeからノンプログラミングでWindows起動＆シャットダウン](https://qiita.com/daichin/items/66fb29d8d52a42071773)


#導入するもの
google homeでIFTTTを使えるようにしとく（要登録
PushBulletをインストール（Android
Taskerをインストール（Android
WakeOnLanをインストール（Android

IFTTTとPushBulletはアカウント連携があるので同じアカウントで登録しとくと楽です。
gmailとかで登録できます。

tasker、google home周りの環境は既に導入済みなので割愛。



#IFTTTの準備
![Screenshot_20180317-102602.png](https://qiita-image-store.s3.amazonaws.com/0/242965/241c1869-764b-9057-d908-0d8499551486.png)




おなじみの画面です。



##GoogleAssistantsの設定
![Screenshot_20180317-102654.png](https://qiita-image-store.s3.amazonaws.com/0/242965/3338bc48-6aa4-ea98-cd8d-eaa39aa631c4.png)


＋thisにGoogleAssistantを選択。
Say a simple phraseを選択。
【What do you want you say?】
GoogleHomeに認識させたい言葉
【What do you want the Assistant to say in response?】
GoogleHomeに返答させる言葉



##PushBulletの設定
![Screenshot_20180317-102718.png](https://qiita-image-store.s3.amazonaws.com/0/242965/4756b577-59b1-5c01-8d5d-524b5c4c75d3.png)



＋thatにPushBulletを選択。
今回は文章で反応させるのでnoteを選択





![Screenshot_20180317-102745.png](https://qiita-image-store.s3.amazonaws.com/0/242965/71738ae9-3b06-b51d-b912-71be48625da8.png)



Titleに件名。
Messageに任意の文字を記入。（後ほどのTasker側でも同じ文章を入れます）


で、保存すればIFTTTは準備完了です。


#WakeOnLan
WakeOnLanアプリをAndroidにインストール。
設定していきます。

![Screenshot_20180317-082132.png](https://qiita-image-store.s3.amazonaws.com/0/242965/f825bb15-2133-6d1c-8d54-78d472041607.png)
![Screenshot_20180317-082124.png](https://qiita-image-store.s3.amazonaws.com/0/242965/33d713c6-d967-2b99-2697-1156048585b1.png)


MACアドレスは起動したいPCのMACアドレスを指定。
WifiNetworkは家のルーターのSSIDを選択。
家のルーターがBuffaloルーターなので
ブロードキャストアドレスを192.168.11.255にしてます。適宜変更を。
デバイスのIPは起動させたいPCに設定していますが、
ブロードキャストアドレスだけで良いです。
他は特に触ってません。保存。



#Taskerの準備

![Screenshot_20180317-082213.png](https://qiita-image-store.s3.amazonaws.com/0/242965/ba5a609f-378f-6ca7-e88a-18a18577de7a.png)


Profile新規作成
【Event】→【Plugin】→【PushBullet】



![Screenshot_20180317-110522.png](https://qiita-image-store.s3.amazonaws.com/0/242965/09466816-265d-2216-8ccf-3c0871c1378b.png)


以下を受信したとき→【note】
テキストを含む→【さっき設定した任意の文字（WOL-PC）】
差出人→　IFTTTからなので【誰でも】
Then→　プッシュはお好みで

保存



![Screenshot_20180317-082331.png](https://qiita-image-store.s3.amazonaws.com/0/242965/b3a5ebd6-d15a-81f5-536e-1b1ab1c10ff1.png)


Select Action Category
【Plugin】→【WakeOnLan】

で先ほど作った【PC】を指定してあげればおーけーです。



#まとめ
これでGoogle homeが”パソコンつけて”に反応してIFTTTでPushBulletをAndroidへ飛ばし、
AndroidがPushBulletの通知を検知してWakeOnLanを起動させて同じローカルネットワークの
PCにマジックパケットを送信する。ができました。


PCの電源ぐらいじぶんで入れろよ、、、、て思うかもしれませんが、なかなか便利ですよ。

今後もGoogleHomeをもっと使い倒したいなー、と思います