はじめに
遅く起きると、1日が無為に終わってしまうことが多い。
早く起きるために一番大事なことは早く寝ることなので、
早寝のためのシステムを作った。
Webアプリでアラームを設定しておき、
設定した時間になると蛍の光が流れ、一定時間が経過すると強制的に消灯する。
デモ
アプリ操作画面(スマホ)
アラームシステム
システム構成
使用機器
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を使うだけでまあまあのデザインで出来てしまうので、モチベーションが保持できて嬉しかった。
続けることは難しい
せっかく機器まで購入してシステムを作ったが、動作確認の日以外で一度も使ってない。スマホのアラームは必ず使うので、それ以外でブラウザを起動して何かを設定するのが煩わしい。普段の生活で使えるものを作りたい。