続々 Raspberry Piでカーオーディオ(IQaudIO PiDAC+)
関連記事
Raspberry Piでカーオーディオ(IQaudIO PiDAC+) - もりねずみーのやつ
続 Raspberry Piでカーオーディオ(IQaudIO PiDAC+) - もりねずみーのやつ
一旦これで完成にしよう(半ば諦め)
一応、以下の機能を持ったラズパイを車に載せることが出来ました。
- オーディオ出力はPiDAC+
- Bluetoothオーディオ
- オーディオプレイヤーでFLAC再生
- ドライブレコーダー前後(Camera ModuleとUSBカメラ)
- 壁紙をプリキュア
- Arch Linux ARMでやりたい放題
課題となっていたもの
Bluetoothオーディオ再生時のプチプチノイズ
原因は、ラズパイのUSBポートの給電出力が追いついていないため、Bluetoothアダプターが安定して電波の出力が出来なかった。
実際の所、ラズパイの電源LED(赤色)が不定期に点滅していた。
USBポートに挿さっているデバイスは以下の通り。
1 Bluetooth 4.0アダプター(Class 2) 2 USBカメラ 3 液晶ディスプレイのタッチパネル操作と給電 4 USBハブ→USBメモリ
まぁ、どうにかするとしたら3ですよね…。
というわけで、液晶ディスプレイに接続しているUSBケーブルをバラして、TxとRx線だけをラズパイにつないで、VccとGNDは前回作った分圧回路の出力から取るようにしました。
結果、ラズパイの電源LEDも点滅することは無くなり、Bluetoothオーディオ再生時も、プチプチノイズは無くなりました。
クソコードを改善する。
あとでやる。
bottleなど軽量なWebフレームワークに置き換える。
試しにbottleでもやってみたのですが、WebSocket使ったりなんてやってると、なんか今回のケースだとTornadoの方が合ってる(ノンブロッキングIOとか技術面じゃなくコードの見た目的に)気がしたので、やっぱりTornadoに戻しました。
他の課題
PiCameraやUSBカメラ+OpenCVのVideoWriterで録画しつつ画像をキャプチャしてそれをWebSocketでWebブラウザ側にリアルタイムに表示させたかったんだけど、あまりにも重い処理過ぎてラズパイのスペックでは見れたものじゃないので、根本的に何か別の方法に直す必要があるかも。(よって、今回はプレビュー機能は無しにした。録画出来ることのほうが大事だし)
熱対策
を参照。
これが一番厄介そう。85℃以上でラズパイが停止しちゃうとなると、真夏でなくても車内で稼働させるの厳しそうな気がする。
場合によっては、動画ファイルのエンコード処理はラズパイで行わない様にすることになるかも。(せっかくOpenMax ILあるのにもったいない)
※冷却ファン案は、カーオーディオ的に無いかなっていうのと、車内温度が循環するまではあまり意味が無さそう?
終わりに
やればやるほどラズパイの味(課題)が出てくる。
ラズパイ美味しいよぉ…。おいしい…オィシィヨゥ…(ヽ´ω`)
世の中のカーオーディオメーカーやドラレコメーカーの技術と努力すごい。
終わらなかった
いざ車に取り付けてみたのですが、電源ノイズがひどいものだった。
オーディオ云々以前の問題。
これがCPUの鼓動なのかっていうくらい。もしくはノロイノゲエム。
https://twitter.com/morinezumiiii/status/998864305624834048
https://twitter.com/morinezumiiii/status/998865554474594304
しかも電源が安定しないせいかなんなのかわからんけどカメラモジュールやUSBカメラが認識したりしなかったり。
しかも液晶ディスプレイのバックライト輝度調整出来ないから夜運転するとかなり鬱陶しい。
これ、あれですね、完全に失敗作ですね。
取り付けたまま放置して、イチから出直しましょう…。