ラベル raspi の投稿を表示しています。 すべての投稿を表示
ラベル raspi の投稿を表示しています。 すべての投稿を表示

2026年9月7日月曜日

今さらRaspberry Pi Zero Wと液晶HATでVolumio 2 再生環境を作る 1.目的~環境設定

 ■目的
現状は、スマホ→Bluetooth→DAC→Power Ampという環境。
これだと、音楽を聴いているときにスマホで動画を見ると、動画の音声がスピーカーから出てくるので困るときがある。

なので、音楽はPi Zeroで再生し、スマホを独立して使えるようにしたい。

道具箱を漁るとPi Zero WとPCM5102Aが出てきたので、こちらで音楽を再生できるようにする。

■操作画面
せっかくなので、単体動作できるよう液晶画面とスイッチもつけることにする。
アリエクを彷徨い、安くてよさそうなHATを発見。
https://spotpear.com/shop/Raspberry-Pi-Game-1.54inch-LCD-touchscreen-display-ST7789.html

ST7789という定番の液晶に、センターあり十字キー、ABXY、LR、Start/Selectの合計13キーがついたお得セット。
2026年8月時点で千円以下というお得な商品だった。

■環境の前提
Pi Zeroは古いアーキテクチャのArmなので、Debian 8.0ベースのVolumio 2しか動かせず、Pythonも3.4止まり。
これが結構鬼門で、2026年時点だと単純にはaptやpip3で導入できないパッケージがあったりする。

本稿では、ここを丁寧に記録する。
昔はこのあたりの調査検証だけで何日もかかったが、Geminiの無料枠を使うことで、半日ほどで動作環境を整えることができた。

■環境構築
・OS
Volumio 2を探す。
先月までは以下のDownloadリンクから取得できたが、今だと404になる。一応リンクは残しておくが、探しなおしが必要になる可能性が高い。
https://updates.volumio.org/pi/volumio/2.917/volumio-2.917-2021-10-06-pi.img.zip

念のため本リンクを見つけたフォーラムのリンクも。
https://community.volumio.com/t/volumio-2-download-url/52893/3

Pi Zeroが存在する以上、ver2系のリンクも本家がちゃんとリンクを残しておくべきではとは思いますね。

imgが手に入ったら、あとはPi ImagerやddなどのツールでmicroSDに焼き込む。

・OS初期設定
まず大前提として、初手はWeb管理ツールで行うことを強く推奨。
調子に乗ってCUIから/etc/network/interfacesなどを触ると設定が自動で上書きされて消える等で辛いことになる。

スマホ等からVolumioのアクセスポイントに繋ぎこむ。
設定方法は省略するが、自分のwifiに繋がせ、固定IPにし、sshを有効化する。

DACは自分の繋ぎこむHATに合わせて選択。
今回は秋月のPCM5102A変換基板を自分で接続するので、Generic I2S DACを選択。

・実効環境設定
ここからが本番。

まずraspiとpython関係をaptで入れる。

# apt install -y raspi-config python3 python3-pip python3-pil python3-numpy python3-rpi.gpio

# apt install -y locales fonts-dejavu-core

 ST7789とmpdはaptやpip3では必要なバージョンが入らないので、ソースを直接落としてきて対応する。

$ wget --no-check-certificate https://github.com/pimoroni/st7789-python/archive/refs/tags/v0.0.4.zip
$ unzip v0.0.4.zip
$ cp st7789-python-0.0.4/library/ST7789/__init__.py /usr/local/lib/python3.4/dist-packages/ST7789.py

$ git clone https://github.com/Mic92/python-mpd2.git
$ cd python-mpd2/
$ git checkout v0.5.5
$ python3 setup.py install

両方とも、古いバージョンにしないとpython3.6以降のモダンな構文のため動かないので要注意。

raspi-configでSPIを有効化。

ここまで準備すれば、あとはPythonプログラムを用意すればOK。後編へ。







2017年1月29日日曜日

Raspberry Pi(2)で小型NASを製作

前提
・小型、省電力のNASが欲しい
・FAT32/NTFSでフォーマットした2.5インチHDDかUSBメモリを使いたい
・市販品は高くて柔軟性に欠け、今一つ
⇒Raspberry Piで自作することに

<2015/3時点のメモで、当時Pi3は未発売です>


①Raspberry Pi2購入
・Pi1⇒Pi2でかなりの性能アップ、余程お金に困ってなければ2を推奨
・ケースはAmazonで適当なクリアケースを購入
・OSはdebian系でaptitudeが使えるRaspbianに

②OS設定
・microSD HC 8GB(class 10推奨)に公式のimgを焼き込み
・ユーザpiとrootのpasswd変更
・sudoersのユーザpiのnopasswdを削除、suを許可
・/etc/network/interfacesでIPを固定に

③samba
・sambaをインストール
⇒# aptitude install samba
・/etc/samba/smb.confに以下を追記
## 日本語Windows対応
dos charset = CP932
unix charset = UTF8
display charset = UTF8
default case = lower
case sensitive = no
preserve case = yes
short preserve case = yes

## Windowsからアクセスするディレクトリ
## 書き込みできるよう権限も追加
[Share]
commnet = Pi-NAS
read only = no
locking = yes
path = /mnt/smbrt
guest ok = yes
create mask = 0777
directory mask = 0777
## smb.confは以上
・confを書き終えたらsambaを再起動
# /etc/init.d/samba restart
⇒Windowsからうまく繋いで読み書きできれば成功

④USB接続Diskの設定
少しハマった。
最初に、raspi-configでLocaleを日本語UTF8にしておく。

ディスクは単純にmountすると、raspbianのdefault設定のせいか、
samba経由で読めても書けない設定になってしまう。
mountのオプションを設定して回避する。
起動時に勝手にやってくれるようfstabにも設定しておく。

まずはmountのオプション
# mount /dev/sda1 /mnt/smbrt/disk/ -t vfat -o fmask=0000,dmask=0000,shortname=mixed,codepage=932,iocharset=utf8

最初の-t vfatまでは一般的な設定。
次の-o以降がマウント時のオプション。
まずfmask, dmaskだが、defaultだとmaskが0022になっていて、
所有者(=root)以外は書き込めなく設定されている。
これは困るので0000にしておく。
DOSのファイル名8.3文字ルールと混在が有り得るので、shortnameはmixedにする。
Windowsから日本語で読み書きするので、Shift-JIS(932)とUTF8をそれぞれをcodepageとiocharsetに設定する。
このfmask, dmaskの設定を知らずに随分時間を取られた。

あとは以下の記述を/etc/fstabに書き込めばOK。
(fstabはFile System TAbleの略なんですね。)
これはmountとは書式がちょっと違うけど、やってることは全く同じ。
/dev/sda1       /mnt/smbrt/disk vfat    rw,nofail,rw,noatime,codepage=932,iocharset=utf8,shortname=mixed,fmask=0000,dmask=0000,errors=remount-ro 1 2

以上、これでWindowsやAndroidスマホから読み書きできた