お父にゃんの電子工作 -12ページ目

お父にゃんの電子工作

暇なおじさんが、電子工作(主にラジオ製作)をして勝手な感想を書く

長きに渡ってRaspberrypi Zero2でWebラジオを作ってきたが、ようやくなんとなく動くものが出来たので、いつものように簡単にパネルに固定していく。

 

キャン★ドゥで買ってきた仕切り板に、フリーの2DCADで描いた部品の穴を実寸大で印刷して貼り付ける。そこをめがけてドリルで穴開け。

 

穴が開いたらテーパーリーマで部品に合うように穴を広げていく。

 

ダイソーで買ってきた板をノコギリで切って部品を固定。

 

相変わらずの やっつけ仕事。

でも、まぁ、何もしないよりは ましぢゃろう。

 

動かすとこんな感じ。

おじさんの格安中華スマホで撮ると今一つきれいに映らないのだが、実際はもっと発色が良くてきれい。 曲情報からアルバムアートを表示するようにして大正解だった。

 

回路図はこちら

 

ソフトもこまごま修正した。

登録してあるステーションを聞く分には、問題ないと思う。

今回のPythonプログラムは以下に置いておきますので、試してみたい方はどうぞ。

 

Web_Radio_V1_0

 

追記:

一部バグ修正した"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を編集
  sudo nano /boot/firmware/config.txt
  最後に以下を追記:(GPIO26をシャットダウン後にLowに設定)
  dtoverlay=gpio-poweroff,gpiopin=26,active_low=1

 

●電源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プログラム内の以下を変更

#LCD設定値
LCD_type_IPS = False  #IPS液晶の場合はTrueに <===環境に応じて要変更
LCD_Rotation = 2 #液晶の向きで0か2に設定   <===環境に応じて要変更

 

●その他

 ここにアクセスすると、世界中のWebラジオステーション情報が手に入る。

 お好みのステーションを探して組み込んで欲しい。