見出し画像

ルンバの掃除タイミングを最適化したい

余談

前回の更新が6日前、少し間が空いてしまいました。。。せっかく土日丸々あけていたのにだらけてしまい現時点でほとんど進捗もない。。。あ〜〜〜という感じでストレスが溜まりますが、なんとか自分の気分を乗せるためにもなんか興味関心のあるところから手をつけたいなと思います。

息抜きの息抜きに

このところずっと自分のアプリ開発の話ばかりでした。というか、その進捗管理のためにこのnoteを書いているので、その話しか話題はないのですが、、元々は仕事の息抜きにというか、余暇を充実させるために始めたアプリ開発でしたが、これはこれで根詰め始めると他んことで息抜きしたいなと思うことも出てきまして、今日は別の話です。

ルンバさんにもっとはたらいて欲しい

昨年から我が家ではルンバとブラーバが活躍してくれています。ただ、活かしきれているかというと正直まだまだ活用に余地がありまして、具体的には、稼働タイミングに難があります。

在宅していることが多いので、なるべく不在時に掃除して欲しいのですが、この時間は確実に不在ということがないので、何曜日の何時に実行!みたいなスケジュール設定だとカバーしきれないのですよね。。。

深夜はどうかと考えてみても、我が家は不夜城なので深夜も普通に作業していたり、朝に目覚ましがわりに設定したこともあったのですが、あろうことかルンバを即時ホームに返して二度寝する始末。

働いてもらうタイミングというか、空気を読んで欲しいというのが要求事項です。

ルンバさんに空気を読んでもらうには

ルンバさんに不在をどう判断してもらうか。これが課題で、まあ音声や照度を測って判断するみたいなセンシングであれこれみたいなこともありうるかなと思いつつ、メルカリさんが勤怠管理の打刻管理を会社Wi-Fiに接続したタイミングでされている事例を耳にしまして、

弊社のエンジニアが作ったものですが、会社Wi-Fiに接続した一番早い時間と接続が切れた一番遅い時間をKING OF TIMEに自動で飛ばし、それぞれ出勤・退勤時刻とする仕組みにしています。

ICカードを所持させて打刻させる場合、多少の煩わしさもありますし、どうしても打刻漏れが発生してしまいますので、評判の良い仕組みです。管理上も効率が上がりましたし、社員も喜んでいます。

https://www.kingoftime.jp/case/mercari/

およよ。ということは、家のWi-Fiにスマホが接続しているかどうかをみて掃除して貰えばいいんじゃないのか・・・!と思ってこのnoteを書き始めています。

実現に向けた課題

ただ、書き始めてはみたものの、のっけから色々ハードルがありそうだなと気づきつつあります。

ルンバさん(iRobotのアプリ)には公開されているAPIがなさそう。

昔のモデルだとシリアルポートを利用して任意に動かすことができたようなのですが、我が家の機種は対象外でした。

と、ここまで調べて進めてきたところで、なんと知り合いが全く同じことを試していたことを検索から知る。。。キリカさん、さすがだなあ・・・

APIはないので、IFTTT(イフト)というWebサービスを利用されたとのこと。(記事だと無料で5つまでとありますが、現在は2つまでになっているそう。)

これは複数のWebサービスやスマートホーム機器を繋げて連携させる事に特化したサービスで、無料プランでも5つまでの連携を設定可能。

iPhone/Android向けに提供されているIFTTTアプリを使ってGPS連動したトリガーを作ることが可能で、特定のエリアを出たり特定のエリアに入ったりする事で他のWebサービスや機器の機能を発動させることができます。

https://gadget-shot.com/60934

なんにしても、これでルンバさんを動かす方は突破口が見つかりました。

ローカルネットワーク上に実行環境を用意したほうがよさそう。

キリカさんは、IFTTTの位置情報機能を利用して自分の不在時にルンバを起動していたようですが、これだとたぶん、IFTTTのアプリを入れている人の位置情報に左右されるので、二人で暮らしているようなパターンだと、同居人の在宅時に起動させてしまうことになるものと思います。

だから、ここの部分はやはり上記で記載した通り、Wi-Fiの接続有無で居住者全員の不在を確認するような仕組みが必要と思われます。

指示を出すスクリプトの実行環境をクラウドに置くのはインターネットからローカルネットワークにアクセスを許すということだと思うので、やりたいことに対してリスクが大きいような・・・

ということで、ここの部分はローカルネットワーク上にサーバーを立ち上げて、そのこに実行してもらうのがいいかなと考えた次第です。

それくらいのことなら使ってない昔のMacBookを流用してもいいし、ラズパイ使うとかでもいいかなと思います。

ローカルサーバーから、ローカルネットワークの機器接続状況をスキャンして、居住者全員のスマホが接続されなくなったら、IFTTTのWebHookに繋いでiRobotのアプリに指令を出してもらうと。

なんか絵は描けた気がします。

今後のアクション

・ローカルネットワークへの接続機器をスキャンできるかを試す。
・IFTTTのWebhookを叩いてルンバに指示を出せるかを試す。
・上記をラズパイで実行できるか試す。

こんなところですかね。いつやろう・・・

いいなと思ったら応援しよう!

まかない
ご覧いただきありがとうございます。とても嬉しいです。