「Bluetooth」タグアーカイブ

【音】ラズパイ2をBluetoothスピーカー化してみる

sc20150322024152

追記:問題点3/27

RaspberyPiを、Bluetoothレシーバー側にしてみようと思います。

ラズパイが、Bluetoothワイヤレススピーカー化するような感じです。スピーカーは別に必要ですけどね・・。

スマホ・タブレットやPCから、音声を飛ばして(Bluetooth)、ラズパイで受け、それをスピーカーで鳴らします(Bluetoothデバイスから、PulseAudioのLoopbackで音声に接続という流れ)

P1010510手順は、検索しても相当に少なくて、そもそもLinuxでのBluetoothの情報少ない・・という状況のようです。

ちなみに後遺症として、PulseAudioをシステムモード動作させるため、一部オーディオ系コマンドがエラーになってしまう場合があります。利用したい場合は、「sudo –u pulse コマンド」とかすればOKです。

P1010511また、「apt-x」での接続を確認していないので、昔ながらの0.5秒遅延アリアリな感じです。

こちらの「猫ぱんち」さんのブログを参考にしました。同じ様な内容で、リンク先の英語サイトを参考にされたようです。

http://d.hatena.ne.jp/penkoba/20130909/1378744109

ただ、このままではうまく出来ませんでした(;^ω^)

※素の状態でもダメでした

色々やってみて、やっと動作までこぎ着けました。備忘録となりますが、先の「猫パンチ」さんと共に参考にどうぞ。

※ほぼ同じです

なにかと面倒無いよう、通常の「pi」ユーザーでログインしておきます。

インストールするパッケージ

sudo apt-get install pulseaudio-module-bluetooth python-gobject python-gobject-2

Bluetooth関連ユーティリティ(無くても良い)

sudo aptitude install bluetooth bluez-utils bluez-compat

USBのBluetoothドングルを挿して、認識してるか調べます。

lsusb

Bus 001 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

sc20150322182557私のは安価なバッファロー製のこちらです。多分、何でも認識するかと思います。バッファローとアイ・オーは実績があるようです。

消費電力を意識するならVer4で、速度重視ならVer3のようです。

iBUFFALO Bluetooth USBアダプター 3.0+EDR対応 class2 ブラック BSHSBD04BK

pulseユーザーをlpグループに追加・・が、正直、ここは意味が分かりません。lpグループって何さ?w

sudo usermod -a -G lp pulse

/etc/init.d/pulseaudioを編集(startメソッド付近:39行目)

–disallow-module-loading=$DISALLOW_MODULE_LOADING」という部分を削除します。

/etc/default/pulseaudioの編集(システムモードに変更)

PULSEAUDIO_SYSTEM_START=1

/etc/pulse/system.paの編集(Bluetoothモジュールのロード)

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif

※末行に追加、ifexistsは無くてもいいけど

/etc/pulse/daemon.confの編集(サンプリング・レート対応)

resample-method = trivial

/etc/bluetooth/audio.confの編集(Bluetoothスタック)

Enable=Source,Sink,Headset,Gateway,Control,Socket,Media

※ここでBluetoothの対応スタックを選択します

/etc/bluetooth/main.confの編集(スタックID)

Class = 0x20041c

/var/lib/bluetooth/<BDADDR>/config の編集(合わせる)

class 0x20041c

フラグ値はよく知りません。そのまんま利用してます。あんまり意味無さそうな印象です。

BDADDRは、機器により違います。1個しかないかと思うので、それです。TAB押せばええ。

オーディオデバイスを表示(デバイス名の確認)

sudo -u pulse pactl list short sinks

※鳴らしたいデバイス名を、メモっておきましょう

別にUSB-DACデバイス(スピーカー)で鳴らしたい場合は、とても重要です。

/usr/lib/udev/bluetoothを新規作成(Bluetoothリンク時の動作)

Bluetoothが接続や切断をした際に呼び出されます。やっている事は、Bluetooth機器を探して、PulseAudioの出力にループバック接続してます。なので、事前にメモしたデバイス名を、以下の赤字に記述します。標準アナログ出力なら、この名称でしょう。

