平衡点


2008/12/25

_ 帰省

毎度の事ながら, 飛行機(の安い切符)を取り損ねたので, 往復とも新幹線に.「はやて」の切符が取れそうな日ということで, ちょっと早いけれど 27 に帰省することに.

...しかし, 飛行機って高いなぁ. 出遅れると, 飛行機片道分 ≒ 鉄道往復 + 福沢さん一人分程度. 時間をお金で買ってるんだと思えば, まあそうなのかな.

というわけで, 新幹線ハックですね. はい.

_ bluetooth でじたばた

先日購入した

PLANEX Bluetooth Ver2.1 ワイヤレスステレオヘッドホンアダプタ(3.5mmステレオミニジャック) BT-HP01AD
プラネックス

と, USB 経由の bluetooth アダプタ

PLANEX Bluetooth Ver2.0+EDR対応 USBアダプタ(Class 1) BT-MiniEDRW
プラネックス, ¥670

を使って, laptop で音を鳴らして bluetooth で飛ばして, リモートのイヤホンで聞くまで. 試しに Windows でやってみたらさっくりできたので debian でもやりたくてじたばた.

PIN(passkey) の登録までにちょっと手間取った.

必要なモノ

とりあえず以下を install した.

  • bluez-utils
  • bluez-audio

/etc/init.d/bluetooth が導入されて, daemon として hcid が起動する.

あと設定用に

  • bluez-gnome

を入れておく. xfce4 を使っているので, 自動起動に入れておく.

設定とか

挿してみて動作しない場合には

  • bluez-firmware

を入れてみると良いかもしれない. 挿してみると

usb 2-1: new full speed USB device using uhci_hcd and address 3
usb 2-1: configuration #1 chosen from 1 choice
usb 2-1: New USB device found, idVendor=0a12, idProduct=0001
usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

と見えた. ついでにタスクバーに bluez-gnome のアイコンが出てきた.

ここでイヤホン受信側をボンディング状態にして一度スキャンする

$ hcitool scan

ここで見えた XX:XX:XX:XX:XX:XX は後で使うのでメモしておく.

サービスのアクティベーション

続いて PIN コード(passkey) によって認証してボンディングする.<URL:http://wiki.bluez.org/wiki/HOWTO/AudioDevices:title> にあるようにdbus を直接叩く(ここにある python スクリプトでも良いけど).

$dbus-send --system --print-reply --dest=org.bluez \
/org/bluez org.bluez.Manager.ActivateService string:audio
...
   string "org.bluez"

返ってくる string を次に使う. ここでは "org.bluez" が返ってきた.

デバイスの登録.
$dbus-send --system --type=method_call --print-reply \
 --dest="org.bluez"  /org/bluez/audio \
 org.bluez.audio.Manager.CreateDevice string:XX:XX:XX:XX:XX:XX
 ...
    string "/org/bluez/audio/device0"

"--dest" はアクティベーションで返ってきた文字列を指定, string は接続したい機器のアドレス. 返ってきた string が作成されたデバイス.

接続

受信側をボンディング待受状態にしておく. でもって,

$ dbus-send --system --type=method_call --print-reply \
  --dest="org.bluez" "/org/bluez/audio/device0" org.bluez.audio.Sink.Connect

"--dest" にアクティベーションで返ってきた文字列, 続いて作成したデバイスを設定して接続. そうすると bluez-gnome アプレットがPIN コードの入力を要求してくる. 入力すると無事接続できた.

実際に音を鳴らしてみる.

先ず dmix 経由で鳴らしてみる. ~/.asoundrc に

# for bluetooth
pcm.bluetooth{
  type plug
  slave {
      pcm "bluetooth_hw"
  }
}
pcm.bluetooth_hw {
  type bluetooth
  device XX:XX:XX:XX:XX:XX
  profile "auto"
}

適当な mp3 でもって

$ mplayer -ao alsa:device=bluetooth test.mp3

で鳴った.

面倒なのは, 音を出すアプリケーション毎に出力を設定しないといけないこと. 設定が嫌なので, PulseAudio で出力することに.

# for default -> PulseAudio
pcm.!default{
  type pulse
}
ctl.!default{
  type pulse
}
# for bluetooth
pcm.bluetooth{
  type plug
  slave {
      pcm "bluetooth_hw"
  }
}
pcm.bluetooth_hw {
  type bluetooth
  device 00:1B:DC:20:14:58
  profile "auto"
}

これはこれで. .xsession あたりに

pulseaudio -D  2>/dev/null

として pulseaudio が起動するようにしておく.

参考文献


連絡先など
最近の日記
  • 2024/04/28
    • 1. CF-SR3 での生活環境構築 (できてない)
  • 2024/03/29
    • 1. Debian GNU/Linux on CF-SR3
  • 2024/03/25
    • 1. org-mode → beamer でのリスト記号の一時変更
  • 2024/03/22
    • 1. 静的htmlによるGit Repository Browser
  • 2024/02/15
    • 1. org-mode → bemaer での番号付きリスト
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|
Back to Top ▲