SolidRun AMD HAILO Marvell NXP
Renesas TexasInstruments
  • ホーム
  • アーティクル★
  • 製品情報
  • イベント情報
  • Petapico コラム
  • ダイレクトショップ
  • DL
  • 英徳社について
  • 問い合わせ
05日 5月 2015

HummingBoardでGPIO,I2C,SPIを使う(5)  HummingBoardのaudio jackをAndroidから使ってみる

【今回の目標】

今回のテーマは、USBポートを塞ぐことなくHummingBoardをWiFiに接続したいという要望があり、MiniPCIeカードでWiFiを試したものです。

今回使用したボードはIntelのWiFi Mini PCI カード(型番: 512AN_HMW)です。種々のOSでWIFI接続を行ってみました。

 HummingBoardとCuBox-iの違いは、ハードウェア的に外部ポートがついていることです。

このコーナーでは、GPIOやSPI、I2Cを使った電子工作などの例をもとにHummingBoardならではの検証を行っています。

 

前回までひと通りGPIO,SPI,I2Cの動作を検証してきました。HummingBoardの基板上を見ると、音声用のオーディオアナログジャックがついています。それなら、とイヤホンとかスピーカーをつないでみましたが、これが全く音が出てきません。結論として、こんな単純なことの割には、アプリで対応していないととても大変だということが分かりました。

Android, UBUNTU, Debian, OpenELEC, GeeXboX などすべて、音はHDMIとSPDIFの出力しかサポートされていません。HummingBoardよりもCuBox-i が先行していたこともあるのでしょうが、HummingBoardのanalog audioだとかAndroidで見かける EARPIECE などは設定のどこを見てもでてきません。今回は、意地になって見出したAndroid でオーディオジャックから音を出すというトリビアを紹介します。

Arduinoとか、RaspberryPi 対応のローレイヤーのドライバやツールの場合、残念なことにHummingBoardには対応されていません。

1. HummingBoardのAndroidでアナログオーディオ

 

 ワンボードマイコンの類で、Android4.4がまともに動くものは珍しい。通常はもっとプリミティブな「マイコン」を工作に使うので、Androidを走らせるにはメモリやCPU性能が足りないからです。そんな性能・機能リッチである特異なHummingBoardですが、いざAndroidを載せてしまうと返って小さな制御が難しくなってしまうこともあります。試していきます。これまでに検証をしてきたGPIOなどのポートを使うことでも、実はroot権限が必要になります。ところがコラムの記事でも紹介してますが、通常のビルドのAndroidではroot権限取得は基本的にできません。

 

さて、アナログオーディオをLinuxで扱おうとします。基本的にALSAが対応してさえいれば,ただアナログジャックに接続するだけで利用可能となります。

 

cat /proc/asound/cards

 

GNOMEのサウンドの設定アプレットによる設定であれば、サウンドデバイスを接続して電源を入れると,ウィンドウ「サウンドの設定」(gnome-volume-control)の「ハードウェア」タブに表示されるようになります。

OpenELECやGeeXboXでは、Settingのページからオーディオ出力が選べます。

 

HummingBoardでは、i2eX,とi4Pro でしかアナログの音声は出ません。i1, i2 ではCPUがプログラム上で作るビープ音などしか出ないようになっています。ここからは、HB-i2eXで検証を続けます。

 

Android4.4の場合の結論

 

1. edit /system/etc/audio_policy_conf でEARPIECEを足す

 

/system/etc/audio_policy_conf :

 

# Global configuration section: lists input and output devices always present on the device

# as well as the output device selected by default.

# Devices are designated by a string that corresponds to the enum in audio.h

 

global_configuration {

attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER

default_output_device AUDIO_DEVICE_OUT_SPEAKER

attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC

}

 

2.AndroidアプリのSoundAboutをインストール

  音声の入出力を色々な組合せ変更することができる。

 

3.tinyalsaの設定 root権限が必要 ->コラム  参照

root のshellコマンドで、

tinymix

と打つと下表の通り。ジャックは25になっている。

 

  tinymix 25 on

 

  とすることで、イネーブルすることができる

  2の設定があっていれば、この瞬間にイヤホン(スピーカー)から音がでてきます。

  YoutubeでもSkypeでも何でもこれでジャックから聞こえるようになります。

 

ただし、3のパラメータはroot権限が必要なこと、一度電源を落とすと保存されていないこと、で大変に面倒な作業となります。何かのシステムに組み込んで使うような場合にはメンテナンス上も問題があるでしょう。

もとは、AndroidでSkypeを使う時に、HDMI接続したTVへ流せない場合の着信音を出したいというユースケースだったのですが、結論としては、できなくはないが運用にはむかないということでした。

アナログオーディオジャックとBluetooth のUSBドングル
アナログオーディオジャックとBluetooth のUSBドングル

2. それでは他のOSではどうだろうか

 

Androidでの結果が結果だったのでついでに他のLinuxではどうかを少し調べたものの紹介をしてみます。

 