#!/bin/bash

AUDIOSINK=”alsa_output.0.analog-stereo

echo “Executing bluetooth script…|$ACTION|” >> /var/log/bluetooth_dev

ACTION=$(expr “$ACTION” : “\([a-zA-Z]\+\).*”)
if [ “$ACTION” = “add” ]; then
   # set volume level here, if necessary
   amixer set Master 100%
   pacmd set-sink-volume 0 65537
   for dev in $(find /sys/devices/virtual/input/ -name input*); do
      if [ -f “$dev/name” ]; then
         mac=$(cat “$dev/name” | sed ‘s/:/_/g’)
         bluez_dev=bluez_source.$mac

         sleep 1

         CONFIRM=`sudo -u pulse pactl list short | grep $bluez_dev`
         if [ ! -z “$CONFIRM” ]; then
            echo “Setting bluez_source to:  $bluez_dev” >> /var/log/bluetooth_dev
            echo pactl load-module module-loopback source=$bluez_dev sink=$AUDIOSINK rate=44100 adjust_time=0 >> /var/log/bluetooth_dev
            sudo -u pulse pactl load-module module-loopback
source=$bluez_dev sink=$AUDIOSINK rate=44100 adjust_time=0 >> /var/log/bluetooth_dev
         fi
      fi
   done
fi

if [ “$ACTION” = “remove” ]; then
   CONFIRM=`sudo -u pulse pactl list short | grep ‘module-loopback\ssource=bluez_source’`
   if [ ! -z “$CONFIRM” ]; then
      module_id=`echo $CONFIRM | sed ‘s/\s.*//’`
      echo pactl unload-module $module_id >> /var/log/bluetooth_dev
      sudo -u pulse pactl unload-module $module_id >> /var/log/bluetooth_dev
   fi
fi

水色のところは、無くてもOKです。コメントとか、ログ書き出しの部分です。ちなみに、ログは「/var/log/bluetooth_dev」です。

このファイルに実行権限を与えます。

chmod +x /usr/lib/udev/bluetooth

/etc/udev/rules.d/99-input.rulesの編集(追加)

上で追加したファイルを登録します。

KERNEL==”input[0-9]*”, RUN+=”/usr/lib/udev/bluetooth”

/etc/init.d/bluetooth-agentを新規作成(Bluetoothリンク待受)

参考のものをそのまんま利用です。デーモンとして動作します。

### BEGIN INIT INFO
# Provides: bluetooth-agent
# Required-Start: $remote_fs $syslog bluetooth pulseaudio
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Makes Bluetooth discoverable and connectable to 0000
# Description: Start Bluetooth-Agent at boot time.
### END INIT INFO
#! /bin/sh
# /etc/init.d/bluetooth-agent
USER=root
HOME=/root
export USER HOME
case “$1” in
        start)
                #echo “setting bluetooth discoverable”
                sudo hciconfig hci0 pscan
                start-stop-daemon -S -x /usr/bin/bluetooth-agent -b — 0000
                echo “bluetooth-agent startet pw: 0000”
                ;;
        stop)
                echo “Stopping bluetooth-agent”
                start-stop-daemon -K -x /usr/bin/bluetooth-agent
                ;;
        *)
                echo “Usage: /etc/init.d/bluetooth-agent {start|stop}”
                exit 1
                ;;
esac
exit 0

実行権限を与えておきます。

chmod –x /etc/init.d/bluetooth-agent

デーモンとして登録

sudo update-rc.d bluetooth-agent defaults

Bluetoothサービスの再起動&エージェントを起動

sudo service bluetooth restart

sudo service bluetooth-agent start

ここまでやれば、Bluetoothのペアリンクが出来るはずなので、スマホなどから探してみてください(ホスト名に数字が付いたのが見えるはず)

ペアリンク時のコードは、上記スクリプトで「0000」とかしてますが、入力を要求されたらこれを入力、違う数字が表示された場合でも、そのまま「OK」して下さい。内部で、ちゃんとやり取りしてます。

