Packt PublishingでLinuxドライバ開発の良書を見つけました

Linux driverの技術書で、とても良い本を見つけたのでご紹介します。洋書ですが・・。

ついでに私が知っている Linux kernel, driver 関係の書籍を紹介したいと思います。
もし良い書籍があったらコメントで教えていただけると嬉しいです。

まずはみつけた良書の出版社 Packt Publishing の紹介です。
Linuxの書籍を知りたい人は飛ばしてください。

Packt Publishingとの出会い

仕事で組み込み系のLinuxドライバ開発を行っているのですが、あることで困って調べていたときに見つけたのがこの出版社の本でした。

Packt Publishingとは?

2004にイギリスで設立された出版社で、IT関係に特化して技術書やビデオを販売しているようです。電子書籍だけでなくちょっと高くなりますが印刷された本も販売しています。もちろん全て英語ですが・・。

Java, JS, Python, Ruby, Go, Rust といった言語系や、React, Vue と行ったフレームワーク、AWS, azure などクラウド/サーバ関係、AI, 機械学習、Fintechのような最近のトレンドの技術など幅広く揃っています。

その中に、あまり多くはありませんが、Linux driver, Linux system の書籍もありました。

Packt Publishing には、日本の出版社では考えられないような面白い特徴があります。

…続きを読む

Ubuntu 21.04 で Kindle for PC を使う

かなり放置してしまっていたのですが、久しぶりの更新です。

その間にコメントいただいた方々、返信が遅くなって申し訳ありませんでした。
コメントの承認がされないため、少々不安だったのではないかと思います。
ログインしないとコメントの承認待ちがわからなかったため、ずっとコメントされていることに気づいておらず対応が遅くなってしまいました。大変失礼しました。

これではまた同じことを繰り返しそうなので、コメントは承認制ではなく reCHAPTCHA で SPAM 対策する方針に変更しました。
reCHAPTCHA をクリアしたコメントであれば、コメント後すぐに公開されるようになります。
なるべくコメントにはお返事するようにしますので、今後ともよろしくお願いします。

さて、本題です。

最近紙の書籍だけでなく電子書籍も買うようになってきました。
古めの本は紙の古本で購入し、技術書以外の新しい本は電子書籍(Kindle / Kobo)で買ことが増えました。

Kindle も Kobo も PC 用のクライアントも用意されているのですが、Linux 用は正式リリースされていません。
ということで、Linux で Wine を使って Kindle for PC(Windows版) を動かして Linux PC でも Kindle を読んでみました。

検索すると結構この手の話は出てくるのですが、少し古い記事もあるので、Ubuntu 21.04 での手順としてメモがてら記事にしようと思います。

…続きを読む

Raspberry piをbluetoothスピーカーにする

前回の「Raspberry piをNAS兼音楽プレイヤーにする(MPD編)」でRaspberry Pi にスピーカーを接続したので、今度は Bluetooth スピーカーの機能も持たせてみます。NASストレージ内の音楽だけでなく、スマホ内の音楽を再生したり、スマホからAmazon Musicなどを再生できるようになります。

ただ、音楽再生には十分ですが、遅延が大きいですので、動画再生やゲームなどには向いていません。

また狙ってはいなかったのですが、試してみたらマルチポイント接続もできました! スマホとPCを同時に接続して同時に再生することも可能です。

目指す構成

今までの NAS 内の音楽を再生する機能を持ちつつ、Bluetoothスピーカーの機能も持たせます。これにより、NAS内の音楽再生に加えて、Bluetoothで接続すればスマホ内の音楽やスマホで再生した Youtube、 Amazon Music などのサブスク系音楽も聞けるという、音楽再生を全て 1 つに集約したような音楽サーバを目指します。

A2DPの実装: pulseaudio bluetooth と bluealsa

Linux での Bluetooth スタックと言えば bluez なのですが、A2DPについては bluez 単体ではサポートしておらず、プラグインの形で別のソフトが機能提供しているようです。

そして bluez 用の A2DP プラグインの実装は2つあるようです。

  • pulseaudio bluetooth module
  • bluealsa (bluez-alsa)

ソフトウェアの構造としてはそれぞれ以下のような感じになります。

…続きを読む

Raspberry piをNAS兼音楽プレイヤーにする(MPD編)

ちょっと間が空いてしまいましたが、前回の記事で Raspberry Pi を NAS 化しましたので、この記事ではNAS の中の音楽データを再生するミュージックサーバの設定を行います。ミュージックサーバとしては、Music Player Daemon(mpd) を使い、スマホなどからNAS内の音楽を再生できるようにします。

今回は pulseaudio を使ってサウンドを出力したのですが、pulseaudio の設定をいじるのは初めてだったので、色々と落とし穴にハマりました。そのハマったポイントも含めて説明していきます。

軽くおさらい

Raspberry Pi に NAS を構築し、Music Player Daemon(mpd) を使ってミュージックサーバを立ち上げてNASの中に格納された音楽を再生できるようにします。MPD はサーバ/クライアント構成の音楽プレイヤーで、Raspberry Pi にサーバを立ち上げ、スマホやPCのクライアントから音楽が再生することができます。

スマホの音楽を再生するのではなく、NASの中の音楽を再生するので、スマホに音楽を転送する必要はありません。逆に、この構成ではスマホの中の音楽をスピーカーで聴くことはできません。

再掲ですが、図にすると以下のような構成です。

created by Rinker
エレコム
¥7,128 (2022/10/04 04:20:24時点 Amazon調べ-詳細)

…続きを読む

Raspberry piをNAS兼音楽プレイヤーにする(NAS編)

OpenVPN サーバのインストールに続いて、Raspberry Pi サーバ化の第2弾です。外付け HDD を使って、NAS機能をもたせ、その中の音楽ファイルを再生するプレイヤーに仕立てます。

Raspberry Pi2 を使った場合、100Base の時点で NAS の性能としては期待できません(最大でも10MB/s程度)。もっとアクセス速度が欲しい場合は Raspberry Pi4 が良いでしょう。USB3.0、GbE 対応と NAS に必要となるバス速度が桁違いに早くなっています。

ただ、音楽データを置いたり、写真データ、バックアップデータなど容量がかさばるけど、頻繁にアクセスしないデータ置き場であれば Pi2 でも十分です。

構想

NASとしてのプロトコルは Windows からアクセスすることを考慮して SMB サーバを立てることにします。samba による SMB サーバ構築は Linux では昔から実施されている枯れた技術ですね。

音楽プレイヤーとしては今回は Music Player Daemon(mpd) を使います。サーバ/クライアント構成の音楽プレイヤーで、Raspberry Pi にサーバを立ち上げ、スマホやPCのクライアントから音楽を再生できるようにします。

音質にこだわった方は Rapsberry Pi に I2S 接続のDACを繋げたり、USB DAC を接続したりして高音質なプレイヤーを作り上げていたりしますが、今回はRaspberry Piのアナログオーディオ出力をそのまま使います。今回の私の目的はリビングに据え置きの安物スピーカーでFMラジオ的に音楽を鳴らすことなので、そもそもあまり音にこだわる意味がない環境です。

図にすると以下のような感じです。 …続きを読む