Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。
無料ブログはココログ

スポンサー

« Moode Audio 有機ELディスプレイとヘッドホン端子増設 | トップページ | 0dB HyCAAのCG画像 »

2017年6月28日 (水)

SabreberryDAC ZEROの基板上のスイッチを使う方法 [Volumio2編]

Volumio2があまりに頻繁にお亡くなりになるもので。。。思ったように作業が進ません。 この不安定さ、起動の遅さはどうにかならないものなのか?

以前の 1.5x系の安定性と動作の軽快さはどこに行ったのでしょうか。 ここ1週間でSDカード焼き直し(ふりだし)は20回を超えてます。。。 

Sb_zero7

   << SabreberryDAC ZEROの操作スイッチ >>

やっとVolumio2でこのスイッチをうまく使える方法が見つかりましたのでご報告いたします。 ただし、V2.175以降、最新版(V2.201)までは、本当に不安定でどうしょうもないクzなのでV2.114を使います。

http://updates.volumio.org/pi/volumio/2.114/volumio-2.114-2017-03-02-pi.img.zip

 

Volumio_pi

いい夢をみるために流す曲はもう、これしかないですね。

 

I2S-DAC 設定

まずは、SabreberryDAC ZERO用にI2S-DACを設定します。「HifiberryDAC」でOKです。 一番標準的なI2Sドライバです。 (V2.185などは、これを選択するだけで運が悪いとクラッシュします。)

Volumio_plugin0

リプートすると有効になります。 リブート後、Mixer Typeを「software」にします。 ついでにボリュームステップを「2」くらいにしておくと良いでしょう。 設定はSaveボタンを押しますが運が悪いとフリーズします。

Volumio_plugin4

特にMPD Client Volume Controlには触れないように。 フリーズ後、二度と音が出なくなり、SDカード焼き直しの刑が待っています。 他の項目にも出来るだけ触れないようにしてください。 挙動がおかしいときは、System からFACTORY RESET で直ることが多いです。 Systemにも入れない(表示されなくなった)場合は、SDカード焼き直しでふりだしに戻ります。

 

 

基板上のスイッチ GPIOの設定

Volumio2にはプラグインというものが用意されています。

メニューのPLUGINS から入ります。

Volumio_plugin1_3  

Search plugins -> System Tools で「GPIO Button」を選択してインストールします。

Volumio_plugin2

しばらくすると、プログレスバーが100%になりインストールされます。 

Volumio_plugin3

ここで 「ON」して Settingに入ります。 

Volumio_plugin

SabreberryDAC ZEROのスイッチのアサインはこのようになります。 停止ボタンはシャットダウンにしました。 アサインするかしないかは任意にできます。

このシステムはなかなか素晴らしいですね。 

