プレシオカップ

起きなきゃ起きれないよ♡

https://github.com/kuroishihiromu/hackz-hackathon-2023-12.git

Flask

React

AWS

Python

MySQL

木構造を用いた連帯責任アラーム

the small push

せなじー

推しアイデア

・ユーザの状態をリアルタイムでアニメーション ・各木ごとの非同期処理 ・再帰を用いた木構造の処理 ・LEDの点灯パターン

作った背景

大学生の生態として「寝坊・遅刻」という言葉は切っても切り離せないのではなかろうか。私も大学生の端くれだが寝坊・遅刻はできるだけしたくない。このとき他の人との連帯責任によりアラームが鳴らないというシステムを作れば起きることができるのではなかろうか。その熱い思いから開発を行った。

推し技術

AWS IoT Core, Device Shadow,グラフ理論,SVGアニメーション

プロジェクト詳細

起きなきゃ起きれないよ♡

システム構成図

image

実際のIoTイメージ

image

概要

寝る前に起きる時間と今朝の眠たさを入力すると、起きる時間が近いユーザーでクラスタリングされ、木を構成する。木のノードにはユーザーのデータが保存されていて、今朝の眠たさの平均でソートされる。まずルートユーザーのアラームが鳴り、アラームをユーザーが止めると、次のノードのユーザーのアラームが鳴る。早くアラームを止めないと次の人に迷惑がかかっちゃうから、眠たくても早く起きなきゃいけないアプリ。気づけば早寝早起きな生活習慣を身に着けられるようになるのが狙い。

こだわり

ツリーを用意して、木が伸びていく段階をイルミネーションで段階的に表現した。フロントエンドでは、ユーザーが起床したかどうかで、リアルタイムな木のアニメーションを表現(したかった。)バックエンドでは、再帰関数を用いて数千個の木の進行を非同期のプロセスとして管理できるようにした。(実装はできなかったがクラウドからプロセスの状態を監視できるようにしたかった。。。。) ユーザーを順に起こす処理を実装した。バックエンドにもフロントエンドにもハードにもツリー要素を盛り込んだ点。 ハードウェアでは既存のライブラリを直接書き換えており、匠の技をたくさん詰め込みました。

課題

フロントエンドとバックエンドのリあるタイム処理をうまく実装できなかった。

the small push

@kuroishihiromu