娘のためにスマート目覚まし時計を自作した(Amazon の製品がひどすぎたから)
12 ドルのチップに Spotify、Philips Hue、学区の校暦を組み合わせ、登校日を自動で追いかける目覚まし時計を作った。子どもの朝がやっと静かになる。
日本語
コピー

12ドルのチップ、Spotify、Philips Hue、それに学区の校暦。これで朝がやっと静かになった。

完成した枕元時計。3Dプリントの筐体、レトロな青い16x2 LCD、側面にはクリック感のあるロータリーエンコーダ。マイクはなし。
学校に通う子どもがいる家庭なら、平日の朝がどれだけ大変か分かるだろう。
コーヒーを飲む暇もなく、朝食を用意し、ランドセルをまとめ、天気を確認し、二階に向かって起きろと叫び、家を出るまであと4分なのか12分なのかを計算する。
数か月前、私たちは娘の部屋にある Yoto プレーヤー兼目覚まし時計をアップグレードすることにした。彼女は成長して自分で決めたいことが増え、私のほうはYotoアプリでアラームを設定し、変更し、解除するのを忘れ続けるのにうんざりしていた。彼女はちょうど中途半端な年齢で、小学生向けのおもちゃでは子どもっぽすぎ、スマートフォンを持たせるには幼すぎる(こんにちは、中学生)。
そこで私はすべての親がすることをした。Amazonで検索した。条件は二つだけ。
- アラームを自分で設定して管理できること。
- Spotifyを再生できるが、スマートスピーカーではないこと。
延々と検索して疲れ果てた末に分かったのは、今どきの目覚まし時計は二種類しかないということだった。
- プラスチックのブザー:ずっしりしたプラスチックの塊。スマート機能は皆無。音は人間を即座に飛び起きさせるためだけに調整されている。
- 大手の「スマート」スクリーン:Amazon Echo ShowやGoogle Nest。高解像度の画面がニュースの見出しや広告を流し、常時オンのマイクが子どもの寝床から1メートルも離れていない場所にある。
耳障りなブザーは論外だし、娘にAIアシスタントでアラームを設定する癖をつけさせたくもなかった。自分でやるべき些細なことまでアシスタントに聞く、という悪い習慣が身につくと思ったからだ。
もともと私はいじるのが好きで、家庭内の問題を過剰にエンジニアリングする癖がある。だからゼロから作ることにした。買えば済むものを週末を使って自作すると宣言したとき、妻が疑いの目を向けたのも無理はない……
「楽な朝」の要件リスト
AIに最初の一行を書かせる前、あるいは半田ごてを握る前に、私は自分に問いかけた。本当に使いやすい子どもの時計とは、何をすべきなのか。
- やさしく起こす。 まず部屋に柔らかな日の出の光を灯し、それから心地よい音で、徐々に音量を上げながら。
- 夜は画面の光ゼロ。 彼女が寝ている間、部屋にまぶしい青いLEDが光っていてはいけない。音楽は自動で止まること。
- 学校の校暦を把握する。 学区の校暦を読み込んでいること。祝日や冬休みにはアラームが絶対に鳴らないこと。(労働者の日の朝7時に家中を叩き起こすほど、親として失敗なことはない。)
- 朝の予定が一目で分かる。 天気、その日のスケジュール、スクールバスのリアルタイムカウントダウンを画面に表示。
- Spotifyは欲しい、盗聴は要らない。 宿題やリラックスのときに音楽を聴かせたいが、傍らで聞き耳を立てるマイクは不要。
ハードウェア:シンプル、触れる、邪魔しない
直感的に使えて、娘の部屋にあっても見苦しくないものにしたかった。最終的にできたのはこれだ。
- 頭脳: Adafruit QT Py ESP32-S3 マイコン。非常に小さく、約12ドルでWi-Fi内蔵。
- 表示: 定番の16x2キャラクタLCD。静かな90年代レトロ感がある。動画もアプリも通知もなし。
- 操作: 右側の物理ロータリーエンコーダ。回すと画面が切り替わり、押すと確定する。何でもタッチスクリーンの時代に、触れる実体のノブがあるのはなかなか格好いい。
- 自動調光: 時計は天気APIから毎日の日の出と日の入りの時刻を自動取得する。昼間は画面が明るく読みやすく、夜になると自動で消灯し、誰も操作しなければ部屋は暗いまま。
Spotifyリモコンの工夫(大手を黙らせる)
時計はアラームにSpotifyを使わない。起床音は内蔵スピーカーから鳴る。ただ、娘は宿題中や寝る前に自分のSpotifyプレイリストを聴くのが大好きだ。
古いAmazon Echoが一台あったが、娘の部屋に常時待機の音声アシスタントを置きたくはなかった。そこで使ったのが、ちょっとした親の小技だ。Echoのマイクを物理的にミュートし、ウェイクワードをZiggyに設定する。
彼女はAlexaに話しかけられず、Alexaも彼女に話しかけられない。代わりに枕元の時計が、彼女専用の実体あるSpotify Connect リモコンになる。
🎵 04:30 PM ▶
Cruel Summer - Taylor Swift
音楽が再生されている間、曲名とアーティスト名がLCDにスクロール表示される。ノブを素早く二回押すと次の曲へ、回すと音量調整。彼女は自作のプレイリストをつなげられ、Amazonは音声データを一切受け取らない。
肝心要:保護者用コントロールパネル
この時計は娘のベッドサイドテーブルに置かれ、ローカルファームウェアで動いている。だが家のWi-Fiにつながると、軽量なWebサーバーを立ち上げ、家じゅうのスマホやノートPCからアクセスできるようになる。

