6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

enebularAdvent Calendar 2021

Day 1

LINE Beaconに近づいたらSESAMEを解錠する

Last updated at Posted at 2021-11-30

enebularアドベントカレンダー2021の1日目の記事です。

概要

LINE BeaconとenebularとSESAMEを連携してLINE Beaconに近づいたらSESAMEを解錠したいと思います。

使うものは LINE Simple Beacon です。LINE Simple Beaconとは、シンプルなビーコン端末化ができるサービスで、クーポンの配信といった機能は無く、必要最低限の機能しかありませんが、BLE(Bluetooth Low Energy)が使える端末であれば、簡単にLINE Beacon 化することができます。M5ATOM LITE はBLEが使えるので、LINE Beacon 端末化することができます。

完成動画

全体構成

s100.png

必要なもの

1. LINE Beacon化

M5ATOM LITEをLINE Beacon化しましょう。

1-1. LINE Messagingチャネル作成

まず、LINE Messagingチャネルを作成してLINE Beaconを設定します。下記へアクセスしてお持ちのLINEアカウントでログインしてください。

新規チャネル作成をクリックします。

s101.png

Messaging APIをクリックします。
s102.png

チャネル設定項目は下記の通りです。

項目 設定値
①チャネル名 SESAMEビーコン
②チャネル説明 SESAMEビーコン
③大業種 個人
④小業種 個人(その他)

s103.png

2つチェックを入れます。

s104.png

「同意する」をクリックします。
s105.png

1-2. チャネルシークレットを取得する

チャネル基本設定の下の方にスクロールすると、チャネルシークレットと記載があるものをメモしておきます。

s111.png

1-3. チャネルアクセストークンを発行する

Messaging API設定をクリック。

s106.png

画面一番下までスクロールするとチャネルアクセストークンがあります。「発行する」ボタンを押下してアクセストークンを発行してください。
発行したアクセストークンは後ほど使うので、メモしておいてください。

s107.png

1-4. ハードウェアID発行

下記へアクセスしてLINE BeaconのハードウェアIDを取得します。

「LINE Simple BeaconのハードウェアIDを発行」をクリック。
s108.png

作成したLINEチャネルを選択します。
s109.png

「ハードウェアIDを発行」ボタンを押下して発行されたハードウェアIDをメモしておきます。
s110.png

2. SESAMEの情報を取得

SESAMEを遠隔から操作するためのAPI情報を取得します。

2-1. APIキーを発行する

下記へアクセスして連携しているSESAMEアカウントを使ってログインしてください。

ログインするとAPI_KEYをクリックして表示された値をメモしておきます。
s200.png

2-2. UUIDとsecret keyを取得する

SESAME端末のUUITとsecret keyを取得します。SESAMEアプリからQRコードを表示してください。

s201.png

下記へアクセスしてQRコードをかざしてください。UUIDとsecret keyが表示されます。

UUID と secret key をそれぞれメモしておきます。
s202.png

3. enebularの設定

3-1. ノードを追加する

パレットの管理からノードを追加タブをクリックして、 node-red-contrib-sesameを追加します。

s203.png

続いて node-red-contrib-line-messaging-apiを追加します。

s204.png

3-2. SESAMEノードの設定

IoTカテゴリにあるControlノードをドラッグアンドドロップします。ノードをダブルクリックして、2-1で取得したSESAMEのAPI Keyを設定します。

s205.png

API Keyを追加する
s206.png

続いてSESAMEの設定をします。
s207.png

2-2で取得したUUIDとsecret keyをそれぞれ設定します。
s208.png

3-3. LINE Messaging ノードの設定

LINEカテゴリにある ReplyMessage ノードをドラッグアンドドロップして、1-2で取得したチャネルシークレットと1-3で取得したチャネルアクセストークンをそれぞれ設定します。

s209.png

3-4. http inノードの設定

LINE Beaconを受信したときのWebhook受け口を用意します。ネットワークカテゴリにある http inノードをドラッグアンドドロップして、下記設定を行います

項目
メソッド POST
URL /beacon
※「/」スラッシュを含めてください

s210.png

3-5. changeノードの設定

機能カテゴリにある change ノードをドラッグアンドドロップします。 http inノードと繋いでください②。ルールに従って値の代入を行います。

項目
値の代入 replayToken
先頭の 「msg.」 はプルダウンメニューから選択してください
対象の値 payload.events[0].replyToken
先頭の 「msg.」 はプルダウンメニューから選択してください
s211.png

3-6. functionノードの設定

機能カテゴリにある function ノードをドラッグアンドドロップします。 changeノードと繋いでください。末尾はLINEノードとSESAMEノードにそれぞれ繋ぎます。

コードは下記をコピペしてください。

msg.payload = {};
msg.payload.user = "解錠";    // SESAMEアプリの履歴に残す文字列
msg.payload.cmd = "unlock";  // SESAME解錠コマンド
msg.payload.events = [
    {
        "type": "message",
        "replyToken": msg.replyToken,
        "message": 
        {
            'type': 'text', 
            'text': '鍵を開けました!'
        }
    }
];
return msg;

s212.png

3-7. デプロイ

設定がすべて完了したら、画面右上にある 「デプロイ」 ボタンをクリックします。

s213.png

デプロイが完了したら「i」マークにマウスカーソルを当てると、エンドポイントURLが表示されますのでメモしておきます。
s214.png

4. Webhookの設定

4-1. WebhookのURLを設定する

再度LINE Developersページを表示してください。応答メッセージを編集します。
s300.png

応答メッセージは オフ、Webhookは オンに設定します。設定したら 「Messagin API設定」ボタンをクリックします。

s301.png

Webhook URLに3-7でメモしたenebularのエンドポイントURLを貼り付けます。末尾に「/beacon」をつけ忘れないようにしてください。設定したら「保存」ボタンをクリックします。
s302.png

4-2. LINEと友だちになる

Messaging API設定にあるQRコードをご自身のLINEから読み取って友だちになっておいてください。

s303.png

5. M5ATOM LITEをLINE Beacon化する

LINE Beacon化する記事はこちらに詳しく記載されております。

5-1. LINE Beacon化

Arudinoのライブラリ管理からGreen Beaconと検索しgreen-beacon-esp32をインストール

スケッチは下記の通りです。1-4で取得したハードウェアIDを指定してください。

#include <GreenBeacon.h>

void setup() {
  GreenBeacon beacon = GreenBeacon("xxxxxxxxx"); // 1-4で取得したハードウェアIDを指定
  beacon.start("Hello!");
}

void loop() {
  // put your main code here, to run repeatedly:

}

これでLINE Beaconにスマホを持って近づくとSESAMEの鍵が解錠されます。

まとめ

もう家の鍵を持ち歩かなくてもスマホさえ持っていれば家に近づくだけで鍵が開きます。
スマホだけ忘れないように気をつけてくださいねw

システム化のご検討やご相談は弊社までお問い合わせください。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?