1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

早寝促進システム HotaruNoHikari を作った

Last updated at Posted at 2025-01-10

はじめに

遅く起きると、1日が無為に終わってしまうことが多い。
早く起きるために一番大事なことは早く寝ることなので、
早寝のためのシステムを作った。

Webアプリでアラームを設定しておき、
設定した時間になると蛍の光が流れ、一定時間が経過すると強制的に消灯する。

デモ

アプリ操作画面(スマホ)

アラームシステム

システム構成

image.png

使用機器

Webアプリ

使用技術

  • フロントエンド:React
  • バックエンド:C# ASP.NET
  • データベース:MySQL(RaspiではMySQLが使えなかったためMariaDBで代替)

機能

  • 新規アラーム設定の追加
  • アラーム設定の編集
    • 有効・無効
    • アラーム時間
    • 再生する音楽の選択
    • スイッチのON・OFF
    • スイッチが作動するまでの時間
  • アラーム設定の削除

アラート(音楽再生&SwitchBot操作)アプリ

使用技術

  • コンソールアプリ:C#
  • スクリプト
    • SwitchBot操作:Python
    • 音楽再生:Python
  • データベース:MySQL(RaspiではMySQLが使えなかったためMariaDBで代替)

機能

  • 有効なアラーム設定がないか監視する
  • 音楽をスピーカーで再生する
  • Bluetooth通信でSwitchBotを制御する

GitHub

※ フォルダ構成をミスして上手くGitに公開できないため、Webアプリのソースのみ。

感想

ラズパイでASP.NETアプリを動かせるようになった

ここが一番苦労した。WindowsPC上で動かしていたものをラズパイ(Linux)上で動かすのに試行錯誤した。
Linuxでdotnetコマンドを動かすのと、PCからラズパイにアクセスするためのルーティング設定に時間がかかったが、先人のおかげで動かせた。感謝。

自分が動かした時の方法は以下にまとめた。
Raspberry PiでC#(ASP.NET)のWebアプリを動かす

はじめてReactでアプリを作った

初めてReactでアプリを作成した。最初は全部の実装をApp.tsxに書いていたが、コンポーネントを分割し、CSSを別ファイルに分けて、と徐々に細かくしていくのが楽しかった。また、MUIを使うだけでまあまあのデザインで出来てしまうので、モチベーションが保持できて嬉しかった。

続けることは難しい

せっかく機器まで購入してシステムを作ったが、動作確認の日以外で一度も使ってない。スマホのアラームは必ず使うので、それ以外でブラウザを起動して何かを設定するのが煩わしい。普段の生活で使えるものを作りたい。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?