RPiPlay (2)

以下のマシンにインストールしてテストしました.

  • Raspberry Pi 3 Model B (RAM 1GB), 有線LAN接続(100Mbps), 以下RPi3
  • Raspberry Pi 3 Model B+ (RAM 1GB), Wi-Fi 5GHz, RPi3+
  • Raspberry Pi 4 Model B (RAM 4GB), Wi-Fi 5GHz, RPi4

インストールはどれも問題なく終わり,ユーザーのコンソールから,

/opt/bin/rpiplay -a hdmi -n 適当な名前 -b auto -l

で走らせます.

同じ家庭内LAN内で5GHzのWi-FiにつないでいるiPhone 14から画面ミラーリングをかけます.

Raspberry Piにつなぐモニターは,1080iの地デジテレビで,Raspberry Piとつなぐと720pとなります.

どのモデルも画面ミラーリングが動きますが,RPi3とRPi3+では映像の遅延がどんどん増していき,使い物になりません.

RPi4では遅延は増しませんが,時間の進みがぎくしゃくします.コンソールからのコマンドもしばらく無反応になるなどこの固体に限ってのWi-Fi接続の問題があるのかもしれません.日常的に使うには,有線接続にしないといけないと思います.

ということで簡単なテストのまとめですが,CPUの処理能力的にRaspberry Pi 4 Model B以上でないと使い物にならないようです.

1280×720.

RPiPlay

iPhoneをいじっていて,時々大きなスクリーンで見たい,と思うことがあります.そのために,Lightning-HDMI変換アダプターも持ってますが,ごわついたHDMIケーブルでモニターをつなぐのでは,iPhoneの持ち方や起き方の自由度が減り,いいもんじゃありません.

AirPlayでMacintoshにつなげばスマートですが,画面がシェアできるのはMacbook系やiMac限定で,手持ちのMac miniではできません.

そういうことをLinuxで,あわよくばRaspberry Pi (以下RPi)でやろうとする人はいるだろうなと,検索するとありました.

インストール方法はあちこちにあるので詳しくは書きませんが,必要なライブラリーや開発環境(dev)をインストールし,RPiPlayのソースをbuildするだけです.

必要なパッケージ

cmake  libavahi-compat-libdnssd-dev  libplist-dev  libssl-dev  libgstreamer1.0-dev  libgstreamer-plugins-base1.0-dev

Buildの手順

cd  ソースをいじるディレクトリー
git clone https://github.com/FD-/RPiPlay.git
cd RPiPlay
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt ..
make -j4
sudo make install

インストール先を/optにするのは,筆者の宗教的理由からで,指定しなければ/usr/localになります.このrpiplayのbuildではrpiplayというバイナリーだけができますので,あえてmake installを実行せず,手で好きな場所にコピーしても問題なしです.

実行

はまったのは画面表示だから当然X(もしくはWayland)下で動くものだと思い込んでいれこれやってうまくいかなかったところ,そうではなくGUIを止めて動かさなければなりません.

当分GUIを使わないでもいいなら,

sudo systemctl set-default multi-user.target

としといたほうが楽です.このあとrebootするか,もしくは,

sudo systemctl stop lightdm

です

このあと,

/opt/bin/rpiplay -n 適当な名前 -b auto

とします.

戻すときは,
sudo systemctl set-default graphical.target

でrebootです.

AQUOS モバイルルーター化 (2) バッテリーの減りが速い

表題に書いたまんまなのですが,前の記事のようにAndroidのAQUOS sense4 liteをBluetooth経由のテザリングONにして,iPhone 14から繋いでPokémon GOを動かしておくとバッテリーの減りが速いです.普通にモバイルデータ通信をONにしているときの2倍くらいの速さでiPhone 14のバッテリーが減っていく感じです.

AQUOSのほうは,Pokémon GOはじめとしてアプリを動かしていないのでバッテリーの減りは大きくないです.

AQUOS モバイルルーター化

Pokémon GOのupdateで使い物にならなくなり文鎮化が危ぶまれたAQUOS sense4 liteですが,モバイルルーターとしてしばらく使用することになりました.

もともとPokémon GOをするために買ったAndroidスマホですが,そのPokémon GOで使えないのでは使い道がありません.しかし既にAndroidスマホの電話番号もいくつかのサービスに登録してしまいましたので,iPhone 14の一個持ちには戻れません.

スマホらしいサービスはすべてiPhone 14で行いさらにPokémon GOまですることによって,1か月あたり1GBに設定しているデータ通信量が今月は突破しそうです.一方のAQUOSのほうは,ほとんどデータ通信しません.そりゃそうなんですが,ここでSIMを入れ替えようかとも思いましたが,SIMを交換した直後には数百MBのデータ通信量が発生するのを経験上知っていますから,もったいないです.

そこではたと思いついたのが,AQUOS sense4 liteをモバイルルーターとして使うことです.

AQUOSのほうは,Bluetoothによるテザリングをオンにしっぱなしにして,出かける前にiPhone 14のBluetoothをオンにしてからAQUOSを接続し,モバイルデータ通信をオフにするだけなのでそんなに煩わしくないです.何ならiPhoneのほうはモバイルデータ通信を常時オフでも構わないですし.

iPhoneのほうのレスポンスは多少悪くなりますが,実用上問題はないです.

AQUOS sense4 liteのテザリングをオンにして,モバイルルーター化

LIRC再び (2)

自分の記事を元にLIRCに再挑戦のつもりが,あまりに設定などに違いがあるので,他所様の記事を参考に設定完了までこぎつけました.

しかし,その先がいかんです.参考にした記事はsystemdではない😅

まあでも,そこだけ気をつければ行けそうです.

systemctl status lircd
sudo systemctl stop   lircd
mode2 -d /dev/lirc1

で,なんかそれらしいものを受信するようになりました.

次は目的のリモコンのコードの解析です.