長きに渡ってRaspberrypi Zero2でWebラジオを作ってきたが、ようやくなんとなく動くものが出来たので、いつものように簡単にパネルに固定していく。
キャン★ドゥで買ってきた仕切り板に、フリーの2DCADで描いた部品の穴を実寸大で印刷して貼り付ける。そこをめがけてドリルで穴開け。
穴が開いたらテーパーリーマで部品に合うように穴を広げていく。
ダイソーで買ってきた板をノコギリで切って部品を固定。
相変わらずの やっつけ仕事。
でも、まぁ、何もしないよりは ましぢゃろう。
動かすとこんな感じ。
おじさんの格安中華スマホで撮ると今一つきれいに映らないのだが、実際はもっと発色が良くてきれい。 曲情報からアルバムアートを表示するようにして大正解だった。
回路図はこちら
ソフトもこまごま修正した。
登録してあるステーションを聞く分には、問題ないと思う。
今回のPythonプログラムは以下に置いておきますので、試してみたい方はどうぞ。
追記:
一部バグ修正した"Web_Radio_v_01.py"を同じところに置いてありますので、試してみたい方はそちらをお使いください。
現在の構成では、一旦完成版にします。
他にも試してみたいことが有るので、もう少しプログラムを いじっていこうとは思っている。
「もっと、おいらをいじってくれてもいいニャよ」
もっと撫でろ、ということですね
----------- 既知の不具合----------
・ステーションのurlの末尾が ".m3u8" の場合、再生はするが、ストリームタイトル他の情報が取得できない。
FMおたる、京都三条ラジオカフェ等
(おじさんの実力では解決は難しいと思っている)
----------- 補足----------
なお、今回のコードを動かす前に以下作業が必要
●液晶を動かすために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
●シャットダウン時にGPIO26をソフトウェア的にLOW に駆動するように設定
・config.txtを編集最後に以下を追記:(GPIO26をシャットダウン後にLowに設定)
●電源on時に自動的にWebラジオソフトを起動するように設定(必要なら)
・/etc/rc.localを編集(または新規作成)
sudo nano /etc/rc.local
・PythonのWebラジオプログラムを起動するように、以下のように記述
(環境に応じてファイルの場所は変更してください)
python3 /home/nya/Documents/Web_Radio_V1_0.py &
exit 0
・実行権限を付与
sudo chmod +x /etc/rc.local
・systemd に rc-local サービスを有効化
sudo systemctl enable rc-local
●LCDの表示方向変更、色反転が必要な場合、Pythonプログラム内の以下を変更
●その他
ここにアクセスすると、世界中のWebラジオステーション情報が手に入る。
お好みのステーションを探して組み込んで欲しい。









