SSブログ

Volumio2プラグイン(9/11更新) [Volumio]

OPAです。

Volumioプラグインを更新しました。今後はこのページを更新していきます。(volumio-2.873-2021-02-19-pi.imgより新しいとbuild-essentialのインストールに失敗します)
本プラグインは私が趣味で作ったものなので、動作保証はしませんし、ハードウェアやvolumioが破損したとかにも責任はとれません。自己責任でお願いします。

2020_09_22 16_07.jpg

■ SPIに接続されたLCDに曲名やアルバムアートを表示

・320x480 SPI Integration Display2 プラグイン(実験中)

本プラグインは、タッチスクリーン(XPT2046)付き320x480LCDパネル(ST7796S,ILI9486)向けのプラグインです。こちらで使用したパネルは、以下の互換のパネルらしいです。
http://www.lcdwiki.com/MHS-4.0inch_Display-B
http://www.lcdwiki.com/MHS-3.5inch_RPi_Display

※タッチ操作方法についてはまだ検討中であり、デザイン含めて変わる可能性があります。
横向きのデザイン1種、縦向きのデザイン1種があります。
lcd320x480.PNG

スクリーンセイバーは4つ選択できます。
  • BLANK
  • LINE
  • WATCH(未実装 BLANKと同じ)
  • Simple WATCH
  • LCD Wiper
緊急地震速報通知がONの場合、音楽の再生状態に関係なく地震速報情報が表示され、表示された日本地図上の震源地に×印が付きます。設置場所の緯度経度を設定することで距離も表示されます(デフォルトは東京駅の緯度経度)。 震源地からの距離が閾値より近い場合で、指定されたマグニチュードの閾値より大きい場合、 音声での通知がされます。ただし、音声の合成の時間がかかるため表示より遅れて通知されます。音声通知される場合、音楽が再生中の場合、一時停止して音声通知されます。
固定再生ファイルを指定することで、指定された音源ファイルを音声通知時に再生します(WAVファイル限定)。音声通知するためには、APLAYデバイスに、ALSAデバイスを設定してください。

参考までに使用したLCDの結線を以下に示します。

Pin NumberIdentificationDescriptionRpi
1, 173.3VPower positive (3.3V power input)3V3
2, 45VPower positive (5V power input)5V
3, 5, 7, 8, 10, 12, 13, 15, 16NCNot connected-
6, 9, 14, 20, 25GNDPower groundGround
11TP_IRQThe touch panel is interrupted, and it is detected that the touch panel is pressed lowGPIO17
18LCD_RSInstruction/data register selection, low level is instruction, high level is dataGPIO24
19LCD_SI / TP_SILCD display / touch panel SPI data inputGPIO10
21TP_SOTouch panel SPI data outputGPIO09
22RSTReset signal, low resetGPIO25
23LCD_SCK / TP_SCKLCD display / touch panel SPI clock signalGPIO11
24LCD_CSLCD chip select signal, low level enableGPIO08
26TP_CSTouch panel chip select signal, low level enableGPIO07


インストールは以下の通りです。
  • Volumioをインストール
  • http://volumio.local/DEV にアクセスしてSSHのENABLEボタンを押下する
  • WinSCP等を使ってプラグインを転送しておく
  • ターミナルを開き、SSHでvolumio.localにvolumioユーザ(パスワードvolumio)でログインする
  • 以下のコマンドを実行する
    $ miniunzip lcd320x480_Integration_display2_XXX.zip
    $ cd lcd320x480_Integration_display2_XXX
    $ sudo apt-get update
    $ sudo apt-get -y install build-essential
    $ npm install
    $ volumio plugin install
        :
    Progress: 100
    Status :LCD320x480 SPI Integration Display2 Successfully Installed, Do you want to enable the plugin now?
    CTRL-Cで止める
  • メニューからプラグインを選択し、「インストール済みのプラグイン」タブを選択する
  • LCD320x480 SPI Integration Display2プラグインを有効にする
  • LCDドライバ種別を選択する(異なるドライバに切り替える場合は、保存した後、Raspberry piの電源を一旦落としてください)
  • 表示内容、表示反転、スクリーンセイバー、その他項目を選択後、保存する