【OpenElec5 official の場合】

audio jackは認識されている。

 

OpenELEC:/etc # cat /proc/asound/cards

 0 [imxhdmisoc     ]: imx-hdmi-soc - imx-hdmi-soc

                      imx-hdmi-soc

 1 [Codec          ]: On-board_Codec - On-board Codec

                      On-board Codec

 2 [imxspdif       ]: imx-spdif - imx-spdif

                      imx-spdif

OpenELEC:/etc #

 

OpenELEC:/etc # aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: imxhdmisoc [imx-hdmi-soc], device 0: i.MX HDMI Audio Tx hdmi-hifi-0 []

  Subdevices: 1/1

  Subdevice #0: subdevice #0

card 1: Codec [On-board Codec], device 0: HiFi sgtl5000-0 []

  Subdevices: 1/1

  Subdevice #0: subdevice #0

card 2: imxspdif [imx-spdif], device 0: S/PDIF PCM snd-soc-dummy-dai-0 []

  Subdevices: 1/1

  Subdevice #0: subdevice #0

 

普通のLinuxであればどうにかできそうだが、SSHでrootでログインしても、filesystemがread-onlyになっていてブロックされてしまう。

 

【UBUNTUの場合】

Alsaに認識されていないので現状方策なし

 

【Debianの場合】

Alsaには認識されている。デスクトップツールやAlsaのツールを導入すれば可能だと思われる

 

【Xbianの場合】

Xbianは、Kodi(XMBC)で唯一pulseaudioが使える状態にあります。Xbianでは、色々なところで色々なトライアルがなされている。

例えば SolidRun Communityの中のディスカッションで

Bluetooth Audio

http://www.solid-run.com/community/post17834.html#p17834

などが参考になる。

 

種々の対応中に、アナログオーディオジャックからの出力は確めることができた。しかしながら、今回はBluetoothでのオーディオ再生は確かめられなかった。さらなる調査で確認出来次第コラムへ投稿します。

Bluetooth
Bluetooth 自身は起動できて、ペアリング、コネクトまではOK。でも肝心の音が出ない・・・
tagPlaceholderカテゴリ: HummingBoard, Android, GPIO, SPI, コラム, 外付け

コメントをお書きください

コメント: 0

お問合わせフォームはこちら

メールはpetapicoshop@petapico.bizまで

適格請求書発行事業者登録番号のお知らせ


英徳社ホームページはこちら


1 日本国内への配送に適用されます。その他の国についてはこちらをご参照ください
概要 | 利用規約 | 返金条件と返品取消申請書 | 配送/支払い条件 | プライバシーポリシー | サイトマップ
ログイン ログアウト | 編集
  • ホーム
    • ショップからのお得情報
    • CuBox-i Seriesの情報
    • MicroSDの作り方
    • HummingBoard Seriesの情報
    • HummingBoard Edge/Gateの情報
    • IntelSoliPCの情報
    • windows10 IOTの情報
    • ClearFogの情報
    • MacchiatoBinの情報
    • fromSolidRunWebsite
  • アーティクル★
  • 製品情報
  • イベント情報
  • Petapico コラム
    • KODI
    • Cobox-i
    • HummingBoard
    • ソフトウェアTips
    • 外付け
    • カメラ
  • ダイレクトショップ
    • ダイレクトショップ iMX SoC
      • CuBox-Mセット
      • iMX8M Plus
      • iMX8M Plus Mate
      • CuBox-i1 OpenELECWiFi model
      • HummingBoard Pulseセット
      • CuBox-i1 OpenELEC セット
    • WAI WAIセール
      • Sheeva
      • D3
      • SMILE Plug
      • 第1世代CuBox|CuBox-PRO
      • CuBox-i1 セット
    • ダイレクトショップ LX2K
      • LX2160Aファミリー
    • ダイレクトショップ Marvell SoC
      • CEx7 CN9132
      • ClearFog
      • ClearFog Base
      • ClearFog Pro
      • MacchiatoBin Double|Single Shot
      • ClearFog GT 8K
      • MACCHIATObin ClearCloud 8K
      • SolidSense スターターセット
    • ダイレクトショップ intel SoC
    • ダイレクトショップ eRemote
      • eRemote
      • eSensor
    • 12V AC アダプター(PSE対応)
    • CuBox-i1 GeeXboXセット
    • CuBox-i1 OpenELEC+plugin
    • HummingBoard-Gate i1セット
    • HummingBoard-i2eX セット
    • HummingBoard-i4pro セット
    • CuBox-i2 セット
    • CuBox-i2 WiFiセット
    • CuBox-i2eX セット
    • CuBox-i2eX WiFiセット
    • CuBox-i4 Pro セット
    • HummingBoard-i2 セット
    • HummingBoard-i1セット
    • Application microSD Card for CuBox-i
    • Android microSD Card for CuBox-i
    • SolidPC
    • SolidPC SSD 32G
  • DL
    • Media Exposure
  • 英徳社について
  • 問い合わせ
閉じる