ひよっこ、の悩み事。
3週間前に社会人になったばかりの、ひよっこエンジニアには悩みもいくつかある。
エンジニアとしても未熟だが、一人暮らしも始めて1ヶ月程度の、超一人暮らし初心者でもある。
現在の一番の悩み事は、床で寝落ちして、朝まで部屋の明かりが付いたまま過ごしてしまうというものがある。
朝まで、床で寝るということがどれほど体に悪いかを挙げてみる。
まず、床で寝るときに布団で普段寝るときよりは姿勢が整ってないことが挙げられる。
すごい体勢で寝てしまったり、起きてから床の固さゆえのだるさを体感してしまったりする。照明は付いたままなので、眠りの質も悪く、寝た気がしないのである。そのため、途中で目覚めてしまう。その後、布団で寝直すともれなく起床時刻が後退し、朝が忙しくなるのだ。
もう1つ重大な問題がある。
寝落ちしてしまったときが、入浴前であったら、朝起きてからシャワーを浴びる必要が発生することである。ただでさえ、慣れない自炊で朝食をつくり、台所を片付けて、ゴミをまとめて捨てに行くなどの家事等で、朝の時間なんて一瞬で過ぎ去る。そこに、例え5分であってもシャワータイムが発生してしまえば、家を出発する時刻まであっという間である。
というわけで、寝不足気味にはなるし、起床する時刻が遅くなり、シャワーに時間が取られ、遅刻リスクが高まるため、寝落ちは絶対に避けないといけないのである。
そこで、ひよっこエンジニアは考えた。
就寝時刻を決めて、その時間までに寝るまえに行う処理が行われなかったら、
寝落ちした、と判定する仕組みをつくればいいと。
ぼくはAmazonのAWS IoT エンタープライズボタンなるものを1つ所持している。
これは、Amazonのwebサービスと連携して、ボタンを押すとなにかが起きる、を実現できるIoTグッズである。
現在、このボタンで起床時刻と就寝時刻、朝の出発時刻の3つの時刻を管理している。ボタンを押すと、AWS lambdaで設定した関数が実行され、Googleスプレッドシートに時刻とボタン操作の種類が記録される。
シングルクリックで、就寝
ダブルクリックで、起床
ロングクリックで、出発
といった次第である。
導入が長くなってしまったが、これで就寝時刻の管理をしているので、このボタン操作が寝るまえに行われなかったら、
「こいつ、寝落ちしたな」
ってわかる仕組みだ。
寝落ち判定を行うためには、就寝時刻の打刻を行う期限の時刻を決めなければならない。
だいたい寝落ちした時に目覚めるのは3時頃で、布団で寝てるときの平均的な就寝時刻は1時から2時くらいなので、2時までに打刻がされなかったら寝落ち判定すればいいと思われる。
さて、問題はどうやって寝落ちしたやつを叩き起こしてあげるか、である。
まだ、考えがまとまっていないので、続きはまた明日。
コードの共有の仕方を試してるんだけど、ちっとも反映されない、わけわからん。