タッチスクリーンの補正(キャリブレーション)をします。表示方向と表示反転ごとに設定できます。プラグイン設定画面のキャリブレーションボタンを押下するとLCD画面がキャリブレーション設定画面に切り替わります。十字が5回表示されるので、 十字の中央をタッチします。5回タッチすると、テストモードに切り替わり、画面上にタッチするとタッチした位置に点が表示されます。10回タッチすると通常画面に戻り、キャリブレーションデータが保存されます。 タッチ操作可能なものは以下の通りです。
  • 再生・一時停止ボタン
  • 戻るボタン
  • 進むボタン
  • ランダム切り替え
  • リピート切り替え
  • シーク(※試験中)
  • ボリューム(※試験中)
  • スクリーンセイバー中に画面をタッチすると通常画面に復帰

【リリース】

9/5 実験的リリース

https://www.dropbox.com/s/uoaj23weo5a75dt/lcd320x480_Integration_display2_20210905054154359.zip?dl=0


9/11 LCDの初期化処理の見直し

https://www.dropbox.com/s/iu4aj4o0mk2o4bo/lcd320x480_Integration_display2_20210910123956206.zip?dl=0


・ST7789 SPI Integration Display2 プラグイン

動作確認したものは、ST7789(CS無し)の240x240のものですので、このサイズでデザインしています。サイズが240x320については、設定画面でサイズを指定することで中央寄せで表示されるようですが、当方では確認できていません。
※2021/5/5追記 ILI9341(CSあり)についても対応しました(動作確認は、秋月電子様の、「ILI9341搭載2.8インチSPI制御タッチパネル付TFT液晶 MSP2807」を使用しています)。 デザインは240x240ものしかありません。

DSC_0151.JPG


表示モードは全部で6種類あります。

st7789displaymoder.jpg

スクリーンセイバーは5つ選択できます。(11/29 LCD Wiper追加)
  • BLANK
  • LINE
  • WATCH
  • Simple WATCH
  • LCD Wiper
緊急地震速報通知がONの場合、音楽の再生状態に関係なく地震速報情報が表示され、表示された日本地図上の震源地に×印が付きます。設置場所の緯度経度を設定することで距離も表示されます(デフォルトは東京駅の緯度経度)。 震源地からの距離が閾値より近い場合で、指定されたマグニチュードの閾値より大きい場合、 音声での通知がされます。ただし、音声の合成の時間がかかるため表示より遅れて通知されます。音声通知される場合、音楽が再生中の場合、一時停止して音声通知されます。
固定再生ファイルを指定することで、指定された音源ファイルを音声通知時に再生します(WAVファイル限定)。音声通知するためには、APLAYデバイスに、ALSAデバイスを設定してください。

st7789screensaver.jpg

参考までに使用したLCDの結線を以下に示します。

Symbli Function Pin No GPIO Name
GND power supply 25 Ground
VCC DC 3.3-5V 17 3.3V
SCL SPI Clock Cable 23 GPIO11 SPI_CLK
SDA SPI Data Cable 19 GPIO10 SPI_MOSI
RES Reset 22 GPIO25 RES
DC SPI Choice/ Command Choice 18 GPIO24 DC
BLK Backlight contrli default floating low level off NC NC

※ GPIO12/13/18/19からPWM出力が可能です。(GPIO18/19は動作未確認です)
※チップセレクト(CS)を使うモジュールは、GPIO8(24番ピン)を使用します。
秋月電子様の「ATM0130B3使用フルカラー液晶コントロールキット」で動作確認しました。ただし、バックライト制御は試していません。