この辺が、LinuxによるBluetoothの変なクセの一つなようです。

基本的なところは、ここで終了なのですが、もう一つ。

接続相手を自動接続にする(信用化)

hcitool scan

Bluetoothスキャンを掛けて、表示されたID(00:11:22:33みたいなやつ)をメモします。

sudo bluez-test-device trusted (ID) yes

で、信頼済みとします。次から、ペアリンク手順が不要になります。

sc20150322182308・・が、機器によって、接続のタイミングがそれぞれ違うようで、スマホとかだとすぐ接続されますが、WindowsPCとかだと、いちいちBluetooth画面から、接続に手順をしないといけません。

※Bluetooth管理用ソフトによって、まちまち

sc20150322182225Windows側で、起動時にアクティブになるような、機能とかあるんだろうか。別にプログラムを書かないといけないかもしれない。

遅延無しのapt-xで接続してみたいが敷居が高そう。

最後になりましたが、なんでこんな事をするかという点。

自分は、ソーラー発電&蓄電をしてまして、RaspberryPiやスマホの充電なんかを全て、ソーラー発電からまかなってます。

USBスピーカーも同様で、24時間通電しっぱなしです。

せっかくなので、常用パソコン用のスピーカーも、これで鳴らせれば、節電になるなぁ・・という事から実施してます。TVチューナー(Blurayレコーダ)の音声も、一緒に鳴らしたいんだけども。

※USBスピーカーで、入力が3つとかいう製品が無いしね・・

追記:3/27

しばらく運用してみたのですが、この方法で、ラズパイをBluetoothスピーカー化する事が可能です。

Windows PCなどから、再接続する手間を除けば、実用に耐えます。ま、これもWindows側或いは、ラズパイ側から再接続指示などが行えるかもしれません(Bluetooth仕様でしょう)

追記した理由は、自分の運用的に問題にぶち当たったからです。

PulseAudioをシステムモードON(非デフォ)としていますが、この性で、通常のオーディオ利用が出来なくなってしまいます。

sudo –u pulse mpg321 hogehoge.mp3

とかユーザー指定すれば、音声は鳴ってくれますが、バッチ処理内だとがっつりフリーズしてしまいます。

