前回、Webラジオのベース部分が出来たので、いろいろ未対応な部分を付け足して、とりあえず、なんとなく動くところまで作ってみたい。
ちなみに、コードを書くときはRaspberry PiのThonnyで書いても良いのだが、あまり作業性がよろしくない。
なのでWindowsのVisual Studio Codeを使って書いて、Real VNCでRaspberry Piにファイルを転送して動かしている。Visual Studio CodeだとPythonを認識して関数、変数など適度に色分けしてくれるので、見やすくてありがたい。
回路図はこちら(変更なし)
色々あったのだが、何となく動作するものが出来た。
標準モード
詳細表示モード(センターSW長押しで移行)
見た目、なんとなく、それっぽい感じ。
表示内容はステーションが返すステーション名、サンプルレート、コーデックくらいしか増えていない。
文字を小さくすれば他の情報を入れることも可能だが、小さいと読みづらい。
詳細表示モードを無しにして、標準モードにCodecを追加するだけで良いかもしれない。
音量調整、設定値の保存・読み込みも出来る。
しかしまだ、細かいところが作りこめていない。
今回mpvとffprobeを使ってWebラジオを構成してみたが、IPCソケットで通信できるようになるまで時間がかかる等で、起動が遅いような気がする。
他のやり方もあるようなので、ちょっと調べてソフトを入れ替えるか、このまま使うかを考えてみたい。
あと、液晶が2インチで輝度調整が出来ないタイプなので、2.8インチ版の輝度調整の出来るLCDを発注しておいたので、届き次第動かしてみたい。
参考までに、今回のコードを以下に入れておきます。
「にゃかにゃか時間がかかるにゃ~」
へいへい、もうしばらくお待ちを。
それより、足が届きかねてますぜ
----------- 補足----------
なお、今回のコードを動かす前に以下作業が必要
●液晶を動かすために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が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





