時間になったら LED で教えてくれる、ねこです。😺
- このリポジトリをクローンする
git clone <リポジトリのURL>
cd web-server- Python 仮想環境を作成し、必要なライブラリをインストールする
make setup- Webサーバを起動する
make run起動できたら、同じネットワーク上のブラウザから、
http://<Raspberry Pi のIPアドレス>:5000
にアクセスする。
IPアドレスは、Raspberry Pi 側で次のコマンドを実行する。
hostname -I- 「やること」に、リマインド内容を入力する
- 「知らせる日時」に、リマインド日時を入力する
- 「登録」を押す
- 指定した時間になると、LEDが点滅する
- 受け取ったら、「完了」を押す
| 機能 | 使用技術 | 役割 |
|---|---|---|
| フロントエンド | HTML / CSS / JavaScript | 画面本体 |
| バックエンド | Python | リマインダーの登録、保存、時刻判定 |
| Webサーバ | Flask | 画面表示とAPIの提供 |
| LED制御 | gpiozero | Raspberry Pi のGPIOに接続したLEDを点滅させる |
-
DB は使わず、JSON ファイルに保存している。
-
環境構築には Makefile を用いた。
-
フロントエンド
index.htmlから各APIが叩かれ、バックエンドに移る。 -
app.py内の該当APIのコードが実行される。 -
2 では
reminders.py内のReminderServiceクラスのメソッドが呼び出され、実行される。 -
必要に応じて、
hardware.py内のLED点滅コードが実行される。
-
GET /リマインダー画面を表示する -
GET /api/remindersリマインダー一覧を取得する -
POST /api/remindersリマインダーを登録する -
POST /api/reminders/<reminder_id>/completeリマインダーを「完了」の状態にする -
POST /api/reminders/<reminder_id>/cancelリマインダーを取り消す -
POST /api/test-ledLED点灯テスト用