PulseAudioを、ちゃーんと理解していれば、対策も出来るのでしょうが、生半可な知識ではこれが限界(;´Д`)

他に時報とかメール着信・監視時とか鳴らしたいので、自分的には実験的段階で終了という運びとなりました。

【音響】マクセルMXSP-BT03Jを買ってみた

DSC_0062

追記あり7/13:

MacellのMXSP-BT03Jを買ってみた。

・・というかスゲー安かったんだけども(;^ω^)

ボディ全体が、分厚いゴムで囲われたBluetooth4.0対応スピーカー。

バッテリー内蔵で15時間、AUX入力もアリ、通話とかもできる。使わないけどw。充電は、microUSB端子です(左側面に集中)

インターフェースや端子、よくあるBluetoothスピーカーと特に代わり映えしません。こういうのが、Bluetooth仕様で決まってるんだろうか?

DSC_0063

ステレオで、アンプは3Wで、恐ろしいほど大音量で鳴らせます。

こいつ壊れるんじゃねぇの?って位ですw(;^ω^)

なぜか、AUX入力時は、たいぶ控えめになってしまいます。なので、AUX用途で考えた場合、やめといた方がいいです。

ちなみに、AUXは、Bluetoothリンクが切れた時に有効になります。ペアリンクしただけじゃなくて、実際に音声リンクしない限りは、AUX入力状態です。

切替時にブツブツと言いますが、しっかり安定して切り替わります。

音質についてですが、これは見たまんまです。確かに、低音を感じますが・・・やっぱそれなりです。屋外でガンガン鳴らしてナンボという感じです。

音量を上げると、ボディ全体がズンズン振動してるのが分かります。バスレフとかあるのかなぁ・・と、指で探してみたのですが、無さそうです。背面の穴がそうかなぁ?でも、思ったより、振動を感じない。

もしかすると・・ですが、せっかくの低音振動を、ボディで吸収しちゃってんじゃねぇだろうか?

sc20140222180121

最新の製品だけあって、Bluetooth4.0対応(省電力)、高音質aptX対応、SCMS-T対応(地デジとか)、A2DP/AVRCP対応(各種操作)と、一通り対応してます。

個人的には、もうちょっと、ひと味欲しかった。

せっかくAptX対応してるので、ヘッドホン端子とかあっても良かったんじゃないかと。

・・・おかしいか?おかしいような・・w

これでいいんだろうな・・(;^ω^)

まぁ・・この製品、悪くない選択肢です。比較的に安いし、最新仕様を網羅してる。そして、日本メーカーの製品ですからね。黒色のモデルもあるようです。

日立マクセル マクセル Bluetooth対応ポータブルスピーカー(ホワイト)maxell MXSP-BT03J MXSP-BT03JWH

追記:

sc20140222183036

自分が使用してるスマホ(SH-06E)が、Apt-X対応だったので、SBCコーデックと聴き比べしてみました。

ほんとにどんだけ高音質になるのか!は気になったんですが、正直なところ、分からなかった(;^ω^)

ヘッドホンで聞き比べれば分かるかもしれませんが、スピーカー越しではほとんど違い無しでした(私の耳では)

SH-06Eでは、標準だとSBCなので、設定でapt-Xを有効(優先接続)にしないといけない。リンク時に、aptロゴが表示される。

まぁ・・良い音を追求するのに、ワイヤレスっていうのが、そもそもの誤りなんですけども。

追記:

購入後6ヶ月位でしょうか・・(;´Д`)

PCのメインスピーカーは、ONKYOミニコンポを利用してるので、あんまりBluetoothスピーカーの出番が無かったのですが・・・。

ある時、充電でもするか・・と軽い気持ちでPCのUSBに接続したら、「デバイスを認識しました」・・ん?( ´∀`)

ん?これ、USBスピーカーにもなんの?!(゚∀゚)

USBスピーカーとしてよく見る「CSR8645」の文字が・・。んで、切り替えてみたら、なんと!これUSBスピーカーとしても利用できます。

但し・・、アフォみたいな大音量で鳴ってくれる(良い意味)、本体の音量ボタンとかで調整不可で、PCからのみ音量設定のようです。

しかし、このスピーカー、こんなにも小さいのにビビリ音も無く、低音もしっかりしてる、大音量でもまったく平気です。

凄いポテンシャルを持ってる製品です。

【pc】Lenovo周辺機器が40%オフぅ!

sc20140209161427

もう、Lenovoの尖った周辺機器、特にキーボードは、このメーカー品しか存在しないという。

マニアにはたまらない、トラックポイントキーボードです。

Bluetooth対応トラックポイントキーボード0B47181

こちら、12474円する高額なシロモノなのですが、40%オフクーポンを使うと、7484円になってしまう。

LENOVO周辺機器クーポンセール

sc20140209162252クーポンコードは、「JPCLOPT0213」です。12日までなのでご注意。

【key】史上最強のBluetoothキーボードが17日まで30%引きだよぉ涙

sc20131015194252

最強のBluetoothキーボードのLenovoトラックポイントキーボード。

Thinkpadユーザー御用達のトラックポイントも付いてて、マウス要らずで、Thinkpadそのままのキー感触が得られる訳ですよ。

ただ・・・、価格は、13041円とバブってる。

・・・たかすぐる(´・ω・`)

「Thinkpad」と冠が付いてるので、あくまでも業務用途なんでしょうか

sc20131015194739とはいえ、この有線タイプなら、所有してます。5000円も安いしね(;・∀・)

でも・・やっぱ、スマホやタブレット用に、完全リモート環境が欲しいにょろよ。

っやっと・・・・、キャンペーンが始まりましたよ!!

10/17までですが、周辺機器が30%引きというものです。むろん、キーボードも含みますよ。

