ちゃっくらぼ

IT業界の片隅でひっそりと生きる兼業主婦の覚書。

ラズパイでスマート鳩時計を作る (4.pythonインストール~鳩を鳴かせる)

f:id:chack133:20190512003525p:plain

今回はコンソールばっかりで絵面が地味なので、表紙絵には実家の鳩時計の画像を載せておく…
シチズン製。小さいころ、親戚か取引先の工場長の家にあった鳩時計が羨ましくて、誕生日プレゼントとして買ってもらったもの。
中学校の近くの時計屋さんに行って、買ってもらうのを車で待っていたのを覚えてるから、3歳の誕生日だったと思っていたのだけど、GWに母に聞いたら2歳の誕生日だったのだそう。
えっ、これって2歳の記憶なの…?

気を取り直して。今回はRaspberry piPythonで、ハトを鳴かせてみます。

Pythonインストール

そういえば、Raspbianにpythonはプリインストールってどこかで読んだけど、
入ってるかな?と思って調べてみると…
f:id:chack133:20190323004323p:plain
oh…2.7…

Python2はもうすぐサポート終了と聞くため、最初からPython3で触り始めたいので、インストールします。
インストール手順はこちらを参考にさせて頂きました。
qiita.com

深夜に半分寝ながらやったらえらい時間がかかったけど、なんとかインストールされてPython3が使えるようになりました。
通例行事のHello worldをしておく。
f:id:chack133:20190512001726p:plain

音の再生

次は、音を再生する環境づくり。
qiita.com
こちらを参考にライブラリを取得。しかしここからがまたハマった…
pip3というのを使って音の再生に使用するライブラリをインストールするっぽいのですが、なんかよくわからないエラーが。

$ pip3 install pygame mutagen
Traceback (most recent call last):
File "/usr/bin/pip3", line 11, in <module>
sys.exit(__main__._main())
AttributeError: module 'pip.__main__' has no attribute '_main'

pip3を強制再インストールをする方法があるらしいので、試してみたところ…

$ python3 -m pip install --upgrade --force-reinstall pip

なんかうまく行った模様。
f:id:chack133:20190512002338p:plain

さあ!これでライブラリのインストールができる!

$ pip3 install pygame
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pygame in /usr/lib/python3/dist-packages (1.9.3)

pygameは普通にインストールできたけど…

$ pip3 install mutagen
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting mutagen
Using cached https://www.piwheels.org/simple/mutagen/mutagen-1.42.0-py3-none-any.whl
Installing collected packages: mutagen
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] 許可がありません: '/usr/local/lib/python3.5/dist-packages/mutagen-1.42.0.dist-info'
Consider using the `--user` option or check the permissions.

mutagenは「許可がありません」のエラーに。
とりあえずsudoつけておけば大丈夫かな?と思ってやってみましたが、

$ sudo pip3 install mutagen
Traceback (most recent call last):
File "/usr/bin/pip3", line 11, in <module>
sys.exit(__main__._main())
AttributeError: module 'pip.__main__' has no attribute '_main'

なんかまた元に戻っちゃった…

エラーメッセージによくよく見たら「Consider using the `--user` option」っても書いてあったので、
今度は最後に「--user」オプションを付けて実行。

$ pip3 install mutagen --user
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting mutagen
Using cached https://www.piwheels.org/simple/mutagen/mutagen-1.42.0-py3-none-any.whl
Installing collected packages: mutagen
Successfully installed mutagen-1.42.0

インストールできたー!

鳩の音源

こちらの「鳩時計の音」を拝借します。
pocket-se.info

鳩を鳴かせる

前述のMP3を鳴らすサンプルコードを丸写し参考にさせて頂いて、
いざ、鳩召喚!

2020/05/08 動画埋め込み追加しました
vimeo.com

音源周りで躓くと思ったのに、USBスピーカー繋ぐだけでちゃんと鳴いたー!!

次は鳩の音を定時起動して、朝の準備の時に使えるようにします。
取り急ぎcronかな…