でも、ここままだと動きません(笑 

 

GPIOのプルアップをONに

Volumio2にsshでリモートログインします。

IP:volumio.local

User:volumio

Pass:volumio

 

デバイスオーバーレイをダウンロードして、所定の位置に置きます。 (パスワードを求められたら「volumio」と答える)

wget https://nw-electric.way-nifty.com/blog/files/mygpio-overlay.dtb

sudo cp mygpio-overlay.dtb /boot/overlays/

これを起動時に有効にするために/boot/config.txt を編集します。

sudo nano /boot/config.txt

で開いて、下記の1行を追記します。

device_tree_overlay=overlays/mygpio-overlay.dtb

Ctrl+oで保存。Ctrl+x で閉じます。 再起動後に有効になります。

 

何をしているのかというと、GPIOの内蔵プルアップ抵抗を起動時にONしているのです。

gpio readall

とコマンドを打つと、GPIO一覧と名前やHi/Low状態が見えます。

基板上のタクトスイッチは、下記のようにアサインしています。
物理pin番号 (GPIO No.)

 Prev:  7 pin (GPIO 4)

 Play:  11 pin (GPIO 17)

 Next:  13 pin (GPIO 27)

 Stop:  32 pin (GPIO 12)

 Down: 31 pin (GPIO 5)

 Up:    33 pin (GPIO 6)

ややこしいことに、上記のpluginの中では「BCM」に振られたGPIO番号、WiringPi ではまた別の番号、PythonのIOは物理Pin番号として認識されます。

 

 

最後に、SabreberryDAC ZEROは24bitDACなので、mpd設定で24bitを指定しておくと、ボリュームを絞ったときにも量子化ノイズが聞えにくくなります。

sudo nano /etc/mpd.conf で下記の1行を追記します。 一番下の行でOK

audio_output_format  "*:24:*"

 

以上です。 お疲れ様でした。  私は、とても疲れました。 バグ多すぎ。。。

余計な項目を押さないのが吉です。 マインスイーパのように各所の爆弾が隠されています。 電源強制OFF->ONで戻るものもあれば、SDカード焼き直ししなければ戻らないものまであります。

Volumeを 0 にすると「バツ、バツ」というノイズがでますが、これもVolumio2特有のバグかと思います。 Moode AudioやRaspbian、Volumio 1.55では出ません。 

 

Volumio2の完成度が上がる日を心待ちにしています。。。 

 

 

参考文献

https://github.com/tomatpasser/gpio-buttons

https://github.com/fivdi/onoff/wiki/Enabling-Pullup-and-Pulldown-Resistors-on-The-Raspberry-Pi

 

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村
ブログランキングに参加中です。 めざせ1位! 
もしよろしければ「ぽちっと」お願いします。 

« Moode Audio 有機ELディスプレイとヘッドホン端子増設 | トップページ | 0dB HyCAAのCG画像 »

SabreberryDAC ZERO」カテゴリの記事

コメント



お世話様でした。

>sudo mygpio-overlay.dtb /boot/overlays/
を実行すると、comand not foundでした
そこで、適当にmvで /boot/overlays/へ移動させました
(何かエラー?が出ましたがmygpio-overlay.dtbが /boot/overlays/
に在ったのでok?)

結果は、ボリュームup/down以外のボタンは機能しました

プレイバックオプションのmixer typeをソフトウェアにしても
ミキサーコントロールネームが選択出来ませんでした。

Volumio2 : ver 2.201

バージョンが違うとダメなのかな?

metabo55 さん

> を実行すると、comand not foundでした
コマンド、ミスってました。修正しました。 mvでも大丈夫だと思います。

> ミキサーコントロールネームが選択出来ませんでした。
バグじゃないでしょうか。 あれこれ弄ると、フリーズして再起動しても全然応答しなくなりますね。

音量ボタンは長押しで連続するようにはできていないようです。 連打してみてはいかがでしょう。

そもそも、バグで音量調整が効かない可能性もありますね。V2.114がオススメです。

お世話様です。

>音量ボタンは長押しで連続するようにはできていないようです。 連打してみてはいかがでしょう。

長押しでは無く、繰り返し押してるんですが。。。

一つ確認ですがヘッドホンジャックもボリュームボタン効きますよね?

>そもそも、バグで音量調整が効かない可能性もありますね。V2.114がオススメです。

そうですか、V2.114の作成試してみます。
(Windows10だと古いPCなので時間が掛かって)

metabo55 さん

> プレイバックオプションのmixer typeをソフトウェアにしても
> ミキサーコントロールネームが選択出来ませんでした。

この時点でまともな動作をしてません。 何度か試しても更新されないのですよね? 既に正常ではないことに気付いて下さい。
ファクトリーリセットか、SDカード焼き直しが必要です。 それでも直らなければ、バージョンを古いものに変えてください。

> 一つ確認ですがヘッドホンジャックもボリュームボタン効きますよね?

まともに動作するソフト(ディストリビューション)では音量調整できます。 
ちなみに、Softwareボリュームの不具合は、去年の3月くらいに報告されていて、今年に入ってやっと動きました。 でもここ3ヶ月でまたダメになってきてます。

たかじんさん、お世話様です。

一まづ、V2.114を再作成したらボタンも全て機能しました。

サポート有難う御座いました

只、今回の事とは関係が無いと思いますがV2.201では問題無かったSpotifyプラグインで、再生が出来なくなりました(Youtubeプラグインは問題無し)

やっぱり、安定してるのはmoode audioですかね!?(検討します)

たかじんさんの大変なご苦労のうえアミ出した方法で動きました
ありがとうございます。
sshコマンドをどう入力するがちょっと難しかったです。

基板のスイッチが使えるようになるとiPhoneから操作することもなく超快適
電源OFFもグッドですヨ。

これ本当に使いやすい。音質も最高です。iPhone6Plusで聞くよりもずっといい。

しいて問題点を言うとPi ZEROとDAC ZEROの組み合わせが軽すぎるって部分w
ヘッドフォンケーブルに引きずられてしまうwww

電池入れられるケースでDAP作製します!
手作りでDAPを作れる時代に入りましたネ

完成したらまた報告します。

metabo55 さん

昨年の11月ころにはSpotifyが使えていたらしいですよ。 それもダメになっていたとは。。。

このバグに嫌気がさすならMoodeに10ドル払う価値はあると思います。


Ohkawa さん

こちらこそありがとうございます。 
sshの説明、簡易的すぎましたね。 すみません。

DAP完成のご報告、お待ちしております。

うちのvolumio2は一度 sshで入れなくなって、factory resetをした後はすこぶる機嫌が良いです。
全く落ちないです。
raspberry pi2だから?

yosyosさん

なるほど。 Pi2ですか。 

ツイッターのほうでも安定して動くという方もいらっしゃるので、何か爆弾を踏まなくなる技が存在するのかもしれません。

たかじんさん、初めまして。
Sabreberry32を楽しく使わせて頂いております。
こちらにも、SWを付けて利用しようとチャレンジしています。
今回のSabreberryDAC zero を参考にしようと思っていますが、
mygpio-overlay.dtsの編集内容を参考にさせて頂けませんか?
よろしくお願いします。

Kazupon さん

記事の最後に書いてある参考文献の2つ目に、方法が書いてあります。 スイッチを繋げたポートのプルアップ抵抗をONするように記載してコンパイルするとmygpio-overlay.dtb が完成します。

my_pins: my_pins {
brcm,pins = <7 8 9>; /* gpio no. */
brcm,function = <0 0 0>; /* 0:in, 1:out */
brcm,pull = <1 1 2>; /* 2:up 1:down 0:none */
};
という部分です。

GPIO番号と、物理的なPIN番号が異なるので注意してください。

gpio readall というコマンドを打つと、両方が表示されます。

たかじんさん
ありがとうございます。
mygpio-overlay.dtsもVolumioのgpio buttons pluginもGPIO番号を記載すれば良いのですよね。

Kazupon さん

その通りです。

gpio readall というコマンドを打つと、pin番号とgpio番号の両方が表示されますので判りやすいです。

その節は大変お世話になりました。
タカチMX2-7-12に入れてみました。操作用タクトスイッチは別に作ってフロントパネル側で操作出来る様にしています。
そこで、気がついたのですが、ボリュームのUPは33ピンが正しいのでは?

ちなみにプレイインジケータのLEDはどこに接続されているのでしょうか
何故か光らなくて困ってます。(汗)

Silverbbs さん

たしかに33pinですね。 訂正いたしました。 ご指摘ありがとうございます。

インジケータは3.3VがアノードでカソードがLRCK端子です。 2.2kΩ抵抗で流れる微小な電流で十分に光る高輝度LEDが必要です。

たかじんさん
ありがとうございます。
無事点灯しました。

Silverbbsさん

よかったです。 

素晴らしい基盤を作っていただきありがとうございます! Pi Zero W にて利用させていただいてます。

さて、Volumio 2.323 では記事で紹介されている GPIO Button プラグインのインストールに失敗して基盤スイッチが使えなかったため、たかじんさんが公開されている mpd_ctl_zero.py を Volumio2 用に書き換えてみました。このスクリプトでスイッチが使えるようになりました。

mpd_ctl_zero.py
https://gist.github.com/susumuota/fb08cd618fa92ae8014522beff63dc5f

mpd-ctrl.service
https://gist.github.com/susumuota/5c970a3b1f29a1a80cd429e8465ebc90

volumio status で json 形式でステータスが得られるのでそれに合わせて is_playing の辺りを書き換えました。

このスクリプトだと overlay でプルアップ抵抗をいじらなくても動いているように見えますが、特に問題ないでしょうか?

Ota さん

これはこれは。 すばらしいです。
volumioコマンドって。。。 知りませんでした。 mpcの代わりになるコマンドが用意されているんですね。

> このスクリプトだと overlay でプルアップ抵抗をいじらなくても動いているように見えますが、特に問題ないでしょうか?

問題ありません。pythonスクリプトの中でプルアップ抵抗をONしています。

こちらのスクリプトを紹介させて頂いてもよろしいでしょうか?

たかじんさん

> 問題ありません。pythonスクリプトの中でプルアップ抵抗をONしています。

確認いただきありがとうございます。安心しました :)

