最終更新日
記事公開日

ラズパイZEROのスピーカー接続でハマったこと(USBハブを認識しない・電源が落ちて再起動になる)

ラズパイZEROと接続したスピーカー

今回、ラズパイZEROから音を出すまでに色々とハマったことがあったので、記録に残しておきます。

  • スピーカーをラズパイ本体に差し込むと、電源が落ちる
  • USBポートがデバイスを認識しない(USBハブ・マウス・キーボード等)
  • SSHを有線で繋いだまま、USBデバイスも繋ぎたい

こんなときは、ぜひ参考にしてみてください。

給電用USBポートにUSBデバイスを差し込んでも認識しません

ラズパイZEROの「給電専用ポート」と 「データ送受信用ポート」

ラズパイZEROには、2つのマイクロUSBポートが搭載されていますが、それぞれ役割があります。

  • USBポート1:給電専用ポート
  • USBポート2:データ送受信用ポート

USBポート1(給電専用)は、ラズパイを動かすための電気を送るポートなので、スピーカーやUSBハブなど、USBデバイスを挿しても認識されません。

ラズパイでUSBデバイスを使う場合は、USBポート2(データ送受信用)にケーブルを挿す必要があります。

もし、このポートにUSBスピーカーを挿してしまうと、ラズパイ本体の電源が落ちて、再起動が掛かってしまいます(経験談)

「マウスやキーボードが認識しない」という場合も、間違えてこの給電専用ポートと接続している可能性が高いです。

ところが、次は「でも、USBポート2はSSH通信でパソコンと繋いでるから、空いてないよ」という問題にぶつかるはずです。

『USBハブ』があれば、SSH(有線)しながらでもUSBデバイスの接続が可能

USBハブと接続したラズパイZERO

SSH通信を行っている場合、ラズパイとパソコンを繋ぐケーブルでUSBポート2は塞がっています。

そこで、使用するのが『USBハブ』です。

本来、ラズパイ本体にそのままUSBハブを繋ぐだけでは使えないのですが、SSHをおこなう為、事前に『OTG』の設定を行っているはずです。

このOGT機能により、ラズパイはUSBハブを認識することができます。

※OGTとは ・・・ 本来、USBデバイスを制御するにはパソコンが必要だが、OGT機能を搭載する機器であれば、パソコンを中継しなくても、そのままUSBデバイスを制御することができる。

よって、ラズパイを親にして、USBハブに『パソコン』『スピーカー』『マウス』『キーボード』などの周辺機器を繋いでしまえば、ラズパイは全てのデバイスを制御することができます。

USBハブを使うには、他にも色々と揃える必要があります

とはいえ、実際にラズパイとUSBハブ・USBデバイスを接続するには、色々な変換ケーブルが必要になります。

ラズパイZEROとスピーカーを接続するための配線図

ラズパイZEROとスピーカーを接続するために必要なもの

ラズパイZEROとスピーカーを接続するために必要なもの

  1. マイクロUSB(オス) ⇔ USB Type-A(メス)変換コネクタ
  2. セルフパワー型USBハブ
  3. USBケーブルだけで接続できるスピーカー
  4. USB Type-Aケーブル(オス - オス)
  5. USB Type-A 延長ケーブル
  6. マイクロUSB(オス) ⇔ USB Type-A(オス)変換ケーブル
  7. USB Type-A 延長ケーブル
  8. USB充電器(ACアダプタ)

①マイクロUSB(オス) ⇔ USB Type-A(メス)変換コネクタ

ELECOM OTGケーブル microB-Aメス-USB2.0 ブラック 0.1m TB-MAEMCBN010BK

ラズパイ本体のマイクロUSBを普通のUSB端子(USB Type-A)に変換するためのコネクタです。

USB-A側はUSBハブの大元となるケーブルに接続します。

ELECOM OTGケーブル microB-Aメス-USB2.0 ブラック 0.1m TB-MAEMCBN010BK

②セルフパワー型USBハブ

BUFFALO セルフパワー 4ポートハブ(BSH4A120U2)

USBハブにたくさんの周辺機器を繋げば、それだけたくさんの電流が必要になります。

ところが、ラズパイが管理できる電流量はそれほど大きくありません。

その許容量を超えてしまうと、ラズパイの電源が落ちたり、動作が不安定になってしまいます。

そこで、USBハブは『セルフパワー型』を選ぶ必要があります。

セルフパワー型USBは、普通のUSBハブに電源を供給するためのケーブルが別に付いています。

USBハブに接続された周辺機器には、このケーブルからの電気が送られるため、ラズパイに掛かる電流の負担が減り、安全な運用が可能になります。

