Raspberry Piでカーオーディオ(IQaudIO PiDAC+)
関連記事
続 Raspberry Piでカーオーディオ(IQaudIO PiDAC+) - もりねずみーのやつ
続々 Raspberry Piでカーオーディオ(IQaudIO PiDAC+) - もりねずみーのやつ
すみません…間に合いませんでした…。
RaspberryPi Advent Calendar 2017 23日目の記事です。
まだ作業途中なので、出来てる部分だけ公開して、年内目標に改めて更新します!
車でラズパイにやらせたいこと
オーディオ
- Bluetoothオーディオレシーバー(自動接続)
- ペアリング済みのデバイスを検索して自動接続
- ボリューム調整は可変抵抗器で調整可能
- 音量自動調整(カロッツェリアの上位モデルに付いている機能)
- イコライザー調整 (alsa-equalですら10バンドいじれる)
バックカメラ
- 田舎なので夜間バックで駐車する時真っ暗でほとんど見えないのです…。
ハードウェアは以下を使用
- Raspberry Pi 3 Model B
- IqaudIO PiDAC+ (http://amzn.to/2AwjbNe)
- Elecrow 7インチディスプレイ (http://amzn.to/2AwTNqo)
- ELP フルHDウェブカメラUSB H.264 低照度 180度魚眼レンズ 高画質 広角webカメラUSB (http://amzn.to/2Av0r0m)
- OSはRaspbian Stretch
- ボタン類
- バックモニター切り替え
- 音量調整ボリューム
- アンプは既設のRockford fosgateのR150X2 Pioneer パワードサブウーファー TS-WH500A TS-WH500A
- サブウーファーはPioneerのTS-WH500A Pioneer パワードサブウーファー TS-WH500A TS-WH500A
memo
http://www.iqaudio.com/downloads/IQaudIO.pdf https://blog.bnikka.com/raspberrypi/raspberrypibluetooth.html http://nw-electric.way-nifty.com/blog/2016/10/raspberrypi-169.html https://www.allied-telesis.co.jp/products/list/wireless/knowl.html http://www.soumu.go.jp/main_content/000152595.pdf bとgは屋外使用可能
やったこと
- raspbian-liteをダウンロード&SDカードにイメージ焼き
- SSHでログイン出来るように/boot/sshを作成
- Elecrow 7inch ディスプレイを使うために/boot/config.txtに追記
- IQaudIO PiDAC+を使うために/boot/config.txtを編集
- とりあえずpiユーザでログインし、必要なユーザを作成しpiユーザを削除
ssh pi@192.168.xxx.xxx pi@raspberry $ sudo useradd -m -g users -s /bin/bash morinezumiiii pi@raspberry $ sudo gpasswd -a morinezumiiii audio pi@raspberry $ sudo passwd morinezumiiii pi@raspberry $ sudo passwd root pi@raspberry $ visudo <-- viではなくnanoが開く。超嘘つき。 pi@raspberry $ exit ssh morinezumiiii@192.168.xxx.xxx morinezumiiii@raspberry $ sudo userdel -r pi
- パッケージを最新版にアップデートし、欲しいパッケージをインストール
$ sudo apt update $ sudo apt dist-upgrade $ sudo rpi-update $ sudo reboot $ sudo apt install git lightdm xserver-xorg raspberrypi-ui-mods $ git clone git://git.drogon.net/wiringPi $ cd wiringPi $ ./build $ gpio -v $ sudo raspi-config <-- お好みで
- 参考にしたもの
https://www.raspberrypi.org/documentation/raspbian/updating.md http://wiringpi.com/download-and-install/ https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=166806
PiDAC+
- PiDAC+設定
alsamixerを見てみると、PiDAC+が認識されてる。しかもデフォルトで選択状態になっていて、そのままspeaker-test -c 2でRCA出力から音が出た。
ただなぜか音量調整が0か100しか選べない。
謎だけど、とりあえずロータリーエンコーダーを使って音量調整したいので、 GitHubで公開されているIQaudIOのツールを落として動かしてみる。
この時、IQ_rotを動かそうとすると「wiringPiのライブラリがねーんだけど💢」って言われるので、wiringPiをインストールしておくこと。
$ cd $ git clone https://github.com/iqaudio/tools.git cd tools
と、色んな合間にロータリーエンコーダーとPiDAC+をつなぐためのハーネスを作っておいてつなぐ。
sudo ./IQ_rot & alsamixer
で、ノブを動かしてみる…。
動くかな…?
うおぉ、動いた!(画像じゃ伝わらない)
でも何故かAnalogueチャンネルじゃなくDigitalチャンネルのボリュームが動く。(一応音量は調整はされる)
更にalsa-equalプラグインを入れて10バンドイコライザー機能も追加!
$ speaker-test -c 2
ちゃんと音も出て音量が上がったり下がったり調整出来てるようなので良しとする。
ラズパイをBluetoothレシーバー化
Setup Raspberry Pi 3 as bluetooth speaker https://raspberrypi.stackexchange.com/questions/47708/setup-raspberry-pi-3-as-bluetooth-speaker
素晴らしき先人の知恵をお借りしましょう。
変えたのは/usr/lib/udev/bluetoothのUSER="pi"を自分のユーザ名に変えただけです。
- Pair and Connect the audioの手順で、自分のスマホとペアリングする際に、ラズパイ側でyes/noを問われるので、yesと入力してからペアリングし、trust [スマホのデバイスアドレス]をして、毎回ペアリングキーを入力するのを省略できるようにします。
せっかくなので、
$ pulseaudio -D
している所を、Systemdユニット化して、自動起動するようにします。
$ sudo nano /etc/systemd/system/pulseaudio.service
[Unit] Description=Pulse Audio [Service] Type=simple Restart=always ExecStart=/usr/bin/pulseaudio [Install] WantedBy=multi-user.target
更についでなので、PiDAC+のロータリーエンコーダのプログラムもSystemdユニットにしちゃいます。
$ sudo nano /etc/systemd/system/pidac-rotenc.service
[Unit] Description=IQaudIO PiDAC Rotary encoder application [Service] Type=simple Restart=always ExecStart=/usr/local/bin/IQ_rot [Install] WantedBy=multi-user.target
$ sudo systemctl daemon-reload $ sudo systemctl enable pulseaudio.service $ sudo systemctl enable pidac-rotenc.service
とまぁ、こんな感じで進めてはいたのですが、記事を書きながらデスクトップ環境を整えようと思い、raspberrypi-ui-modsとlightdmを入れたら、上記の内容でBluetooth経由で音が出なくなりました…。
調べていると、RaspberryPi公式のブログで、Raspbian StretchでのBluetoothオーディオについて気になることが書いてあった。
https://www.raspberrypi.org/blog/raspbian-stretch/
「Pulse Audio使わないでしょ?bluez-alsa入れといたやで。」
オーマイガー…なんということでしょう…。
で、そんなこんなで普段Arch使いの僕がRaspbianにデビューしたらハマりまくったので、今日は間に合いませんでした。 年内完成を目標に、続けて行きたいと思いまうす。
以下車のオーディオ環境どうにかした時の作業風景
社内全部引っ剥がしてロードノイズを遮音したりドアに音が漏れないようにデッドニングしたり余計な反響をしないように吸音スポンジを入れたり…。
ついでに掃除もして綺麗になりました。車のカーペットの下は意外とダニがいっぱいいました…。