見出し画像

【Raspberry Pi Advent Calendar 2022】止められない目覚まし時計を作った

これは Raspberry Pi Advent Calendar 2022 20日目の記事です。

お前は誰

詳細はTwitterウェブサイト見て、どうぞ。去年のRaspberry Pi Advent Calendarではジャンクスキャナを使う話Orange Piの話をしました。
家にはRaspberry Pi 1 Model B+とOrange Pi Zero (ラズパイの中華パチモン) が各1台あります。いい加減Raspberry Pi 4へリプレースしたいのですが、半導体不足で入手困難。トホホ…

対策されて草 (ごめんなさい)

上段: ファイルサーバ、下段: Webサーバ (arkw.work)

ラズパイが手に入らないので、最近はアキバで省電力なスリムデスクトップPCを生やしています。Core i3+メモリ4GB+HDD320GBの構成で5,000円くらい。

経緯

皆さん、絶起してますか?arkwはしてます。

「絶望の起床」の略語で、つまり寝坊したということを指す。2017年『ギャル流行語大賞』8位。
大切な予定があるにもかかわらず寝坊してしまい、確実に間に合わない……そんな絶望的な起床をしてしまったときに使用される、いわゆるJK語である。

出典 : https://numan.tokyo/words/6vg6s

私の絶起パターンは

アラームが鳴る→起きる→寝る→次のアラームが鳴る→起きる→寝る (これを数回繰り返す) →セットしたアラームが全て尽きる→アア! (10時起床)

です。この傾向を踏まえ、一定のペースでデカい音を鳴らせば多少早く起きられるのでは? と考えました。

材料

・Raspberry Pi 1 Model B+
・MicroSDカード
・USB-ACアダプタ
・LANケーブル
・3.5mmステレオミニプラグ接続のスピーカー

安心と信頼のダイソー300円スピーカー

自宅レイアウトの関係上モニタと有線LANを同時に使用できる環境が無く、ここ数年は専らSSH/VNC接続で運用しています。

boot直下に「ssh」ファイル (中身は空) を作成すると起動時にSSHが有効化され、初期設定含め全作業をリモートで行えます。ただし最近のRaspberry Pi OSではデフォルトのpiユーザが削除されており、この方法を使うとログインできません。Raspberry Pi Imagerを使い、OSをMicroSDカードへ書き込む前に設定する必要があります。

コーディング

まず音声チェック。Raspberry Piのジャックにスピーカーを接続し、下記コマンドを実行します。「Front, Center.」と聞こえれば正常です。

$ aplay /usr/share/sounds/alsa/Front_Center.wav

今回はRaspberry Pi内蔵のPython 3を使用しました。音声再生部分は、依存ライブラリが無く簡単に記述できる「simpleaudio」ライブラリで実装。WAVE専用のため、MP3やOGGなど他の形式を再生したい場合は別ライブラリ (Pydubなど) が必要です。

$ sudo apt-get update
$ sudo apt-get install -y python3-pip libasound2-dev
$ pip3 install simpleaudio

8時から10分おきにアラーム音が鳴るコードを、15分でサクッと作成。全文はGitHubにあります。

動作確認

🆗🆗🆗🆗🆗🆗🆗🆗

なお、この記事を書き始めてから1度も就寝しておらず、絶起防止効果は未確認です。(オイ)

今後の展望

・起床効果を高めるため、適宜プログラムを更新
・Raspberry Pi 4へのリプレース
・ON/OFFやアラーム時間変更をウェブブラウザ上で行えるクライアントの構築


この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?