ちょっとづつ、Raspberry Pi Zero 2 WでWebラジオを作っていて、ようやく前の記事のように、Webラジオとしての基本的な機能は実現できた。
しかし、これはESP32S3で前に作った物とほぼ同じ物なのである。
もちろん、ESP32では上手く再生できないステーションも、問題なく再生できるので、それだけでも価値が有ると言えるのだが、Raspberry Piだからこそ出来る、というものを作りたい。
そこで、再生しているアーティスト、曲名からアルバムアートをネットから取得して表示させてみたい。
と、いうことで早速、ChatGPTにお願いしてみた。
何度かやり取りして、"アーティスト - 曲名" を渡すと iTunes APIで取得して160 × 160サイズに圧縮して表示させるプログラムを書いてくれた。
LCDの解像度も低いので鮮明な画像とは言い難いが、何となくそれっぽい
そして、これを前に作ったプログラムに組み込んでみる。
ちなみに、回路図はこちら
GPIO12をLCDのバックライト制御pinに接続(操作後、しばらくすると光量ダウン)
ちょっと、いろいろあったのだが、なんとか無事に動いた
アルバムアートが見つかった場合、右下に表示。アーティストと曲名は左側に小さく表示する。
右上はコーデックとビットレートの両方を表示するように変更
画像が粗いのは仕方ないが、アルバムアートを表示したことで、まぁ、なんか、それっぽい感じがするのである。
まだ、動きが怪しい部分もあるが、使って使えなくもないレベルには仕上がったと思っている。
にゃんとなく良い感じなのである。
全てはChatGPTのおかげなのだが、おじさんも大きく成長したような気になるのである。
今回のプログラムは以下に置いておきます。興味のある方はどうぞ。
「おぬしも、大きく成長したのニャ」
デブ猫2号になりそう。名前が「お餅」だしね
----------- 補足----------
なお、今回のコードを動かす前に以下作業が必要
●液晶を動かすためにLuma.lcdのインストール
sudo apt update
sudo apt install python3-luma.lcd python3-pil
●日本語対応フォントがインストールされていないので、noto-cjkをインストール。
sudo apt install fonts-noto-cjk
● rpi-lgpioにアップデート
sudo apt remove python3-rpi.gpio
sudo apt install python3-rpi-lgpio
● I2Sドライバを有効化
sudo nano /boot/firmware/config.txt
ファイルを開いたら以下を追加:
# PCM5102 用 I2S 設定
dtparam=i2s=on
dtoverlay=hifiberry-dac
●pigpioを自動起動に
電源投入時に自動で起動するように設定
sudo systemctl enable pigpiod
sudo systemctl start pigpiod
●pigpioがPCM用タイマを使っているので、PWMタイマーを使う設定にする
sudo mkdir -p /etc/systemd/system/pigpiod.service.d
sudo nano /etc/systemd/system/pigpiod.service.d/override.conf
エディタが開いたら以下を記入
[Service]
ExecStart=
ExecStart=/usr/bin/pigpiod -t 0 -l
保存してリブート
●Webラジオの再生ソフトのmpvをインストール
sudo apt install mpv








