「debian」タグアーカイブ

【pc】今日Unityを脱ぎ捨てたUbuntu17.10公開

sc20171019155306日本だと、10/20になってしまうかもしれませんが、本日新しいUbuntu17.10が公開配布されます。

https://www.ubuntu.com/

今まで不評とも言われ続けながらも、採用し続けた「Unityインターフェース」を脱ぎ捨てて、「Gnome」が採用されます(カスタムされて、見た目はUnityっぽい)

また、ディスプレイサーバを長年のXorgから、Waylandに変更となり、かなり挑戦的な内容です。

よって、ハードウェアによって、不具合が発生する可能性があります(というか、既に発生してるようです)

Linuxデスクトップのシェアではトップを独走してるUbuntuなので、ひと波乱ありそうです。

次作のUbutnu18.04LTS(長期サポート版)へ繋がる大事なバージョンです。

sc20171019160227Ubuntu Japanese Teamが配布してる、日本語カスタマイズ版は、1ヶ月程度遅れてリリースでしょう。

https://www.ubuntulinux.jp/

成果物は後からでも適用できるので、本家Ubuntu17.10が動作するのか、いか程のものか確認しておくのが、必要かもしれない。

【音】ラズパイ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を、ちゃーんと理解していれば、対策も出来るのでしょうが、生半可な知識ではこれが限界(;´Д`)

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

【PC】RaspberryPi2きたこれ!どんなやつ?

sc20150204190944

追記有:2015/02/10

なにやら突然に発表と思いきや、既に販売中という、いつながらワクテカさせる暇を与えてくれないラズパイですが・・w

RaspberryPi+でしばらくの辛抱と思いきや、「RaspberryPi2」が登場です!(Type-Bのみ)

CPUコア単体では1.5倍、4コアなので、単純に6倍に性能アップ!メモリも、512MBから1GBに倍増!(ELPIDA社製)

他の構成は、TypeB+と同じだそうです(サイズやGPIOも含め)

しかも、値段据え置き!35ドル!全て英国製で、中国製は無くなった。

日本ではなぜか?いくらか乗ってます。TypeB+よりも数百円高い。英国からの送料は同じなのにねぇ・・・(;・∀・)

ただただ、気になるのが、消費電力と発熱です。TypeB+は、200mAで動作してたので、これがどれだけ増加するか?です。また、ヒートシンクを持たない状態みたいですが、発熱具合も気になるところです。

※ちなみに、TypeA+は90mAで動作しちゃう 参考:ブログ

追記:

sc20150210163217消費電力は、以前のモデルとは違い、CPUロードによって増減するようです。

アイドル時で230mA、フルロード時で470mAのようです。参考

※LANポート利用、HDMI出力、USBキーボード利用の時

案の定ですが、結構、電力を消費します。幸い500mA以下なので、どんなUSBポートでも動作は可能ですが、ラズパイのUSBポートや純正カメラ等を利用する場合は、1~2A以上の余裕が必要でしょう。

Type-B+も継続して販売との事で、低電力を望むならPi A+/B+、高スペックなら、Pi2となる感じでしょうか。

追記:

以前は遅すぎて使い物にならなかったGUI環境ですが、CPUスペックが大幅に上がった事で、スムーズに動作してくれるようです。

こちらの動画が参考になるかと思います。

スクロールとかも、波打ってませんし・・(;^ω^)

sc20150204194610

先日凄いニュースが飛び込んできました。

なんと、RaspberryPI向けに、無料でWindows10を提供との事です。

スペック的に、パソコンとして快適に利用する事は困難ですし。

大事な事を忘れてますよ!

ラズパイは、RISCなんですよ。intel x86では無いんですよ。って事は、普段使いのWindowsでは無いのが想定できます。多分、Windows8 RTみたいなシロモノでしょう。RT機はRISCだったし。

アメリカきっての営利企業が、そんなボランティア的な事は絶対にしません。

RaspberryPi関連製品

追記:

sc20150210164612

初めて聞くようなニュースが飛び込んできましたね。

なんと、ラズパイをカメラのフラッシュで焚くと、再起動する!?と・・(;^ω^)

オカルトちっくな印象ですが、これ、本当のようで。。

チップの回路が一部露出しているらしく、そこに大きな光を受けた場合、電圧が低下するんだそうです。

※太陽光や室内灯くらいでは問題無し

かと言って、これは不具合でも無く、そういうものだそうです。これで、故障する訳でも無いようです。突然の再起動によって、ストレージとかへのデータ的ダメージはあるでしょうけど。

公式では、対策版を出荷するようです。

ヒートシンクとか取り付けたら対策できるんだろうかね。