インストールは以下の通りです。
  • Volumioをインストール
  • http://volumio.local/DEV にアクセスしてSSHのENABLEボタンを押下する
  • WinSCP等を使ってプラグインを転送しておく
  • ターミナルを開き、SSHでvolumio.localにvolumioユーザ(パスワードvolumio)でログインする
  • 以下のコマンドを実行する
    $ miniunzip st7789Spi_Integration_display2_XXX.zip
    $ cd st7789Spi_Integration_display2_XXX
    $ sudo apt-get update
    $ sudo apt-get -y install build-essential
    $ npm install
    $ volumio plugin install
        :
    Progress: 100
    Status :ST7789 SPI Integration Display2 Successfully Installed, Do you want to enable the plugin now?
    CTRL-Cで止める
  • メニューからプラグインを選択し、「インストール済みのプラグイン」タブを選択する
  • ST7789 SPI Integration Display2プラグインを有効にする
  • CSの有無でno_csモードを切り替える
※ILI9341の表示方法
プラグインの設定画面で、以下を設定
  • LCDタイプ を「ILI9341」
  • LCDディスプレイ縦(Dot)を「320」
  • SPIモードを「MODE0」
  • SPI No_cs設定を「Off」

【リリース】

9/22 処理共通化後の初期リリース

https://www.dropbox.com/s/wuk4jtcf2rzbzw5/st7789Spi_Integration_display2_20200922075859028.zip?dl=0

10/24 表示方向機能の追加

https://www.dropbox.com/s/m37eafmpy15nbzv/st7789Spi_Integration_display2_20201024090914879.zip?dl=0

10/25 SPI CSの処理の見直し

https://www.dropbox.com/s/l8jiubvo4t1pttx/st7789Spi_Integration_display2_20201025021633659.zip?dl=0

11/23 Aplayデバイスの保存の見直し、PWM出力の追加

https://www.dropbox.com/s/yj0zab5nu50segq/st7789Spi_Integration_display2_20201123065738480.zip?dl=0

11/29 フルカラーモードの追加、LCD Wiperスクリーンセイバーの追加

https://www.dropbox.com/s/igsb3nwmibr4dqt/st7789Spi_Integration_display2_20201129045008199.zip?dl=0

2/28 インストールができない対処

https://www.dropbox.com/s/7l7erfec8nycijl/st7789Spi_Integration_display2_20210228035657439.zip?dl=0

3/1 設定画面が開かない対処、no_csモード追加

https://www.dropbox.com/s/oqf456gdi6lwbtf/st7789Spi_Integration_display2_20210301113908496.zip?dl=0

4/11 pipのインストールURL変更に伴う対処

https://www.dropbox.com/s/w24x00hgyu20uxs/st7789Spi_Integration_display2_20210410131132585.zip?dl=0

5/5 インストールパッケージの見直し、曲名表示のデザイン変更、LCDタイプ(ILI9341)の追加、不具合修正

https://www.dropbox.com/s/q7dr0fzvgl6x7lr/st7789v_Integration_display2_20210505115120052.zip?dl=0

※以前のプラグインをアンインストールし、本バージョンからインストールしようとしてもインストールできな場合があるかもしれませんので、再度Volumioのイメージからインストールしたほうが無難です。

9/11 最新化

https://www.dropbox.com/s/y9e7i8t8husem3n/st7789v_Integration_display2_20210910120156247.zip?dl=0



■ I2Cに接続された有機ELに曲名を表示

・SSD1306 i2C Integration Display2 プラグイン

秋月電子様の「0.96インチ 128×64ドット有機ELディスプレイ(OLED)」で確認していたと思っていたらいつの間にか基板等が変わって新しいリビジョンになっているようです。ですので確認したのは初期に売っていたものです。
この有機ELは、128x64ですのでこれ以外のサイズだと表示されません。また、基板の裏のチップの付け替えで、2つのアドレスを使用することができます。 以下の写真は、付け替えたものです。(新しいリビジョンは未確認です)

SSD1306_0x7A.jpg

1つ目のアドレスの有機ELには、曲情報、スクリーンセイバー、緊急地震速報が表示されます。
スクリーンセイバーは3つ選択できます。
  • BLANK
  • LINE
  • WATCH