BUFFALO USB3.0 セルフパワー 4ポートハブ ブラック スタンダードモデル BSH4A125U3BK 【Nintendo Switch/Windows/Mac対応】

③USBケーブルだけで接続できるスピーカー

サンワサプライ コンパクトPCスピーカー USB接続 ブラック MM-SPU8BK

パソコン用スピーカーの多くは、USBケーブルの他にステレオミニジャックが付いています。

ラズパイZEROには、このステレオミニジャックを繋ぐための端子がありません。

USB⇔オーディオ変換アダプタHDMI⇔VGA変換アダプタなどを使う方法もありますが、USB一本だけで接続できるスピーカーを選ぶのが一番スマートです。

サンワサプライ コンパクトPCスピーカー USB接続 ブラック MM-SPU8BK

④USB Type-Aケーブル(オス - オス)

USB Type-Aケーブル(オス - オス)

SSHを行うため、パソコンとラズパイを繋ぐケーブルです。

両方同じ形の端子が必要な用途はまずない為、普通の家電量販店には置いてないかもしれません。

私は持っていたY字型のケーブルがあったため、それを代用しました。

USB 3.0 ケーブル タイプA-タイプA オス-オス 金属コネクタ搭載 データライン ノートクーラー用 0.6m

⑥マイクロUSB(オス) ⇔ USB Type-A(オス)変換ケーブル

マイクロUSB(オス) ⇔ USB Type-A(オス)変換ケーブル

USBハブを使用する際、ラズパイ本体には電気が供給されません。

そこで、ラズパイ本体のUSBポート2(給電専用ポート)に電気を供給するために使用します。

ラズパイ本体のマイクロUSBを普通のUSB端子(USB Type-A)に変換します。

私は、Ankerのモバイルバッテリーに付属していたケーブルがピッタリだったので、それを使いました。

Amazonベーシック USBケーブル 0.9m (2.0タイプAオス – マイクロBケーブル) ブラック

⑧USB充電器(ACアダプタ)

USB充電器(ACアダプタ)

ラズパイに給電するためのACアダプタです。

コンセント → ACアダプタ → USB変換ケーブル → ラズパイ

私は、ダイソーに売ってあった2Aタイプのものを使用しています。

USB充電器 Ailkin ACアダプター usb アダプタ USBポート×2 (2.1A出力) スマホ充電器 電源アダプタ

サンプル音の再生と設定方法

「lsusb」コマンドを入力し、ラズパイが認識しているUSB機器を確認してください。

pi@raspberrypi:~ $ lsusb

以下のようにスピーカーが認識されていれば正常です。

Bus 001 Device 003: ID 0d8c:0103 C-Media Electronics, Inc. CM102-A+/102S+ Audio Controller
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

しかし、まだサウンド関係の設定がスピーカーに向いていない可能性があります。

試しに、サンプル音を再生する以下のコマンドを入力してみてください。

aplay /usr/share/sounds/alsa/Noise.wav

おそらく、以下のエラーが表示されるはずです。

ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5047:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM default
aplay: main:828: audio open error: No such file or directory

「cannot find card ‘0’」ってことで、おそらく「音を鳴らすためのサウンドカードが見つからないよ」という意味だと思います。

スピーカーの位置を教えてあげましょう。

まずは、下記のコマンドを入力して、スピーカーの位置を確認します。

cat /proc/asound/cards

「1」という位置が確認できました。

 1 [MicroII        ]: USB-Audio - Audio Advantage MicroII
                      C-Media INC. Audio Advantage MicroII at usb-20980000.usb-1.1, full speed

次に、下記のコマンドを入力して、サウンド関係の設定ファイル「.asoundrc」を開いてください。

sudo nano /usr/share/alsa/alsa.conf

「defaults.ctl.card」と「defaults.pcm.card」のところを「0 → 1」に変更して保存します。

defaults.ctl.card 1
defaults.pcm.card 1

defaults.ctl.card : サウンド設定の構成と音量の調整
defaults.pcm.card :音声の再生で使われるカード・デバイス

もう一度、サンプル音の再生を試してみましょう。

sudo aplay /usr/share/sounds/alsa/Noise.wav

※「ザー」という数秒のノイズ音です。

もし、ダメなとき「sudo reboot」コマンドで再起動もしてみて下さい。

この記事のURLをコピー

メールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

関連情報

運営者プロフィール
コダマ

職業はIT系フリーランス。過去、電子配線業務の経験が10年ある為、はんだづけも得意です。宮崎県在住、30代・2児の父親。

カテゴリー