この間 "balenaOSを用いて簡単にラズパイBluetoothレシーバを構築する" という記事を書いた。改めてこの記事について深堀りしたいと思う。
この間の記事
https://qiita.com/ksmndevelop/items/39bbb650ef21798f89fb
balenaCloudについてはここでは触れない。
検索しても日本語のページが少ないため一応簡単に説明しておく。
balenaOS公式ページに書いてある。
https://www.balena.io/os/
"最新のソフトウェア開発ツールを接続ハードウェアの世界にもたらすプラットフォームであるbalenaCloudの構築を目指して、2013年にDockerをARMチップに移植することから始めました。"
と記載どおりDockerをARMに移植するために始めたとのこと。
要するにほぼDockerコンテナだけを動かすOSと言えるだろう。
Dockerだと簡単にIoT環境構築できるためとても汎用的。
公式からの画像
ラズパイでBluetoothレシーバを構築したように他にも様々なプロジェクトを構築できる。
・WEBフレーム
YouTubeやGoogleフォトに保存した画像等をディスプレイに表示する。"balena DASH"というプロジェクトコードを利用する。
30分でつくれると書いてある。。
https://www.balena.io/blog/make-a-web-frame-with-raspberry-pi-in-30-minutes/
・エアーモニター
室内環境をセンサーを用いて監視できるようにする。"balena Sense"というプロジェクトコードを利用する。
この他たくさん構築出来るようなのでbalena blogを参照してほしい。
https://www.balena.io/blog/
構築方法しか書かなかったためここでコードについて少し記述する。
balana Soundのコード(Github)
https://github.com/balenalabs/balena-sound/
Bluetoothについてのコードを見てみる。
https://github.com/balenalabs/balena-sound/blob/master/bluetooth-audio/Dockerfile.template
RUN install_packages
の行をみると alsa-utils
bluealsa
bluez
python-project
python-dbus
python-gpiozero
mplayer
を利用していることがわかる。
ラズパイで一般的にraspbian上でレシーバー化するにはbluezを使うのだが、balena Soundもやはりbluezを利用していた。
raspberianでコマンドをそれぞれ打ってインストールしてやるより簡単ではあるが、ほぼ環境は同じと言えよう。
次にAirplayのコードを見てみる。
https://github.com/balenalabs/balena-sound/blob/master/airplay/Dockerfile.template
これもラズパイで一般的にAirplayを利用する際に使われるshairport-sync
が使われている。
さらにSpotifyConnectのコード。
https://github.com/balenalabs/balena-sound/blob/master/spotify/Dockerfile.template
どうやら"raspotify"が使われているらしい。
raspbianでも構築可能。(もともとそっち用)
https://dtcooper.github.io/raspotify/
言わずもがなであるがraspbianで構築した方法とほぼ一緒だった。
今回は以前の投稿の詳細として追記した。raspbianでも同じような環境を作れると思うがbalenaOSでとても簡単にできることがより一層理解できたと思う。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント