初めての留守番も安心。LINE BOTで帰宅を確認

こんにちは。OISエンジニアのただっしーです。

4月から息子が小2になり、そろそろ留守番をさせてみようか、ということになりました。
まずは短い時間で留守番を経験させるのですが、やはり初めての留守番は妻も少し心配のようです。
そんなときにちょうど朝の情報番組でこのサービスの紹介をしていました。
Qrio ただいまキット
https://qrio.me/tadaima-kit/
linebot01

子供にビーコンを持たせて帰宅したらビーコンを検知して保護者のLINEに通知してくれる、という仕組みです。
いくつか類似のサービスもあるのですが、値段もそれなりにしますし、そもそも留守番予定が翌日だったので無理だなーということだったのですが、
linebot02
未曽有の短納期の仕事が舞い込んだので、飲み会を切り上げて帰ることにしました。

LINE BOTの準備

まずはLINE DEVELOPERSに登録します。
https://developers.line.me/ja/から、「Messaging API (ボット)をはじめる」を選択します。
linebot03
LINEアカウントでログインし、以下の手順でボットを作成します。

STEP1:プロバイダー(サービス提供者)の情報を登録します。自分の情報を登録しましょう。

STEP2:Channel情報を登録します。ボットの名前や説明、メールアドレス、業種等を入力します。

ここで重要なのはプランに「Developer Trial」を選択することです。フリーを選択するとボットからのPushができません。

次にChannel基本情報を登録します。
linebot05
この画面で必要な設定としては、以下の3つです。

・アクセストークンを発行する
・Webhook送信を利用し、Webhook URLの設定をする
・Botのグループトーク参加を「利用する」に設定にする

WebhookはBotを友達に追加したり、Botにメッセージを送ったりした場合に、WebhookのURLに情報が送られてくるので、Botがどのように振る舞うかを記述します。(今回は使いません。)

さて設定が終わったら、この画面に下部にQRコードが表示されるので、QRコードから友達登録をし、妻と自分とBOTのグループを作ります。

メッセージの送信

BOTからメッセージをPUSHするには、LINE Messagin APIに対してHTTPリクエストをPOSTすればよいのですが、2つの情報が必要になります。

・アクセストークン
・作成したグループのID

アクセストークンはChannel基本設定の画面に表示されています。
グループIDはBOTをグループに追加したときに、WebhookのURLにHTTPリクエストが送られてきますのでその中からグループIDを取得します。
こんなデータが送られてきます。太字部分がグループIDです。

{"events":[{"type":"join","replyToken":"e58049db78b7482b9c412847dad6850a","source":{"groupId":"C54b4518faf20c962274f92613594d374","type":"group"},"timestamp":1523464754369}]}

curlコマンドで送信テストをします。

curl -X POST -H 'Content-Type:application/json' -H 'Authorization: Bearer (アクセストークン)' -d '{"to": "(グループID)", "messages":[{"type":"text", "text":"hello,hello,hello"},{"type":"text", "text":ログインしたよ。"}]}' https://api.line.me/v2/bot/message/push

無事に送れました。

linebot06
ログインスクリプトの設定
次にMacのログインスクリプトを設定します。
スクリプトを作ります。

#!/bin/bash /usr/bin/curl -X POST -H 'Content-Type:application/json' -H 'Authorization: Bearer (アクセストークン)' -d '{"to": "(グループID)", "messages":[{"type":"text", "text":"hello,hello,hello"},{"type":"text", "text":ログインしたよ。"}]}' https://api.line.me/v2/bot/message/push
sudo chmod 777 /User/tadassy/login.sh

ログイン時にこのスクリプトを実行するようにします。MacではLoginHookという仕組みを使います。

sudo defaults write com.apple.loginwindow LoginHook /User/tadassy/login.sh

これで設定完了です。

息子が家に帰ってきてパソコンにログインしたらLINEに通知が届くようになりました。
ほとんど設定のみでできるので、途中でハマらなければ1時間くらいでできます。
「やっぱり姿が見えないと心配」という人にはカメラで画像を撮って添付する、ということもできそうです。
おしまい

【次回参考】初めての留守番も安心。ダイソーの300円商品+LINE BOTで帰宅を確認

ホームページ http://www.ois-yokohama.co.jp

facebook   https://www.facebook.com/orientalinformationservice/

 

\ 最新情報をチェック /