緊急地震速報通知がONの場合、音楽の再生状態に関係なく地震速報情報が表示されます。設置場所の緯度経度を設定することで距離も表示されます(デフォルトは東京駅の緯度経度)。 震源地からの距離が閾値より近い場合で、指定されたマグニチュードの閾値より大きい場合、 音声での通知がされます。ただし、音声の合成の時間がかかるため表示より遅れて通知されます。音声通知される場合、音楽が再生中の場合、一時停止して音声通知されます。
固定再生ファイルを指定することで、指定された音源ファイルを音声通知時に再生します(WAVファイル限定)。音声通知するためには、APLAYデバイスに、ALSAデバイスを設定してください。

2つ目の有機ELアドレスには、VUメータもしくはスペクトラムが表示されます(スクリーンセイバー動作時、緊急地震速報時はブランク表示)。

2020_09_22 16_14.jpg

参考までに使用した有機ELの結線を以下に示します。

Symbli Function Pin No GPIO Name
VCC 3~5.5V 1 3.3V
GND power supply 9 Ground
SCL I2C bus clock signal 5 GPIO03 SCL1,I2C
SDA I2C bus data siganl 3 GPIO02 SDA1,I2C

インストールは以下の通りです。
  • Volumioをインストール
  • http://volumio.local/DEV にアクセスしてSSHのENABLEボタンを押下する
  • WinSCP等を使ってプラグインを転送しておく
  • ターミナルを開き、SSHでvolumio.localにvolumioユーザ(パスワードvolumio)でログインする
  • 以下のコマンドを実行する
    $ miniunzip ssd1306I2c_Integration_display2_XXX.zip
    $ cd ssd1306I2c_Integration_display2_XXX
    $ sudo apt-get update
    $ sudo apt-get -y install build-essential
    $ npm install
    $ volumio plugin install
        :
    Progress: 100
    Status :SSD1306 I2C Integration Display2 Successfully Installed, Do you want to enable the plugin now?
    CTRL-Cで止める
  • I2Cバスの他の機器に影響を与えない値で。/boot/userconfig.txtファイルに以下を追加する(追加したら再起動)
    dtparam=i2c_baudrate=400000
  • メニューからプラグインを選択し、「インストール済みのプラグイン」タブを選択する
  • SSD1306 I2C Integration Display2プラグインを有効にする

【リリース】

9/22 処理共通化後の初期リリース

https://www.dropbox.com/s/yxpdgkyarv7zsds/ssd1306I2c_Integration_display2_20200922075850974.zip?dl=0

11/23 Aplayデバイスノ保存の見直し

https://www.dropbox.com/s/q0nz0yqrc21scyo/ssd1306I2c_Integration_display2_20201123065726413.zip?dl=0

2/28 インストールができない対処

https://www.dropbox.com/s/a4ix0qbzgbweda7/ssd1306I2c_Integration_display2_20210228035651533.zip?dl=0

4/11 pipのインストールURL変更に伴う対処

https://www.dropbox.com/s/bz5awbwo55yqm5x/ssd1306I2c_Integration_display2_20210410131145167.zip?dl=0

5/5 インストールパッケージの見直し

https://www.dropbox.com/s/vv1876zu869o6xz/ssd1306I2c_Integration_display2_20210504122345139.zip?dl=0

※以前のプラグインをアンインストールし、本バージョンからインストールしようとしてもインストールできな場合があるかもしれませんので、再度Volumioのイメージからインストールしたほうが無難です。

■ 参考


緊急地震速報の情報は、以下を利用しています。 スクリーンセイバーの時計の数字のフォントには以下を使用しています。ありがとうございます。
nice!(0)  コメント(86) 

作成中(9/5) [Volumio]

OPAです。 今度はタッチパネル付きの3.5インチ、4.0インチの液晶モジュールを使う予定です。解像度は320x480あります。Amazonで買いました。
http://www.lcdwiki.com/MHS-4.0inch_Display-B
http://www.lcdwiki.com/MHS-3.5inch_RPi_Display
この辺の互換モジュールなので、もしかしたらみなさんが買っても動作しないかもしれませんが。
5/30
デザインはほぼ確定ですかね。あとはタッチパネル押下時の処理を検討。
9/5
本日、暫定的にリリースしましたがまだ使い込んでいないのでまだまだ不具合があるかと思います。
lcd320x480.PNG


nice!(0)  コメント(17) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。