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をうまく活用することで、生活上の課題を気軽に解消することができそうです。
他にも何かユースケースを見つけて、積極的に活用していきたいですね。
それでは。