Volumio3プラグイン(2024/5/18更新) [Volumio]
OPAです。
注意ですが、Python3での検証時間が少ないため修正箇所の洗い出しがすべてできていません。不具合はVolumio2のプラグインよりあるかもしれません。
本プラグインは私が趣味で作ったものなので、動作保証はしませんし、ハードウェアやvolumioが破損したとかにも責任はとれません。自己責任でお願いします。
本プラグインは、タッチスクリーン(XPT2046)付き320x480LCDパネル(ST7796S,ILI9486)向けのプラグインです。Raspberry pi 4 Bしか動作確認していません。 こちらで使用したパネルは、以下の互換のパネルらしいです。
http://www.lcdwiki.com/MHS-4.0inch_Display-B
http://www.lcdwiki.com/MHS-3.5inch_RPi_Display
楽曲表示は、横向きのデザイン1種、縦向きのデザイン1種があります。
スクリーンセイバーは4つ選択できます。
固定再生ファイルを指定することで、指定された音源ファイルを音声通知時に再生します(WAVファイル限定)。音声通知するためには、APLAYデバイスに、ALSAデバイスを設定してください。
天気予報設定で、機能を有効にすると、スクリーンセイバー動作時に、定期的に天気予報が表示されます。デフォルトでは、毎時0分、15分、30分、45分に表示されます。データの取得間隔は30分固定です。気象庁のページからデータを取得しています。
タッチスクリーンの補正(キャリブレーション)は、プラグインの設定画面で、キャリブレーションを行ってください。 キャリブレーションをしないと、タッチ操作が有効になりません。
キャリブレーションの設定情報は、表示方向と表示反転ごとに設定ができます。
プラグイン設定画面のキャリブレーションボタンを押下するとLCD画面がキャリブレーション設定画面に切り替わります。十字が5回表示されるので、十字の中央をタッチします。5回タッチすると、テストモードに切り替わり、画面上にタッチするとタッチした位置に点が表示されます。10回タッチすると通常画面に戻り、キャリブレーションデータが保存されます。
タッチ操作可能なものは以下の通りです。
外部からVolumioの操作ができるように、名前付きパイプ(/tmp/commandpipe)を実装しています。
名前付きパイプに、以下のようにコマンドを流します。
赤外線のコントロールであれば、lircrcファイルに以下のように記載します。
LCDに表示される状況に応じて、以下のような挙動をするようになっています。
参考までに使用したLCDの結線を以下に示します。
インストールは以下の通りです。(Volumio2対応版とは異なりますので注意してください)
プラグインの設定が画面はありませんので、直接ファイルを更新してください。(/data/plugins/miscellanea/argonone/argononed.conf)
インストールは以下の通りです。
天気予報の情報は、気象庁のページからデータを取得しています。
緊急地震速報のURL変更に伴い緊急地震速報をださないように変更しました
Volumio3へのバージョンアップに伴い、プラグインもVolumio3への対応をしました。実装もPython2.7からPython3.7に変更しました。注意ですが、Python3での検証時間が少ないため修正箇所の洗い出しがすべてできていません。不具合はVolumio2のプラグインよりあるかもしれません。
本プラグインは私が趣味で作ったものなので、動作保証はしませんし、ハードウェアやvolumioが破損したとかにも責任はとれません。自己責任でお願いします。
■ SPIに接続されたLCDに曲名やアルバムアートを表示
・320x480 SPI Integration Display2 プラグイン(Pi4Bのみ)
本プラグインは、タッチスクリーン(XPT2046)付き320x480LCDパネル(ST7796S,ILI9486)向けのプラグインです。Raspberry pi 4 Bしか動作確認していません。 こちらで使用したパネルは、以下の互換のパネルらしいです。
http://www.lcdwiki.com/MHS-4.0inch_Display-B
http://www.lcdwiki.com/MHS-3.5inch_RPi_Display
楽曲表示は、横向きのデザイン1種、縦向きのデザイン1種があります。
スクリーンセイバーは4つ選択できます。
- BLANK
- LINE
- WATCH(未実装 BLANKと同じ)
- Simple WATCH
- LCD Wiper
現在は利用できません
緊急地震速報通知がONの場合、音楽の再生状態に関係なく地震速報情報が表示され、表示された日本地図上の震源地に×印が付きます。設置場所の緯度経度を設定することで距離も表示されます(デフォルトは東京駅の緯度経度)。 震源地からの距離が閾値より近い場合で、指定されたマグニチュードの閾値より大きい場合、 音声での通知がされます。ただし、音声の合成の時間がかかるため表示より遅れて通知されます。音声通知される場合、音楽が再生中の場合、一時停止して音声通知されます。固定再生ファイルを指定することで、指定された音源ファイルを音声通知時に再生します(WAVファイル限定)。音声通知するためには、APLAYデバイスに、ALSAデバイスを設定してください。
天気予報設定で、機能を有効にすると、スクリーンセイバー動作時に、定期的に天気予報が表示されます。デフォルトでは、毎時0分、15分、30分、45分に表示されます。データの取得間隔は30分固定です。気象庁のページからデータを取得しています。
タッチスクリーンの補正(キャリブレーション)は、プラグインの設定画面で、キャリブレーションを行ってください。 キャリブレーションをしないと、タッチ操作が有効になりません。
キャリブレーションの設定情報は、表示方向と表示反転ごとに設定ができます。
プラグイン設定画面のキャリブレーションボタンを押下するとLCD画面がキャリブレーション設定画面に切り替わります。十字が5回表示されるので、十字の中央をタッチします。5回タッチすると、テストモードに切り替わり、画面上にタッチするとタッチした位置に点が表示されます。10回タッチすると通常画面に戻り、キャリブレーションデータが保存されます。
タッチ操作可能なものは以下の通りです。
- 楽曲表示:再生・一時停止ボタン
- 楽曲表示:戻るボタン
- 楽曲表示:進むボタン
- 楽曲表示:ランダム切り替え
- 楽曲表示:リピート切り替え
- 楽曲表示:シーク(※試験中)
- 楽曲表示:ボリューム(※試験中)
- スクリーンセイバー表示:左半分の画面領域をタッチすると楽曲表示に復帰
- スクリーンセイバー表示:右半分の画面領域をタッチすると天気予報を表示
外部からVolumioの操作ができるように、名前付きパイプ(/tmp/commandpipe)を実装しています。
名前付きパイプに、以下のようにコマンドを流します。
$ echo -n "toggle" > /tmp/commandpipe
赤外線のコントロールであれば、lircrcファイルに以下のように記載します。
begin prog = irexec button = KEY_CENTER config = echo -n "toggle" > /tmp/commandpipe end
LCDに表示される状況に応じて、以下のような挙動をするようになっています。
- 楽曲表示時
repeat | リピート |
random | ランダム |
toggle | 再生・一時停止 |
seek plus | 10秒シーク(前進) |
seek minus | 10秒シーク(後進) |
volume plus | 音量上げる |
volume minus | 音量下げる |
volume toggle | ミュート/ミュート解除 |
previous | 戻る |
next | 進む |
- スクリーンセイバー表示時
previous | 楽曲表示 |
next | 天気予報表示 |
toggle | 楽曲再生 |
- 天気予報表示時
toggle | 楽曲再生 |
参考までに使用したLCDの結線を以下に示します。
Pin Number | Identification | Description | Rpi |
1, 17 | 3.3V | Power positive (3.3V power input) | 3V3 |
2, 4 | 5V | Power positive (5V power input) | 5V |
3, 5, 7, 8, 10, 12, 13, 15, 16 | NC | Not connected | - |
6, 9, 14, 20, 25 | GND | Power ground | Ground |
11 | TP_IRQ | The touch panel is interrupted, and it is detected that the touch panel is pressed low | GPIO17 |
18 | LCD_RS | Instruction/data register selection, low level is instruction, high level is data | GPIO24 |
19 | LCD_SI / TP_SI | LCD display / touch panel SPI data input | GPIO10 |
21 | TP_SO | Touch panel SPI data output | GPIO09 |
22 | RST | Reset signal, low reset | GPIO25 |
23 | LCD_SCK / TP_SCK | LCD display / touch panel SPI clock signal | GPIO11 |
24 | LCD_CS | LCD chip select signal, low level enable | GPIO08 |
26 | TP_CS | Touch panel chip select signal, low level enable | GPIO07 |
インストールは以下の通りです。(Volumio2対応版とは異なりますので注意してください)
- Volumio3をインストール
- http://volumio.local/DEV にアクセスしてSSHのENABLEボタンを押下する
- WinSCP等を使ってプラグインを転送しておく
- ターミナルを開き、SSHでvolumio.localにvolumioユーザ(パスワードvolumio)でログインする
- 以下のコマンドを実行する
$ sudo apt-get update $ sudo apt-get -y install build-essential $ miniunzip lcd320x480Spi_Integration_display2_XXX.zip $ cd lcd320x480Spi_Integration_display2_XXX $ npm install $ volumio plugin install : Finalizing installation Progress: 100 Status :LCD320x480 SPI Integration Display2 Successfully Installed, Do you want to enable the plugin now? Finalizing installation Done! Plugin Successfully Installed
- /boot/userconfig.txtファイルに以下を追加する
dtparam=spi_dma4 dtoverlay=spi0-2cs
- /etc/modprobe.d/spidev.confファイルを作成し、以下を追加する
options spidev bufsiz=4194304
- Volumioを再起動する
- メニューからプラグインを選択し、「インストール済みのプラグイン」タブを選択する
- LCD320x480 SPI Integration Display2プラグインを有効にする
- LCDドライバ種別を選択する(異なるドライバに切り替える場合は、保存した後、Raspberry piの電源を一旦落としてください)
- 表示内容、表示反転、スクリーンセイバー、その他項目を選択後、保存する
【リリース】
2023/10/04 緊急地震速報のURL変更に伴い機能停止しました
2023/11/11 スペクトラム表示とレベルメータの左右が反転していたのを修正
2024/05/18 Volumio v3.676以降の対応(socketioのバージョンアップ)ベータ版
■ 実験的
・Argon One Raspberry Pi 4ケース プラグイン(Pi4Bのみ)
本プラグインは、Argon One Raspberry Pi 4ケースのファンとボタンのコントローラツールをVolumio3のプラグインにしたものです。内容はオリジナルのものと変わりありません。プラグインの設定が画面はありませんので、直接ファイルを更新してください。(/data/plugins/miscellanea/argonone/argononed.conf)
インストールは以下の通りです。
- Volumio3をインストール
- http://volumio.local/DEV にアクセスしてSSHのENABLEボタンを押下する
- WinSCP等を使ってプラグインを転送しておく
- ターミナルを開き、SSHでvolumio.localにvolumioユーザ(パスワードvolumio)でログインする
- 以下のコマンドを実行する
$ sudo apt-get update $ sudo apt-get -y install build-essential $ miniunzip argonone.zip $ cd argonone $ npm install $ volumio plugin install Progress: 100 Status :argonone controller Successfully Installed, Do you want to enable the plugin now? Finalizing installation Done! Plugin Successfully Installed
- メニューからプラグインを選択し、「インストール済みのプラグイン」タブを選択する
- argonone controllerプラグインを有効にする
【リリース】
1/2 初回リリース
https://www.dropbox.com/s/w8tzfsmqif091f5/argonone.zip?dl=0
■ 参考
天気予報の情報は、気象庁のページからデータを取得しています。
- 気象庁使い方は、気象庁JSONデータを参考にさせていただきました。