Volumio3プラグイン(2023/11/11更新) [Volumio]
緊急地震速報の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 スペクトラム表示とレベルメータの左右が反転していたのを修正
■ 実験的
・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データを参考にさせていただきました。
Volumio 3 ベータ版お試し [Volumio]
プラグインをインストールするときにコンパイルが必要なため、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にしないといけないとか。
どちらにせよ正式版を待ってから検討します。
Volumio2プラグイン(9/11更新) [Volumio]
Volumioプラグインを更新しました。今後はこのページを更新していきます。(volumio-2.873-2021-02-19-pi.imgより新しいとbuild-essentialのインストールに失敗します)
本プラグインは私が趣味で作ったものなので、動作保証はしませんし、ハードウェアやvolumioが破損したとかにも責任はとれません。自己責任でお願いします。
■ 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種があります。
スクリーンセイバーは4つ選択できます。
- BLANK
- LINE
- WATCH(未実装 BLANKと同じ)
- Simple WATCH
- LCD Wiper
固定再生ファイルを指定することで、指定された音源ファイルを音声通知時に再生します(WAVファイル限定)。音声通知するためには、APLAYデバイスに、ALSAデバイスを設定してください。
参考までに使用した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 |
インストールは以下の通りです。
- 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の電源を一旦落としてください)
- 表示内容、表示反転、スクリーンセイバー、その他項目を選択後、保存する
- 再生・一時停止ボタン
- 戻るボタン
- 進むボタン
- ランダム切り替え
- リピート切り替え
- シーク(※試験中)
- ボリューム(※試験中)
- スクリーンセイバー中に画面をタッチすると通常画面に復帰
【リリース】
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ものしかありません。
表示モードは全部で6種類あります。
スクリーンセイバーは5つ選択できます。(11/29 LCD Wiper追加)
- BLANK
- LINE
- WATCH
- Simple WATCH
- LCD Wiper
固定再生ファイルを指定することで、指定された音源ファイルを音声通知時に再生します(WAVファイル限定)。音声通知するためには、APLAYデバイスに、ALSAデバイスを設定してください。
参考までに使用した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モードを切り替える
プラグインの設定画面で、以下を設定
- 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つのアドレスを使用することができます。 以下の写真は、付け替えたものです。(新しいリビジョンは未確認です)
1つ目のアドレスの有機ELには、曲情報、スクリーンセイバー、緊急地震速報が表示されます。
スクリーンセイバーは3つ選択できます。
- BLANK
- LINE
- WATCH
固定再生ファイルを指定することで、指定された音源ファイルを音声通知時に再生します(WAVファイル限定)。音声通知するためには、APLAYデバイスに、ALSAデバイスを設定してください。
2つ目の有機ELアドレスには、VUメータもしくはスペクトラムが表示されます(スクリーンセイバー動作時、緊急地震速報時はブランク表示)。
参考までに使用した有機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のイメージからインストールしたほうが無難です。■ 参考
緊急地震速報の情報は、以下を利用しています。
- 防災科学技術研究所 強震モニター使い方は、「C#で緊急地震速報を取得する」を参考にさせていただきました。
- 国土地理院 地理院タイル ベースマップタイルは https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png で取得しています。とても便利です。
作成中(9/5) [Volumio]
http://www.lcdwiki.com/MHS-4.0inch_Display-B
http://www.lcdwiki.com/MHS-3.5inch_RPi_Display
この辺の互換モジュールなので、もしかしたらみなさんが買っても動作しないかもしれませんが。
5/30
デザインはほぼ確定ですかね。あとはタッチパネル押下時の処理を検討。
9/5
本日、暫定的にリリースしましたがまだ使い込んでいないのでまだまだ不具合があるかと思います。
ST7789 SPI Integration Display プラグイン Ver2を作りました。(8/8更新) [Volumio]
LCDに曲名等を表示するプラグインのVer2を開発しました。
処理の見直しとモジュール化、共通化を行いました。今後の開発が楽できそうです。
対応するLCDは、ST7789 SPI(CSなし)版です。今後の提供は入手性が高く、解像度が高いLCDに対して開発していきます。次はどのLCDにしようかな。縦横のドットの数が異なるとデザインをそれぞれ用意しないといけないので今後は絞り込むことを検討します
なお、本プラグインは私が趣味で作ったものなので、動作保証はしませんし、ハードウェアやVolumioが破損したとかにも責任はとれません。自己責任でお願いします。
本プラグインは、LCDモジュールの縦横のドットが同じため、縦横の入れ替えができるようになっています。ケースに入れる場合は横に設置するんでしょうかね。
表示モードは6種類あります。
ピンぼけなところがいまいちですが、雰囲気はわかりますかね?
VUメータとスペクトラム表示はソフトウェアで実現しているためリアルタイムな値は示していないと思われます。
スクリーンセイバーは前作と同じ3つ選択できます。緊急地震速報の表示では日本地図が表示され、震源地に×印をつけるようにしました。設置場所の緯度経度を設定することで距離も表示されます。
緊急地震速報については以下を利用しています。
〇防災科学技術研究所 強震モニター 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
IR Remote Controllerプラグインに別のコントローラを追加する2 [Volumio]
前の記事
よりカーネルのバージョンが上がったため、設定方法が変わりました。
たかじんさんのブログで紹介のあった方法で設定してみます。
赤外線リモコン受信モジュール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 TeamInstalled-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.
となっていたので、バージョンが古いので動かない原因なのかと思います。
ST7789版プラグインの追加とプラグインの更新 [Volumio]
緊急地震速報のスクリーンセイバー機能を作成していたので公開が遅れましたが、TFTのST7789(SPI/CS無し)版のプラグインを作成しました。
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
Volumioプラグインの更新(いろいろ) [Volumio]
ご無沙汰しています。Volumioのプラグインをいろいろといじっていまして。
まず、TFT(ILI9163)ですが、横向き表示に対応しました。
こんな感じや、
こんなのと、
こんな風に表示できます。
また、SSD1306とILI9163ともに、スクリーンセイバーに緊急地震速報の表示と音声による通知をするモードを追加しました。
http://www.kyoshin.bosai.go.jp/kyoshin/
の強震モニタに表示される緊急地震速報のデータになっています。
参考にした記事は、
https://qiita.com/iedred7584/items/8af67452c65630a74a70
です。
オーディオと関係ありませんが、お試しください。
横向きに表示できるようになったので、ケースに入れてみました。液晶はぴったりサイズなのですが、変換基板が大きく、無理やりいれている状態です。液晶と有機ELもL字金具に両面テープで止めただけなので曲がってしまっています。ほかの方法を見つけないと。
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
自己責任でお願いします。
Volumio(TFT)プラグインの更新 [Volumio]
TFTのVolumioプラグインを更新しました。
曲名とアルバムアートを同時に表示するモードを追加しました。
https://www.dropbox.com/s/o3a8kh0q1v9oln8/ili9163vSpi_Integration_display_20190526_1.zip?dl=0
お試しください。
秋月電子様の「1.77インチ カラーグラフィックTFT LCD(128×(RGB)×160ドット) 評価キット」を使ったVolumioプラグインの公開 [Volumio]
今度は、秋月電子様の、「1.77インチ カラーグラフィックTFT LCD(128×(RGB)×160ドット) 評価キット」を使ったVolumioプラグインを作ってみました。SSD1306のプラグインと同様に、曲名とサウンドメータが表示できます。(ブレッドボード上、画像が逆さまですが)
表示エリアが広いため、両方同時に表示させています。また、アルバムアートを表示することもできます。解像度が低いのでアルバムアートも表示しても粗い表示しかできないかと思ったのですが、やってみたところそれなりに表示されました。
この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
問題は、どうやってケースに入れるかとか、ですかね。
ご感想お待ちしております。