SSブログ

Volumio3プラグイン(2023/11/11更新) [Volumio]

OPAです。

緊急地震速報のURL変更に伴い緊急地震速報をださないように変更しました

Volumio3へのバージョンアップに伴い、プラグインもVolumio3への対応をしました。実装もPython2.7からPython3.7に変更しました。
注意ですが、Python3での検証時間が少ないため修正箇所の洗い出しがすべてできていません。不具合はVolumio2のプラグインよりあるかもしれません。

本プラグインは私が趣味で作ったものなので、動作保証はしませんし、ハードウェアやvolumioが破損したとかにも責任はとれません。自己責任でお願いします。

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

・320x480 SPI Integration Display2 プラグイン(Pi4Bのみ)


songinfo.png


本プラグインは、タッチスクリーン(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種があります。

lcd320x480.PNG

スクリーンセイバーは4つ選択できます。
  • BLANK
  • LINE
  • WATCH(未実装 BLANKと同じ)
  • Simple WATCH
  • LCD Wiper

ss_simplewatch.png

現在は利用できません

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

alertimg.png

天気予報設定で、機能を有効にすると、スクリーンセイバー動作時に、定期的に天気予報が表示されます。デフォルトでは、毎時0分、15分、30分、45分に表示されます。データの取得間隔は30分固定です。気象庁のページからデータを取得しています。

forecast.png


タッチスクリーンの補正(キャリブレーション)は、プラグインの設定画面で、キャリブレーションを行ってください。 キャリブレーションをしないと、タッチ操作が有効になりません。
キャリブレーションの設定情報は、表示方向と表示反転ごとに設定ができます。
プラグイン設定画面のキャリブレーションボタンを押下するとLCD画面がキャリブレーション設定画面に切り替わります。十字が5回表示されるので、十字の中央をタッチします。5回タッチすると、テストモードに切り替わり、画面上にタッチするとタッチした位置に点が表示されます。10回タッチすると通常画面に戻り、キャリブレーションデータが保存されます。
タッチ操作可能なものは以下の通りです。
  • 楽曲表示:再生・一時停止ボタン
  • 楽曲表示:戻るボタン
  • 楽曲表示:進むボタン
  • 楽曲表示:ランダム切り替え
  • 楽曲表示:リピート切り替え
  • 楽曲表示:シーク(※試験中)
  • 楽曲表示:ボリューム(※試験中)
  • スクリーンセイバー表示:左半分の画面領域をタッチすると楽曲表示に復帰
  • スクリーンセイバー表示:右半分の画面領域をタッチすると天気予報を表示

touch.png

外部から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 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


インストールは以下の通りです。(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変更に伴い機能停止しました

https://www.dropbox.com/scl/fi/d21h1k1jgp5q82vb8zjf1/lcd320x480_Integration_display2_20231004121959981.zip?rlkey=tzh2z1j758ztr4hr7w02ewe7k&dl=0



2023/11/11 スペクトラム表示とレベルメータの左右が反転していたのを修正

https://www.dropbox.com/scl/fi/0vuf6b42lsg1ka84zavpc/lcd320x480_Integration_display2_20231111124115197.zip?rlkey=kxitzi6awh1cfnxaape876nu9&dl=0



■ 実験的

・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




■ 参考


天気予報の情報は、気象庁のページからデータを取得しています。
nice!(0)  コメント(122) 

Volumio 3 ベータ版お試し [Volumio]

OPAです。 こんばんは。Volumio2のプラグインを作成しています。
プラグインをインストールするときにコンパイルが必要なため、build-essentialパッケージを使っています。ですが最近のVolumio2のイメージだとapt-getに失敗してしまいます。どうも、Volumio2で使用しているLinuxのディストリビューションのパッケージで古いものは配布されていないようです。
今後どうなってしまうのか調べたところ、Volumio3のベータ版がテスト中でした。

https://community.volumio.org/t/volumio-3-buster-beta-for-rpi/45263

「Volumiobuster-3.083-2021-08-16-pi」で、いろいろ試したのですが、ちょっと断念しました。
  • NASのマウントができませんでした。(曲がかけられない・・・)
  • デバイス名を変更するとアクセスできなくなります。(avahiがおかしい?)

プラグインで使っているpython2.7は入っていました。しかしnumpyがはいっていないとか。npmのパッケージのバージョンを更新するとか。SPIの有効化にdtoverlayコマンドを使っているんですが、spi0-hw-csのオーバレイがなくなっていたので、 spi0-1csにしないといけないとか。
どちらにせよ正式版を待ってから検討します。
nice!(0)  コメント(11) 

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) 

ST7789 SPI Integration Display プラグイン Ver2を作りました。(8/8更新) [Volumio]

OPAです。こんばんは。
LCDに曲名等を表示するプラグインのVer2を開発しました。
処理の見直しとモジュール化、共通化を行いました。今後の開発が楽できそうです。
対応するLCDは、ST7789 SPI(CSなし)版です。今後の提供は入手性が高く、解像度が高いLCDに対して開発していきます。次はどのLCDにしようかな。縦横のドットの数が異なるとデザインをそれぞれ用意しないといけないので今後は絞り込むことを検討します
なお、本プラグインは私が趣味で作ったものなので、動作保証はしませんし、ハードウェアやVolumioが破損したとかにも責任はとれません。自己責任でお願いします。
本プラグインは、LCDモジュールの縦横のドットが同じため、縦横の入れ替えができるようになっています。ケースに入れる場合は横に設置するんでしょうかね。
表示モードは6種類あります。

st7789displaymoder.jpg

ピンぼけなところがいまいちですが、雰囲気はわかりますかね?
VUメータとスペクトラム表示はソフトウェアで実現しているためリアルタイムな値は示していないと思われます。
スクリーンセイバーは前作と同じ3つ選択できます。緊急地震速報の表示では日本地図が表示され、震源地に×印をつけるようにしました。設置場所の緯度経度を設定することで距離も表示されます。

st7789screensaver.jpg

緊急地震速報については以下を利用しています。

〇防災科学技術研究所 強震モニター http://www.kyoshin.bosai.go.jp/kyoshin/
※使い方は、https://qiita.com/iedred7584/items/8af67452c65630a74a70 「C#で緊急地震速報を取得する」を参考にさせていただきました。強震モニターほどの機能はありませんが。。。。音声で通知することができます。

〇国土地理院 地理院タイル ベースマップ https://maps.gsi.go.jp/development/ichiran.html
※タイルは https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png で取得しています。とても便利です。

スクリーンセイバーの時計の数字のフォントには
https://www.trojanbear.net/s/category/font
を使用しています。ありがとうございます。

インストール方法も若干変更しています。以下の手順で行います。
1. Volumioをインストール
2. http://volumio.local/DEV にアクセスしてSSHのENABLEボタンを押下する
3. WinSCP等を使ってプラグインを転送しておく
4. ターミナルを開き、SSHでvolumio.localにvolumioユーザ(パスワードvolumio)でログインする
5. 以下のコマンドを実行する
$ 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

※Status :ST7789 SPI Integration Display2 Successfully Installed, Do you want to enable the plugin now?
が表示されたらCTRL-Cで止める
6. メニューからプラグインを選択し、「インストール済みのプラグイン」タブを選択する
7. ST7789 SPI Integration Display2プラグインを有効にする

表示している文字の色もカスタマイズできるようにしてみました。以下のファイルを参考に適用したい部分の色を指定してファイルを作成し、プラグインの設定画面で、「設定色の設定ファイル」にそのファイルのフルパスを記述してください。
/data/plugins/miscellanea/st7789spiintegrationdisplay2/style.json

サンプルはデバッグで使ったものなので、常用には、ちょっとな感じです。
Open JTalkの設定で、「固定再生ファイル」の項目にフルパスでwavファイルを指定することで、音声を動的に再生せずに通知時に音を再生します。音声合成には時間がかかるため速報性はありません。
地震速報などはそんなにまだ動かされていないのでまだ問題があるかもしれませんので、おいおい修正していきます。
ダウンロード先のリンクは以下の通りです。

https://www.dropbox.com/s/3vcylgt7mxzvtqq/st7789Spi_Integration_display2_20200614010355591.zip?dl=0

6/16 更新 OSにタイムゾーンの設定がされている場合、時計の時刻がずれる問題に対処

https://www.dropbox.com/s/6wl4cp1thq1wqts/st7789Spi_Integration_display2_20200616115730702.zip?dl=0

6/18 240x320 確認用
https://www.dropbox.com/s/jc6yf245klfej17/st7789Spi_Integration_display2_20200618112702678.zip?dl=0

6/20 旧プラグインにあった時計スクリーンセイバーを移植
https://www.dropbox.com/s/ecyuw9m49d3e5ik/st7789Spi_Integration_display2_20200620065351035.zip?dl=0

6/23 動作確認用
https://www.dropbox.com/s/rfqhveitekh2ga7/st7789Spi_Integration_display2_20200623114614323.zip?dl=0

6/25 plugin設定画面でActiveにならない現象の修正
https://www.dropbox.com/s/mq67psnsgwgxlz1/st7789Spi_Integration_display2_20200625072510613.zip?dl=0

7/5 ボリュームの表示とWeb Radio時のアルバムアートを表示するように修正
https://www.dropbox.com/s/q7hi1uiu6q7hssl/st7789Spi_Integration_display2_20200705075003523.zip?dl=0

7/12 データベース更新中のダイアログを表示するよう修正
https://www.dropbox.com/s/465g221k6fb98s2/st7789Spi_Integration_display2_20200711132704323.zip?dl=0

7/13 再パッケージ化
https://www.dropbox.com/s/iymy4gkogb3ei9i/st7789Spi_Integration_display2_20200713122123918.zip?dl=0

7/15 再々パッケージ化
https://www.dropbox.com/s/96ez925432ax4h3/st7789Spi_Integration_display2_20200715120510364.zip?dl=0

7/24 Pi4Bでのライブラリ違いによる動作不能の回避およびPi4Bでのハイレゾ音源再生時のレベルメータの動作不安定を修正
https://www.dropbox.com/s/4lxnvsgyplp54g6/st7789Spi_Integration_display2_20200724041417484.zip?dl=0

8/8 volumioの設定変更時にVUMeter/Spectrumが表示されなくなる場合に、プラグインのON・OFFで改善するよう変更(Volumioプログラムが再起動します)。またPodcastでアルバムアートが表示できるように変更。
https://www.dropbox.com/s/qzlfjylybxgt4ah/st7789Spi_Integration_display2_20200808021336910.zip?dl=0


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

IR Remote Controllerプラグインに別のコントローラを追加する2 [Volumio]

OPAです。 タイトルがいけていませんが、コメントでご指摘がありましたので、こちらでも追試してみました。
前の記事
よりカーネルのバージョンが上がったため、設定方法が変わりました。
たかじんさんのブログで紹介のあった方法で設定してみます。

赤外線リモコン受信モジュールOSRB38C9AAを接続します。出力はGPIO26(PIN37)に接続しました。
メニューからプラグインを選択します。 プラグイン管理のプラグインの検索タブからAccessoriesを選択します。 IR Remote Controllerをインストールします。(まだ起動しない)

http://volumio4.local/DEV/

にアクセスして、SSHのENABLEボタンを押下します。(ここでは、Volumioの名前(ホスト名)はvolumio4にしています。)
volumio4.localにSSHでログインします。(ユーザ名:volumio、パスワード:volumio)
エディタでファイルを変更します。

/data/plugins/accessory/ir_controller/index.js
/usr/bin/sudo /usr/bin/dtoverlay lirc-rpi gpio_in_pin=25

/usr/bin/sudo /usr/bin/dtoverlay lirc-rpi gpio_in_pin=26 gpio_in_pull=up
に変更します。同様に
/usr/bin/sudo /usr/bin/dtoverlay gpio-ir gpio_pin=25

/usr/bin/sudo /usr/bin/dtoverlay gpio-ir gpio_pin=26 gpio_pull=up
に変更します。

onStopメソッドのexecの記載に誤りがあるので直しておきます。
    exec('usr/bin/sudo /bin/systemctl stop lirc.service', {uid:1000,gid:1000},

    exec('/usr/bin/sudo /bin/systemctl stop lirc.service', {uid:1000,gid:1000},
※「/」がない
restartLircも同様ですので、直します。

修正が終わったら保存します。CTRL-x、yでセーブです。
つぎに設定ファイルを格納するディレクトリを作成します。
$ cd /data/plugins/accessory/ir_controller/configurations
$ mkdir OE13KIR
作成したディレクトリに、2つのファイルを作成します。
lircd.conf
begin remote

  name  /etc/lirc/lircd.conf
  bits           32
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       9041  4462
  one           595  1648
  zero          595   533
  ptrail        593
  gap          107446
  toggle_bit_mask 0x0

      begin codes
          KEY_POWER                    0x08F71BE4
          KEY_A                        0x08F71FE0
          KEY_B                        0x08F71EE1
          KEY_C                        0x08F71AE5
          KEY_UPPER_LEFT               0x08F78D72
          KEY_UPPER                    0x08F705FA
          KEY_UPPER_RIGHT              0x08F7847B
          KEY_LEFT                     0x08F708F7
          KEY_CENTER                   0x08F704FB
          KEY_RIGHT                    0x08F701FE
          KEY_LOWER_LEFT               0x08F78877
          KEY_LOWER                    0x08F700FF
          KEY_LOWER_RIGHT              0x08F7817E
      end codes

end remote

lircrc
begin
prog = irexec
button = KEY_POWER
config = poweroff
end
begin
prog = irexec
button = KEY_CENTER
config = /usr/local/bin/volumio toggle
end
begin
prog = irexec
button = KEY_UPPER
config = /usr/local/bin/volumio volume plus
end
begin
prog = irexec
button = KEY_LOWER
config = /usr/local/bin/volumio volume minus
end
begin
prog = irexec
button = KEY_LEFT
config = /usr/local/bin/volumio previous
end
begin
prog = irexec
button = KEY_RIGHT
config = /usr/local/bin/volumio next
end
begin
prog = irexec
button = KEY_A
config = /usr/local/bin/volumio repeat
end
begin
prog = irexec
button = KEY_B
config = /usr/local/bin/volumio random
end

デーモンを有効にします。
$ sudo systemctl enable lirc
ブラウザで、画面にアクセスして、プラグインを有効にします。設定画面でOE13KIRを選択し、保存します

設定ファイルを作成する方法も、投稿しようと思ったのですが、設定ファイルを生成するirrecordコマンドが正しく動作しなかったため、今回も割愛します。カーネル4.19.xとgpio-irモジュール、LIRCライブラリの組み合わせがあまりよろしくないのでしょうか。
このあたりに書いてあるのですが、そもそもvolumioのlircのバージョンを調べると、
$ apt show lirc
Package: lirc
Version: 0.9.0~pre1-1.2
Maintainer: lirc Maintainer Team 
Installed-Size: 1483 kB
Depends: libasound2 (>= 1.0.16), libc6 (>= 2.7), libftdi1 (>= 0.20), liblircclient0 (>= 0.6.4), libusb-0.1-4 (>= 2:0.1.12), lsb-base
Suggests: lirc-x, setserial, ir-keytable
Breaks: lirc-modules-source (<< 0.9~), lirc-svga (<< 0.9~)
Homepage: http://lirc.org
Priority: extra
Section: utils
Download-Size: 339 kB
APT-Manual-Installed: yes
APT-Sources: http://archive.volumio.org/raspbian/ jessie/main armhf Packages
Description: infra-red remote control support
 LIRC stands for 'Linux Infra-red Remote Control'.
 .
 This package provides the daemons and some utilities to support infra-red
 remote controls under Linux.


となっていたので、バージョンが古いので動かない原因なのかと思います。
nice!(0)  コメント(0) 

ST7789版プラグインの追加とプラグインの更新 [Volumio]

OPAです。
緊急地震速報のスクリーンセイバー機能を作成していたので公開が遅れましたが、TFTのST7789(SPI/CS無し)版のプラグインを作成しました。

DSC_0135.JPG

ili9163vの液晶より、高解像度(240x240)で小さいのでケースにも入りそうです。四隅にもねじ穴がついているので、固定もしやすそう。アマゾンで購入しました。入手のしやすさとしては、ili9163vは秋月電子様で購入できますが、ST7789はアマゾン等で購入しないといけません。購入のしやすさはどちらもかわらないと思いますが、品質は届いてみないとわからない、ってことでしょうか。
SPIのCSが存在していませんが、調べたところ、SPIのmode 3というモードに設定することで使えました。処理はほぼili9163vの内容とかわりません。
pin接続は、以下のようにしました。

Symbol 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 control default floating low level off NC NC


それと緊急地震速報のスクリーンセイバーですが、10月から参照先にURLが変わった(もとのURLがなくなった)ため、修正しました。

ili9163版
https://www.dropbox.com/s/wxmrtlbelb0klj2/ili9163vSpi_Integration_display_20191006_1.zip?dl=0

ssd1306版
https://www.dropbox.com/s/4n1cpx8j1c91u8i/ssd1306I2c_Integration_display_20191006_1.zip?dl=0

ST7789(SPI/CS無し)版
https://www.dropbox.com/s/0upwsdv1b2abn6x/st7789Spi_Integration_display_20191006_2.zip?dl=0

nice!(1)  コメント(4) 

Volumioプラグインの更新(いろいろ) [Volumio]

OPAです。

ご無沙汰しています。Volumioのプラグインをいろいろといじっていまして。
まず、TFT(ILI9163)ですが、横向き表示に対応しました。
こんな感じや、
DSC_0126.JPG

こんなのと、
DSC_0127.JPG

こんな風に表示できます。
DSC_0128.JPG

また、SSD1306とILI9163ともに、スクリーンセイバーに緊急地震速報の表示と音声による通知をするモードを追加しました。

http://www.kyoshin.bosai.go.jp/kyoshin/

の強震モニタに表示される緊急地震速報のデータになっています。
参考にした記事は、

https://qiita.com/iedred7584/items/8af67452c65630a74a70

です。
オーディオと関係ありませんが、お試しください。
横向きに表示できるようになったので、ケースに入れてみました。液晶はぴったりサイズなのですが、変換基板が大きく、無理やりいれている状態です。液晶と有機ELもL字金具に両面テープで止めただけなので曲がってしまっています。ほかの方法を見つけないと。

DSC_0133.JPG


SSD1306
https://www.dropbox.com/s/zoqxveafsjnu84h/ssd1306I2c_Integration_display_20190916_1.zip?dl=0
ILI9163V
https://www.dropbox.com/s/n477raz9n1rstwx/ili9163vSpi_Integration_display_20190916_1.zip?dl=0
自己責任でお願いします。
nice!(0)  コメント(0) 

Volumio(TFT)プラグインの更新 [Volumio]

OPAです。
TFTのVolumioプラグインを更新しました。
曲名とアルバムアートを同時に表示するモードを追加しました。

DSC_0115.JPG


https://www.dropbox.com/s/o3a8kh0q1v9oln8/ili9163vSpi_Integration_display_20190526_1.zip?dl=0

お試しください。
nice!(0)  コメント(0) 

秋月電子様の「1.77インチ カラーグラフィックTFT LCD(128×(RGB)×160ドット) 評価キット」を使ったVolumioプラグインの公開 [Volumio]

OPAです。
今度は、秋月電子様の、「1.77インチ カラーグラフィックTFT LCD(128×(RGB)×160ドット) 評価キット」を使ったVolumioプラグインを作ってみました。SSD1306のプラグインと同様に、曲名とサウンドメータが表示できます。(ブレッドボード上、画像が逆さまですが)

DSC_0107.JPG


表示エリアが広いため、両方同時に表示させています。また、アルバムアートを表示することもできます。解像度が低いのでアルバムアートも表示しても粗い表示しかできないかと思ったのですが、やってみたところそれなりに表示されました。

DSC_0105.JPG


このTFTはSPIで接続するタイプです。以下のように接続しました。

LCD Pin No Symbol Function Level Pin No GPIO Name
1 NC No Connection --
2 NC No Connection --
3 NC No Connection --
4 NC No Connection --
5 A LED(Anode) P 01 3.3V
6 NC No Connection --
7 NC No Connection --
8 GND Power ground P 39 Ground
9 VCC Power supply P 01 3.3V
10 SDA Serial data I/O 19 GPIO10 SPI_MOSI
11 SCK Serial clock I 23 GPIO11 SPI_CLK
12 A0 Data/clock selection I 18 GPIO24 DC
13 REST Reset I 22 GPIO25 RESET
14 K LED(cathode) P 39 Ground
15 CS Chip selection I 24 GPIO08 CS

SSD1306のプラグインとも同居できるのですが、Raspberry pi Zero w だと非力でまともに動きません。動作確認は3Bで行いました。

https://www.dropbox.com/s/lolxryppcncc79c/ili9163vSpi_Integration_display_20190511_1.zip?dl=0

SSD1306のプラグインもちょっといじりました(機能は変わっていません)ので最新版をアップしておきます。

https://www.dropbox.com/s/eb2gjwlxs0e7srn/ssd1306I2c_Integration_display_20190511_1.zip?dl=0

問題は、どうやってケースに入れるかとか、ですかね。
ご感想お待ちしております。
nice!(0)  コメント(0) 

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