保護者用Webコントロールパネル:日の出シミュレーションとDCPSカレンダー連携付き。
以下の機能が私たちの朝を一変させた。
1. 起床(もう戦うか逃げるかではない)
二階に向かって叫ぶ必要も、びっくりさせるアラームをセットする必要もない。彼女の部屋は10分前から柔らかな光でゆっくりと暖まっていく。時計スピーカーの中の通知音がだんだん大きくなる。彼女がノブを押して止めると、画面にYOU ARE AMAZING!❤️が浮かぶ。起きたときには穏やかで、新しい一日を迎える準備ができている。
2. 出発の流れ(小言ではなく、自主性)
以前の朝は、疲れる親の尋問だった。「上着を着なさい!今日の練習は何時から?スクールバスに間に合わないよ?!」 今は、彼女が自分でノブを回す。気温が見える。放課後にサッカーの練習があるかどうかが見える。スクールバスがあと6分で来ることが見える。私たちはもう航空管制官ではない。彼女が自分の朝を仕切っている。
3. 宿題と就寝(見えるカウントダウン)
読書や宿題の時間には、ノブをタイマーモードに切り替えられる。プログレスバーが時間の経過とともに右から左へ動く。「あと15分あるよ」が理解できない子にとって、時間が見えて消えていくのは、宿題を進めるちょっとしたコツになる。就寝時間になると、ボタン一つで部屋の明かりが15%のラベンダー色のほのかな光に落ち、ナイトモードを設定しておけば彼女が眠ったあとに音楽を自動で止める。
4. 親にとっての大きな勝利(学校カレンダー)
上のダッシュボードのスクリーンショットにある緑のバッジに注目してほしい。
Alarm Set (06:30 AM • School Schedule)
長期週末のたびに自分でオフにしなければならない、ありがちな月曜から金曜のアラームではない。この時計は私たちの学区のカレンダーを自動で照会する。感謝祭、教員研修日、雪による休校などで学校が休みなら、アラームは鳴らない。 ボタンに一切触れることなく、自然に目が覚めるまで眠れる。
本当に朝の問題は解決したのか?
解決した。それどころか、想像していたよりもうまくいっている。
朝は、次々と起こしに行き、階段の下から様子をうかがう連続から、もっと自主的なリズムに変わった。彼女は自分で起き、天気予報とバスの時刻を自分で確認し、朝を自分で回せていることを心から誇りに思っている。
週末いくつかのvibe codingと、いくつかのAPIと、3Dプリントのケースと、少しのホットグルーで済んだが、家族の朝を取り戻せたなら、その一分一秒に見合う価値がある。彼女も、自分だけのデバイスを持っているのはかっこいいと思っている。
更新:正式にオープンソースになりました!
この時計はもともと自分の家のためだけに作った。でも他の親たちの反応を見て、コードをきれいに整理し、プロジェクトをオープンソースにすることにした。
自分の子のベッドサイドに一つ作りたい人も、このファームウェアを自分のスマートホームの一部に作り変えたい人も、すべて無料で手に入る:
- GitHubのファームウェアとハードウェアリポジトリ: 完全なソースコード、FreeRTOSのコア設定、ピン定義、配線図。Creative Commonsの非商用ライセンス。GitHubリポジトリ
- 専用のプロジェクト仕様と部品リスト: 完全な部品表(BOM)。すべてAdafruitの標準的な在庫部品を使用。ノブのメニュー構造図と段階的な組み立てガイド付き。Spotify Clockの詳細を見る
(娘は今でも一緒にキットを売るべきだと主張しているので、今後十分な関心が集まれば、キット化も不可能ではない。興味があればコメント欄で教えてほしい。)