Raspberry Pi Zeroでmpd_gui改を動かす手順
拙作のVolumio2特化対応したmpd_gui改をRaspberry Pi Zeroで動かす手順の紹介です。
blue-7さんの公開されているLCDにmpd/volumioの曲名情報を表示するアプリmpd_gui(mpd or volumio対応)をカスタムしたものになります。
現時点ではWaveShare 1.3" 240x240 LCD HATとRaspi DAP Base(じんそんさんよりリリース予定)に対応しています。WaveShare 1.3" 240x240 LCD HATはI2S信号ラインとキーの配線がぶつかってるた2か所カット・ジャンパーの必要があります。
mpd_gui改の変更点とか
- Volumio2とSocket.ioで通信
- CPU負荷を多少低減
- メニューシステムの追加
- キュー、プレイリスト、ミュージックライブラリの操作を追加
- Alsa Mixer制御を追加(デジフィルなどDACの設定変更用)
- LCD Sleep機能の追加(一定時間無操作でSPI通信をOFF)
現時点での制約事項など
- volumio2のみ対応です。(将来的にはmpdにも対応はしたい)
- GPIOは5ボタンまで対応
- dtoverlayの変更はできません
- volumio-2.513-2018-12-07-pi.imgで動作確認しました
WaveShare液晶の改造
- KEY1とJoystick DownがI2S信号とぶつかってるので配線カットして下記のポートに繋ぎ変えてください
- KEY1 P21 -> P17
- Joystick Down P19 -> P22
build手順
準備(prepare)
sudo apt update sudo apt install build-essential cmake libboost-system-dev libboost-date-time-dev libboost-random-dev libssl-dev raspi-config libcv-dev libopencv-dev opencv-doc fonts-takao-gothic libtag1-dev libcurl4-openssl-dev git clone --recurse-submodules https://github.com/socketio/socket.io-client-cpp.git cd socket.io-client-cpp cmake ./ make clean make cd .. git clone https://github.com/tkztkztkz/NanoPi-NEO.git cd NanoPi-NEO/ git checkout SUPPORT_VOLUMIO
ビルド例 WaveShare IPS 1.3 240x240 KEYボタンを3ボタンとして使用
make -f makefile.rpiz DISPTYPE="-DDISPLAY_13IPS240240_RPI -DGPIO_BUTTON_POLARITY_INVERT -DGPIO_BUTTON_PREV=17 -DGPIO_BUTTON_NEXT=20 -DGPIO_BUTTON_PLAY=16" TARGET=mpd_gui
ビルド例 WaveShare IPS 1.3 240x240 ジョイスティックを5ボタンとして使用
make -f makefile.rpiz DISPTYPE="-DDISPLAY_13IPS240240_RPI -DGPIO_BUTTON_POLARITY_INVERT -DGPIO_5BUTTON -DGPIO_BUTTON_PREV=5 -DGPIO_BUTTON_NEXT=26 -DGPIO_BUTTON_PLAY=13 -DGPIO_BUTTON_UP=6 -DGPIO_BUTTON_DOWN=22" TARGET=mpd_gui
ビルド例 Raspi DAP Base
make -f makefile.rpiz DISPTYPE="-DDISPLAY_RASPI_DAP_BASE -DGPIO_BUTTON_POLARITY_INVERT -DGPIO_5BUTTON -DGPIO_BUTTON_PREV=24 -DGPIO_BUTTON_NEXT=26 -DGPIO_BUTTON_PLAY=5 -DGPIO_BUTTON_UP=27 -DGPIO_BUTTON_DOWN=22" TARGET=mpd_gui
設定変更 SPIの有効化
- raspi-config
Interfacing Option -> P4 SPI -> Yes
起動手順
mpd_guiを/usr/local/binにコピーして実行権限を付けたうえで、下記のコマンドを/etc/rc.localあたりに放り込んでください。
ビルド例 WaveShare IPS 1.3 240x240 ジョイスティックを5ボタンとして使用
gpio -g mode 5 up gpio -g mode 26 up gpio -g mode 13 up gpio -g mode 6 up gpio -g mode 22 up /usr/local/bin/mpd_gui &
WaveShare IPS 1.3 240x240 KEYボタンを3ボタンとして使用
gpio -g mode 17 up gpio -g mode 20 up gpio -g mode 16 up /usr/local/bin/mpd_gui &
Raspi DAP Base
gpio -g mode 24 up gpio -g mode 26 up gpio -g mode 5 up gpio -g mode 27 up gpio -g mode 22 up /usr/local/bin/mpd_gui &
操作方法
- PREV/PLAY/NEXTは、前曲・再生開始停止・次曲
- UP/DOWNで音量を変更
- PREV/NEXT長押しで音量を連続的に変更
- PLAY長押しでメニューに入ります。長押しでメニューから抜けます