Bluetoothタイプが、こんな値段になります(これでも高いけど・・・ね)

sc20131015195041

どうですか!!!9129円です。

俺は買うけどね。もう、いつキャンペーンするか分からんしw

Lenovo周辺機器キャンペーン

秘密のコードは「JPNIGHTOPT1017」です。カートに入れて、決済画面で入力すると割引されます。

【pc】到着!新トラックポイントキーボードぉ!

NCM_0170

追記あり:

さっき届きましたよぉ(゚∀゚)ノ

Lenovoの新しいトラックポイントキーボードですよぉ。KU-1255 日本語USB有線タイプ/0B47208

ThinkPad トラックポイント・キーボー ド – 日本語

同時にBluetooth版も出てますが、こちらは有線タイプです。若干安い(;´Д`)

設定せずにそのまま写真取ったんですが、汚ねぇ写りだなw

配送は大体、1週間でした。もちろん、海外からの配送ですね

wktkにて、箱を開封。

おおっ、小さっ。前版のトラックポイントキーボードよりも格段に小さくなってます。

そして・・、確かに剛性が高そう。ミシミシ言いませんw

NCM_0171

NCM_0172
Majestouch2(赤軸)と並べてみました。こんなサイズです。

見ての通り、フルサイズのキーですね。これなら違和感なくタイピングできます。

NCM_0173

NCM_0174


めっさ薄い。インターフェース類は、背面のMicroUSB端子のみです。4箇所5箇所にゴムがあるので、想像以上にしっかりホールドしてくれます。

追記:USB端子のすぐ上に、緑色LEDがありました。普通に使ってる分にはまったく見えない位置なんですよw

中央にも大きなゴムがあります、ですので全部で5箇所。ただ、足を立たせてると4箇所

キーボード配置はいたって普通、変則的配置はありません・・というか現行Lenovoノートと同じでしょうね。ちなみに、左下は、Fnキーです。

強いていえば、ESC、DELキー(左上、右上)は、サイズに合わせるためか、1.5倍ほど横長です。PrtSCも、右手前CtrlとAltの間に挟まれて、この2キーだけとっても小さい。使用頻度が少ないと判断されたんでしょうね

NCM_0175

付属品はこのケーブルのみです。

3m位はあるでしょうか。不満なら、汎用品が利用できますね。


NCM_0176

見ての通り、まるで「」です。

足を立てても奥が1cm程度上がる程度

机をそのまま叩いてるみたいだ・・と、最初は思いましたが、次第に慣れちゃいましたw

ポインターの3ボタンも比較的に大きめなので、自然と親指の真下にボタンがあり、操作性も良好。

ちなみに、自分はWindows8でしたが、接続したら自動でユーティリティがインストールされました。ん?Win8の機能なのか?

sc20130706170005

こちらが、唯一の設定画面です。

マウスのプロパティ画面のタブ

とってもシンプルになっちゃいました。設定はほぼ皆無です。

一番速いにしてますが、それで普通な位なので、もうちょっと振り幅を大きくして欲しかった。

そういや、注意点がひとつあります。

ファンクションキーがデフォルトで使えません。

普通ならFnキーと同時押しで機能すべきところが、逆になってるワケです。

でも、Fn+ESCキーを押すとこれを無効にできます。

ちなみに、音量や輝度調整、Fn+F12でアプリ一覧画面、Fn+F11でタスク切り替えなど、Windows8特有のキーがあったりします

この赤ポッチキーボードがたまらない人おおいでしょう。

これは買ってソンしませんよ。絶対おすすめ。

Lenovo周辺機器マウス・キーボード

【pc】どんなスタイルでも使えるキーボード&マウス

プレゼンしながら、寝っ転がりながら、でも離れて操作できるキワモノデバイス。

Bluetoothなので、パソコンだけじゃなくても、iPodやPlayStation3、スマフォでも利用できちゃう。

結構、評価が高いみたい。気になるデバイスです。

上海問屋にて、4,999円(送料399円)