SwitchBotによる徘徊見守りソリューション
May 29, 2024
linux IoT SwitchBotはじめに
筆者の母親は、いわゆる「まだらボケ」状態で、頭の調子が悪いときは家を出てどこかに行こうとします。いわゆる「徘徊」なのですが、本人は(例えば、買い物に行くとか病院に行くとかの)確固たる目的を持って外出しているようです。いくら目的があったとしてもお金も診察券も持たずにスリッパで外出するというのは、徘徊といっても仕方がないところ。
普段は屋外では車椅子でしか移動できないのに杖も持たずに外出するという行為は、下手すれば命の危険をともないます。長い距離は歩けないのが幸いですが、それでも炎天下の真夏や厳冬の真冬だったらただじゃ済まないと感じます。世間では徘徊の末の行方不明事案やその後の不幸な顛末を耳にします。
そこで不測の事態を予防するため、母親が外出を試みた(玄関のドアを開けた)ことを家族が検出できる方法を検討しました。
IoT以前の時代には、ドアセンサーと無線で繋がった受信機を設置しておくと、ドアを開けたときチャイムが鳴るというような機器をAmazonから安価に入手できました(今でもあります)。このような機器を設置しておけば、認知症の同居人がこっそり脱走を試みたとき家にいたら気づくので一定の効果はあります。でもこれは受信機のチャイムが聞こえる範囲にいないと意味がなく、ベランダにいたり外出中などは見逃してしまいます。
ドアを開けたら家族のスマホに通知が届くようなことが出来れば、かなり便利そうです。仮にリアルタイムでの通知を見逃しても、スマホのログを調べて何時頃に脱走を図ったのかがわかれば、後々の対応もやりやすくなります。
家族が常に同居しておらず、家族が別棟とか近所に住んで介護をしているという場合でも一定の効果が期待できます。
本記事は、玄関のドアを開けたら家族のスマホに通知が届くシステムを構築した際の備忘録です。
ゴール
玄関のドアを開けたらLINEに通知が届くようにする。
材料
これを実現するためには以下のような機器が必要なことがわかりました。
- ドアセンサー
- ドアセンサーの受信機
- ネット回線
ドアセンサーをAmazonでざっと調べてみると、SwitchBot社の機器がそこそこ安価でドアセンサー以外のIoTデバイスの種類も豊富でよさげだったので使ってみることにしました。
購入したものは、「開閉センサー」と「ハブミニ」というIoTデバイス。
SwitchBot開閉センサー
ドアに取り付けて開閉を感知したらBluetoothの信号を出すデバイスです。このBluetooth信号をスマホで直接受けることもできるけど、これだと信号の到達距離が短いので、あまり実用的ではありません。後述のSwitchBotハブミニで受信して、インターネット経由で受信することになります。 開閉だけでなく、明るくなった/暗くなったや動体検出のイベントも検知できます。
SwitchBotハブミニ
開閉センサーからイベント信号を受診し、インターネット上のサーバに記録するためのデバイスです。そのサーバに専用アプリを使ってスマホからアクセスします。ハブミニ自身はWifiでネットに接続します。 ハブミニはそれだけではなく照明やエアコンやテレビなどの赤外線リモコンを記憶し、ネット経由で記憶したリモコンの赤外線信号を発光する機能もあります。スマートスピーカーとハブミニがあれば、例えば「アレクサ、テレビつけて」とか言うとハブミニから発したリモコン信号でテレビがつくというようなスマートハウスもどきが実現できます。応用は無限です。
デバイスの設置
開閉センサーをドア上部に両面テープで取り付けます。
ハブミニは開閉センサーからのBluetooth信号が届く場所に設置します。ハブミニは電源用のUSB-C端子がついているだけで、パッケージに電源は付属していません。ハブミニ本体と電源とケーブルをスマートにまとめる機器がAmazonで入手可能です。
コレでもいいのですが、少々お高いので、相当品を誰かが3Dプリンターで作ったものをメルカリで購入しました。ハブミニをすっきりと設置できました。
ネット回線
Wifiが完備している家であれば前節のデバイスを準備すれば設置完了なのですが、母親宅は筆者宅とは別棟であり母親宅にはネットが引かれていません。ドアセンサーを稼働させるためだけに光回線を引くのはさすがに無駄なので、ホームルーターに格安simを挿して使うことにしました。
まずは中古ホームルーターを入手。
機種は「au Speed Wi-Fi HOME L01」このホームルーターはUQ WiMAX用のものと思われますが、simフリーなので格安simでも使用可能です。元々はWiMAX用のルーターのようですが、4G LTEでも使えます。メルカリに大量に格安で出品されています。
あまり黄ばんでなさそうなやつを送料込み1480円で購入。出品手数料と送料で1000円ほどかかっているはずなので、出品者は500円弱で手放したことになります。まぁ、多くの人にとってはただの不燃ゴミでしょうから…
このホームルーターにpovo2.0のsimを挿します。sim slotはMicro SIMなんで割りすぎに注意。 ホームルーター現物の底にssid, password, ログインアカウントなどの情報が書かれたシールが貼らているので、コレを見ながら設定。
povo2.0のAPNを設定
プロファイル名:povo2.0
APN:povo.jp
認証タイプ:CHAP
IPタイプ:IPv4&IPv6
無事ネットが繋がりました。
注意点はSwitchBotデバイスは2.4GHzのWifiにしか繋がらないので、ホームルーターの2.4GHz側に接続するようにします。
povo2.0は半年に一度トッピングを購入するだけで、128kbpsのスピードであれば無料で常時使用可能です。今のところドアセンサー用途でしかネットは使わないので回線速度は128kbpsで十分です。povo2.0により無料で常時接続の環境が手に入りました。
今回の例に限らず、この手のIoT機器を設置する場合、玄関や物置など家のWifiが届かないところに設置したい場合が多々あると思いますが、ダダ同然の中古4Gルーターとpovo2.0 simの組み合わせは無敵だと思います。
設定
SwitchBotのIoT機器の設定はスマホアプリから行います。
StoreからSwitchBotアプリとIFTTTアプリをダウンロードし、それぞれアカウントを設定し、ログインします。
SwitchBotアプリはSwitchBotのIoT機器の設定を行い、機器からのイベントを受取ったり、イベントに応じた対応を行うためのアプリです。IFTTTアプリは、イベントに応じた対応としてネットワーク上のサービスを指定できるものです。例えば特定のイベントが来たらLINEに通知を送るとか。
でわ。ここから「ドアが開いたらスマホのLINEに通知を送る」を設定していきます。
SwitchBotアプリでは、「Xが起こったらYというシーンを実行する」というオートメーションを定義することができます。ここで
X=開閉センサーが「開く」を検出
Y=LINEに通知を送る
というオートメーションを指定すれば目的の動作が実現する訳です。
(1) SwitchBotアプリにログインし、アプリにハブミニを登録します。
SwitchBotアプリでデバイスの追加を選び、ハブミニ上部にあるボタンを点滅するまで長押しして認識させます。この時点ではBluetoothでスマホとハブミニが繋がった状態です。続けてWifiのSSIDとpasswordを入力し、ハブミニをWifiに接続します。
(2) SwitchBotアプリに開閉センサーを登録します。
SwitchBotアプリのホーム>+デバイスの追加>ハブミニ
開閉センサーの表示灯が点滅するまで、本体上部の白いボタンを長押しし、SwitchBotアプリに認識させます。
(3) 「LINEに通知」シーンを定義
右上のメニュー「+」を開き「シーンを追加」をタップ
シーン名を入力し「他の実行方法」をタップ
他の実行方法の中からIFTTTを選択し、IFTTTアプリに接続
以下IFTTTアプリ上での操作。最初にIFTTTアプリにログインしておくのを忘れずに。
下段の「+作成する」をタップ
作成するページのIf Thisを「追加する」をタップ
「If This」としてSwitchBotの開閉と動体を検知するを設定します。
トリガーの「SwitchBot」を検索し、見つかったアイコンをタップ
トリガーとして「開閉と動体を検知する」をタップし、
トリガーフィールドを埋めてトリガー作成
次に「Then That」としてLINEのメッセージ送付を設定します。
サービスの「LINE」を検索し、見つかったアイコンをタップ
アクション「Send message」をタップし、
アクションフィールドを埋めてアクション作成
以上でIFTTTの設定完了。
(4) オートメーションを定義
SwitchBotアプリに戻って、
右上のメニュー「+」を開き「オートメーションを追加」をタップ
「オートメーションを作成」ページを埋めていく。
名称欄は例えば「ドア開閉」などそれとわかるように決める。
いつ欄は
条件を追加>デバイス>開閉センサー>ドアから出たことを検知
条件を追加>デバイス>開閉センサー>入室を検知
を順にタップして設定。
実行欄は
アクションを追加>シーンを実行する>LINEに通知シーン
を順にタップして設定。
完成したオートメーションは以下の通り。
以上で「ドアが開いたらスマホのLINEに通知を送る」のSwitchBotの設定は完了。
運用
しばらく運用してみると、母親は想定していたよりも多くドアを開閉していることがわかりました。一人でいるときは1日数回ドアを開けてすぐ閉めるという行動を繰り返しているようです。ドアを開けたとき何かがひらめいてそのまま外に歩きだしてしまい、戻り方がわからなくなると「徘徊」ってことになるのだと思います。
だからといって開閉の通知がくる度に確認に行くのはさすがに見ている側が疲弊してしまいます。
SwitchBotアプリで開閉センサーの履歴を確認すると、ドアを開けた後閉めただけなのか、そのまま出ていってしまったかがおおよそ区別がつくことがわかりました。
開閉センサーはドアの開閉だけでなく明るくなった/暗くなった、動体検出などのイベントを検知します。発生したイベントはログに記録され、SwitchBotアプリからいつでも参照できます。
LINEに通知が来たときに、ログを調べて、
...
動体検出
開けた
閉めた
動体検出
...
この順にログが記録されていたら、ドアを締めたあとで動体検出されたのだから、ドアを開けた本人は中にいて問題なしということがわかります。
夜中に通知が来ても、
...
照度:明るくなった
動体検出
開けた
閉めた
動体検出
照度:暗くなった
...
この順にログが記録されていたら、夜中に明かりをつけて玄関を開けたもののすぐに閉めて電気を消して寝に戻ったので問題なしということがわかります。
...
動体検出
開けた
閉めた
このパターンのときが外に出た可能性があるので、様子を見に行く。
それにしても、何のために1日何回もドアを開け閉めしているのだろうか?とても疑問。
しばらくはこれで様子見。
懸念事項
SwitchBotのIoT機器は価格も安価で便利なんだけど、これを家のセキュリティコントロールで使用するのは一抹の不安があります。IoT機器で収集したイベントはスマホでどこからでも見れるということは、イベントデータは全てSwitchBotのサーバに送られているということ。
もしこのデータを悪意の第3者がアクセスできたら…
こう考えると恐ろしくなりますが…
これは中華リスクなのだろうか?それとも杞憂なのか。
例えば、米国の役所では中華製のルーターは使用しないことを徹底していて、中華製機器からの情報漏洩を恐れていますが、個人レベルではどう考えるべきなのだろう?
まとめ
徘徊見守りのため、SwitchBot社のIoT機器を使って、ドアが開いたらスマホのLINEに通知が届くようにしました。