volumio コマンドは以下に書いてありました。が、このページはちょっと内容が古いみたいでバージョン2.323だと volumio volume plus などのコマンドが追加になっていました。ターミナルから volumio コマンドを引数なしで実行するとコマンド一覧が見られます。
https://volumio.github.io/docs/Good_to_Knows/Command_Line_Client

> こちらのスクリプトを紹介させて頂いてもよろしいでしょうか?

もちろんOKです。ありがとうございます :D

Ota さん

ありがとうございます。 ずいぶん前にこのドキュメントページを見た覚えがありましたが、コマンドまでは気が付きませんでした。

これは便利ですね。 というか、なぜmpcを使わないのかが疑問ですが。。。(汗

これで何か光が見えたきがしました。 ありがとうございます。

たかじんさん、
 ま。です。
 おすすめのECサイトからzero dacを購入、足掛け3日、先程やっと曲が聴くことができました。以下はこのページ(ボタン設定)まで辿り着いた経緯です。
 ご存じ通り衝動買いで何も考えずに購入したので、volumioが上手くzero上の既存のDebian上にインストール出来るだろうか?などと先入観満載で、dacと接続すべくzeroをケースから取り出したのがおととい夜でした。
 あれ、11mmのスペーサーって付属しないんだ、本物のpiはM3じゃないんだ、といきなりの想定外でスタート。3mmのドリルで穴を広げ手持ちのM3用の10mmスペーサーをアクリルのワッシャー2枚で挟みネジ止めして形にはなりました。
 volumioがOS込みでイメージをダウンロードできることを知り、でもたかじんさんのzero用に特化したイメージはリンク切れ。公式サイトからイメージをDLしSDカードに入れて立ち上げ、HDMIのコンソール見るとよくあるGUI画面では無くloginの文字。さらにオレンジ色のLEDが最初光ったけどフワーッと消えたのをみて、これはポートが初期化されてないなーと、肌感的に先が長いことを悟りましたね!(笑)
 記事を見るとvolumio.localと打てば繋がるといろんなサイトに有るので、今となっては当然上手くいくハズもないのですが、無心で叩き。。。、立ち止まってよく考えるとwifiはうちのルーターにどうやって繋いでいるんだ?と疑問が。ログインしてip aすると192.168.211.1とか、とんでもない数字が見えSDカードが逝かれていたかと1からフォーマットし直している最中にHotSpotの存在を知り、これか!と思った時には後の祭り。でも今のnetwork設定変えるのは嫌だしどうしようと思った時に、ipadでwifiを検索してvolumioを見つけた時には涙が出そうでしたね(爆)
 teratermからsshでログインして、たかじんさんが書かれているコマンドラインを叩き、nanoコマンドって何だ?エディターかへーなんて。^x押してはポンと言われ、なんか悪いことしたか?と書けたか書けないのか不安な中、一歩一歩確かめながら牛歩の如く進み、半信半疑でwindowsのnwに共有フォルダを見つけ、音楽ファイルをSDに転送、歯を食いしばってこのページに辿り着きGPIOの設定をし、やっとこさで音が出た次第です。
 いや〜、これでも2017年の記事ですから3年以上前に追いついた感じですね。
 でも、これオーディオやアンプが趣味な人にはハードル高くないですか?pi好きかsw屋でないと付いていけない気がします。久しぶりに知恵熱が出た感じで、今清々しい思いが込み上げています(冷汗)
 音は流石に繊細で滑らかな印象、日頃ヘッドホンは使わないのでスピーカーで聴きたくなる音ですね。これから数日はHAP-Z1ES+TA-E901と比較試聴してみたいと思っています。コンデンサーの追加も楽しみです。長くなりましたが、なかなか楽しませて頂きました。たかじんさんに感謝です。

ま。さん

3年も経つとリンク先がなくなったり、OSの振る舞いが変わったりと大変でしたね。
無事に音が出たとのこと、良かったです。さすがです。

ソフトウェアというか、Linuxの世界はとても移り変わりが早い世界で、1年くらいほおっておくとすぐに置いて行かれます(笑)

でも、web上で苦労している人が沢山いて、フォーラム等で質問したら知っている人がちゃんと答えてくれている。 そういう人の親切さも知ることができる世界と思います。


TA-E901とは凄い。 まだちゃんと動くのですか? ESPRITにはソ〇ータイマーが入っていないというのは本当なのですね。

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: SabreberryDAC ZEROの基板上のスイッチを使う方法 [Volumio2編]:

« Moode Audio 有機ELディスプレイとヘッドホン端子増設 | トップページ | 0dB HyCAAのCG画像 »

サイト内検索(new)

2025年3月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31