AWS IoT Enterprise Button + LINE Notifyで介護用ナースコール的なものを作る

インサイトウォッチ

はじめに

自宅にて介護が必要な人を介助する場合、本人が介助を頼む家族に呼び出しを行う仕組み(ナースコール)があると便利です。

今回、AWS IoT Enterprise Button(以下、IoT Button)を使って簡易的にナースコール的な仕組みを作ってみました。
ボタンをクリックすると、LINEに通知を飛ばすだけのシンプルなものです。

構成

構成はざっくり以下のような感じです。

介助が必要な人がヘルプして欲しいときにIoT Buttonをクリックすると、連携されたLambdaを実行して介助を行う家族にLINEで通知します。

LINEは、特定のトークルームに通知ができれば良いので、今回はLINE Notifyを利用しました。

AWS IoT Enterprise Buttonの購入とデバイス登録

何はともあれ、まずはIoT Buttonを購入します。
現物を手に入れたら、以下のエントリを参考にデバイス登録まで行います。

ホンマに簡単にできますね。

LINE Notifyの設定

LINE(トークルーム)に通知を行うために、LINE Notifyでトークルームのアクセストークンを発行します。
LINE Notifyの使い方に関しては、こちらのエントリが参考になります。

今回は複数人に通知を送りたいので、(介助を行う人を招待した)トークルームを指定します。
また、トークン名はメッセージに表示されるので、「お知らせ」などメッセージとして違和感の無いものに設定します。

トークン発行後、対象のトークルームにLINE Notifyアカウントを招待するのを忘れずに。
(LINE Notifyアカウントを招待しないと、対象のトークルームにメッセージが送信できません)

Lambdaコード

IoT Buttonがクリックされた際に実行させるLambda(LINEへのメッセージ送信)を作成します。
雑に書いたLambdaのコード(Node.js 8.10)を載せておきます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict';
 
const axios = require('axios');
const querystring = require('querystring');
 
const token = process.env.LINE_NOTIFY_TOKEN;
const message = "介助をお願いしたいです。";
 
exports.handler = async (event) => {
  console.log(JSON.stringify(event));
  await axios(
    {
      method: 'post',
      headers: {
        Authorization: `Bearer ${token}`,
        'Content-Type': 'application/x-www-form-urlencoded',
      },
      data: querystring.stringify({
        message: message,
      }),
    }
  )
    .then((res) => { console.log(res.data); })
    .catch((err) => { console.error(err); });
};

LINE Notifyで取得したトークンは、Lambdaの環境変数(LINE_NOTIFY_TOKEN)で設定しておきます。 なお、AWS IoT 1-ClickでIoT Buttonとの関連付けを行うので、Lambda側ではトリガーを設定する必要はありません。

AWS IoT 1-Clickの設定

Lambdaが書けたので、IoT Buttonと関連付けを行います。
こちらを参考に、プロジェクトとプレイスメントを作成します。

以上で準備は完了です!
IoT Buttonをクリックすると、LINEに通知されるナースコール的なものができました。

動作イメージ

機能設計について

IoT Buttionはクリックタイプを取得できるため、当初は以下のような仕様を考えていました。

  • シングルクリック -> よく行う介助1の依頼
  • ダブルクリック -> よく行う介助2の依頼
  • 長押し -> 緊急の呼び出し

…が、やめました。
複数の機能があると使う人は覚えるのが大変ですし、押し間違いも出てくるでしょう。
今回のケースで大事なことは、ユーザー(介護が必要な人)の「介助が必要なので来てほしい」という意志が介助をする人に伝わることなので、機能を複数設けることはやめ、

  • ボタンをクリックすると「介助が必要だ」というメッセージをLINEで通知する

というシンプルな仕様にしました。
これで、実際にボタンを押す人は新しいことを覚えなくてもよく、「AWSとか何かよーわからんけど、このボタンを押せば家族が来てくれるな」という感じで継続して使ってもらいやすくなります。

おわりに

AWS IoT Enterprise Buttonを使って、自宅介護をサポートするナースコール的な仕組みを作ってみました。
IoT Buttonをうまく活用することで、生活上の課題を気軽に解消することができそうです。

他にも何かユースケースを見つけて、積極的に活用していきたいですね。
それでは。

新メンバーズ